#if !defined (__CINT__) || defined (__MAKECINT__) #include "TNamed.h" #include "Stntuple/photon/TWireChecker.hh" #include "HighLevelObjects/PhotonBackgroundComputer.hh" #endif class TStnPhoton; class TStnEvent; class TH1F; class TCesCprBase : public TNamed { public: TCesCprBase(); ~TCesCprBase(); virtual void Print(); virtual void Clear(); Int_t NEvent() { return fNEvent;} Int_t NCut() { return fNCut;} Int_t NUsed() { return fNUsed;} Int_t OkForCes(TStnPhoton* pho); Float_t CesWeight(TStnPhoton* pho, Float_t& probSignal, Float_t& probBg); Int_t OkForCpr(TStnPhoton* pho); Float_t CprWeight(TStnPhoton* pho, Float_t& probSignal, Float_t& probBg); Float_t CprWeight2a(TStnPhoton* pho, Float_t& probSignal, Float_t& probBg); Float_t CprWeight2b(TStnPhoton* pho, Float_t& probSignal, Float_t& probBg); void SetCesCprCutoff(Float_t et) {fCutoff = et;} Float_t CesCprCutoff() {return fCutoff;} void SetEvent(TStnEvent* event); void SetPrintLevel(Int_t i) { fPrintLevel = i;} // void MakeHistos(char* histTag); // Modified CES and CPR(CP2) weights for each photon, // due to 8 different systematic sources. //!! Note these are NOT systematic uncertainties !!! // Use CesSys() and CprSys() if you want to check CES and CPR weights // for all Et. // Use CesCprSys() if you want to use CES and CPR weights as prescribed: // Et 5-35 GeV: CES, Et > 35 GeV: CPR. // In order to get systematic uncertainties, you need to sum up each // modified weights. Then, at the end of your jobs, take the difference // between the central value and the modified value. // For CesSys(7), CprSys(7), and CesCprSys(7), you need to take 50% of // the difference. // Finally, you take the quadrature sum of these 8 systematic uncertainties // to get a full systematic uncertainty. double CesSys(int i){return fCesSys[i];} double CprSys(int i){return fCprSys[i];} double CesCprSys(int i){return fCesCprSys[i];} double EffNPho(){return fEffNPho;} protected: Int_t fNEvent; Int_t fNCut; Int_t fNUsed; Float_t fCutoff; TWireChecker fChecker; PhotonBackgroundComputer fBgComp; TStnEvent* fEvent; //! Int_t fNVz; Int_t fRun; Int_t fEvt; Bool_t fQMc; Int_t fPrintLevel; double fCprSys[8]; double fCesSys[8]; double fCesCprSys[8]; double fEffNPho; ClassDef(TCesCprBase,1) };