00001 #ifndef ParityDevCorrFctn_hh
00002 #define ParityDevCorrFctn_hh
00003
00004 #include "StHbtMaker/Infrastructure/StParityAnalysis.h"
00005 #include "StHbtMaker/Infrastructure/StParityTypes.hh"
00006 #include "StHbtMaker/Infrastructure/StHbtTagWriter.hh"
00007 #include "StHbtMaker/Base/StHbtCorrFctn.hh"
00008 #include "StHbtMaker/Cut/mikesEventCut.h"
00009
00010 class ParityDevCorrFctn : public StHbtCorrFctn {
00011 public:
00012 ParityDevCorrFctn(const ParityDevCorrFctn& );
00013 ParityDevCorrFctn();
00014 virtual ~ParityDevCorrFctn();
00015
00016 virtual StHbtString Report();
00017 virtual void AddRealPair(const StHbtPair*);
00018 virtual void AddMixedPair(const StHbtPair*);
00019
00020 void ParityCompute(ParityBuff*, ParityBuff*, int);
00021
00022 virtual void Finish();
00023 ParityDevCorrFctn* Clone();
00024
00026 StHbt1DHisto* SameKMiHistox();
00027 StHbt1DHisto* SameKMiHistoy();
00028 StHbt1DHisto* SameKMiHistoz();
00029 StHbt1DHisto* SameJcHistox();
00030 StHbt1DHisto* SameJcHistoy();
00031 StHbt1DHisto* SameJcHistoz();
00032 StHbt1DHisto* SameJcKtHisto();
00033 StHbt1DHisto* SameKtwistKtHisto();
00034
00035 StHbt1DHisto* MixedKMiHistox();
00036 StHbt1DHisto* MixedKMiHistoy();
00037 StHbt1DHisto* MixedKMiHistoz();
00038 StHbt1DHisto* MixedJcHistox();
00039 StHbt1DHisto* MixedJcHistoy();
00040 StHbt1DHisto* MixedJcHistoz();
00041 StHbt1DHisto* MixedJcKtHisto();
00042 StHbt1DHisto* MixedKtwistKtHisto();
00043
00044 StHbt1DHisto* JcKtBinomialHisto();
00045 StHbt1DHisto* NumPairsBinHisto();
00046
00047 private:
00048
00049 StHbt1DHisto* mKMiSamex;
00050 StHbt1DHisto* mKMiSamey;
00051 StHbt1DHisto* mKMiSamez;
00052 StHbt1DHisto* mJcSamex;
00053 StHbt1DHisto* mJcSamey;
00054 StHbt1DHisto* mJcSamez;
00055 StHbt1DHisto* mJcKtSame;
00056 StHbt1DHisto* mKtwistKtSame;
00057
00058 StHbt1DHisto* mKMiMixedx;
00059 StHbt1DHisto* mKMiMixedy;
00060 StHbt1DHisto* mKMiMixedz;
00061 StHbt1DHisto* mJcMixedx;
00062 StHbt1DHisto* mJcMixedy;
00063 StHbt1DHisto* mJcMixedz;
00064 StHbt1DHisto* mJcKtMixed;
00065 StHbt1DHisto* mKtwistKtMixed;
00066
00067 StHbt1DHisto* mJcKtBinomial;
00068 StHbt1DHisto* mNumPairsBin;
00069
00070 StHbtTagWriter* mTagWriter;
00071
00072 #ifdef __ROOT__
00073 ClassDef(ParityDevCorrFctn, 1)
00074 #endif
00075 };
00076
00077
00078
00079 inline StHbt1DHisto* ParityDevCorrFctn::SameKMiHistox(){return mKMiSamex;}
00080 inline StHbt1DHisto* ParityDevCorrFctn::SameKMiHistoy(){return mKMiSamey;}
00081 inline StHbt1DHisto* ParityDevCorrFctn::SameKMiHistoz(){return mKMiSamez;}
00082 inline StHbt1DHisto* ParityDevCorrFctn::SameJcHistox(){return mJcSamex;}
00083 inline StHbt1DHisto* ParityDevCorrFctn::SameJcHistoy(){return mJcSamey;}
00084 inline StHbt1DHisto* ParityDevCorrFctn::SameJcHistoz(){return mJcSamez;}
00085 inline StHbt1DHisto* ParityDevCorrFctn::SameJcKtHisto(){return mJcKtSame;}
00086 inline StHbt1DHisto* ParityDevCorrFctn::SameKtwistKtHisto(){return mKtwistKtSame;}
00087
00088 inline StHbt1DHisto* ParityDevCorrFctn::MixedKMiHistox(){return mKMiMixedx;}
00089 inline StHbt1DHisto* ParityDevCorrFctn::MixedKMiHistoy(){return mKMiMixedy;}
00090 inline StHbt1DHisto* ParityDevCorrFctn::MixedKMiHistoz(){return mKMiMixedz;}
00091 inline StHbt1DHisto* ParityDevCorrFctn::MixedJcHistox(){return mJcMixedx;}
00092 inline StHbt1DHisto* ParityDevCorrFctn::MixedJcHistoy(){return mJcMixedy;}
00093 inline StHbt1DHisto* ParityDevCorrFctn::MixedJcHistoz(){return mJcMixedz;}
00094 inline StHbt1DHisto* ParityDevCorrFctn::MixedJcKtHisto(){return mJcKtMixed;}
00095 inline StHbt1DHisto* ParityDevCorrFctn::MixedKtwistKtHisto(){return mKtwistKtMixed;}
00096
00097 inline StHbt1DHisto* ParityDevCorrFctn::JcKtBinomialHisto(){return mJcKtBinomial;}
00098 inline StHbt1DHisto* ParityDevCorrFctn::NumPairsBinHisto(){return mNumPairsBin;}
00099
00100
00101 inline ParityDevCorrFctn* ParityDevCorrFctn::Clone() { ParityDevCorrFctn* c = new ParityDevCorrFctn(*this); return c;}
00102 inline ParityDevCorrFctn::ParityDevCorrFctn(const ParityDevCorrFctn& fctn) :StHbtCorrFctn() {
00103 mTagWriter = StHbtTagWriter::Instance();
00104 }
00105
00106 #endif
00107