//================================================================== // // TConvEleCand.hh // // Version 0.0: P. Koehn 5/5/01 // Version 0.9: R. Hughes 7/23/01 // //================================================================== #if !defined (__CINT__) || defined (__MAKECINT__) #include "TH1.h" #include "TH2.h" #include "TCanvas.h" #include "TProfile.h" #include #include #include #endif class TConvEleCand: public TStnModule { //----------------------------------------------------------------------------- // data members //----------------------------------------------------------------------------- private: // Electron data members TStnElectronBlock* pEleBlock; TStnTrackBlock* pTrkBlock; int NconvElectron; int NElectronMax; TStnElectron* convElectron[20]; bool NconvElectronList[20]; const Text_t* jobName; int totEvents; int cnvEvents; double EleEtCut; double EleEPCut; double EleDelxCut; double EleDelzCut; double EleLshrCut; double EleHademCut; double EleIsolCut; double EleTisolCut; double EleChisCut; double EleDelZvrtCut; double EleZvrtCut; bool EleEtCutEnabled; bool EleEPCutEnabled; bool EleDelxCutEnabled; bool EleDelzCutEnabled; bool EleLshrCutEnabled; bool EleHademCutEnabled; bool EleIsolCutEnabled; bool EleTisolCutEnabled; bool EleChisCutEnabled; bool EleDelZvrtCutEnabled; bool EleZvrtCutEnabled; bool EleHistEnabled; public: struct Hist_t { TH1F* fDeltaLamRS; TH1F* fDeltaLamWS; TH1F* fSeparationRS; TH1F* fSeparationWS; TH1F* fRConvRS; TH1F* fRConvWS; TH2F* fYConvVsXConvRS; TH2F* fYConvVsXConvWS; TH1F* fmassRS; TH1F* fmassWS; TH2F* fEpVsTrackPt; }; // Define the histos TFile* histFile; TDirectory* dir; const char* histDir; Hist_t fHist; TH1F* EleWSEtHist; TH1F* EleWSEoverPHist; TH1F* EleWSDelxHist; TH1F* EleWSDelzHist; TH1F* EleWSLshrHist; TH1F* EleWSHademHist; TH1F* EleWSIsolHist; TH1F* EleWSTisolHist; TH1F* EleWSChisHist; TH1F* EleWSDelZvrtHist; TH1F* EleWSZvrtHist; TH1F* EleWSDetHist; TH1F* EleRSEtHist; TH1F* EleRSEoverPHist; TH1F* EleRSDelxHist; TH1F* EleRSDelzHist; TH1F* EleRSLshrHist; TH1F* EleRSHademHist; TH1F* EleRSIsolHist; TH1F* EleRSTisolHist; TH1F* EleRSChisHist; TH1F* EleRSDelZvrtHist; TH1F* EleRSZvrtHist; TH1F* EleRSDetHist; Double_t fMaxSeparation; Double_t fMaxDeltaLam; //----------------------------------------------------------------------------- // methods //----------------------------------------------------------------------------- public: TConvEleCand(const char* name="ConvEleCand", const char* title="ConvEleCand"); TConvEleCand(TFile* file, const char* name="ConvEleCand", const char* title="ConvCand"); ~TConvEleCand(); // ****** getters ****** TStnElectron* getConvElectron(int M){ return convElectron[M]; } int getNconvElectron(){ return NconvElectron; } bool IsaConvElectron(int ele){ return NconvElectronList[ele];} bool isEnableHist() { return EleHistEnabled; } // ****** setters ****** // void enableEleHist(bool enbl) {EleHistEnabled = enbl;} void SetMaxSeparation(Double_t sep ) { fMaxSeparation = sep; } void SetMaxDeltaLam (Double_t dlam) { fMaxDeltaLam = dlam; } // ****** overloaded methods of TStnModule ****** int BeginJob(); int BeginRun(); int Event (int ientry); int EndJob (); // ****** other methods ****** void init(); void BookHistograms(); void track_Prop(float radius, float curvature, float PhiZeroIn, float cotan, float D_O, float Z_0, float* xyz); float massTracks(float radius, float pt1, float phi1, float cotan1, float d1, float z1, float pt2, float phi2, float cotan2, float d2, float z2); // ClassDef(TConvEleCand,0) };