00001 00002 // Class SFHMarEvent 00003 // 00004 // Author : J. List 00005 // Created : 06/2005 00006 // Last update: $Date: 2005/07/28 09:14:27 $ 00007 // by: $Author: boehmej $ 00008 // Comment: Contains definition of event class 00010 00011 #ifndef __SFHMAREVENT 00012 #define __SFHMAREVENT 00013 00014 00015 class NTFloatFun; 00016 class NTBaseCut; 00017 class FloatFun; 00018 class BaseCut; 00019 00020 #include "Marana/TMarEvent.h" 00021 00022 class SFHMarEvent : public TMarEvent 00023 { 00024 public : 00025 //... which particles to define 00026 NTFloatFun& fffind_ElePho; 00027 NTFloatFun& fffind_Muon; 00028 NTFloatFun& fffind_Jet; 00029 NTFloatFun& fffind_NP; 00030 00031 // //--- pointer to Mods Particles 00032 // H1ExclHfsIterator ModsPartHFS; 00033 // 00034 // //...mods particles after calibrations 00035 // 00036 // vector<TMarBody> PartCalEm; 00037 // vector<TMarBody> PartCalMuon; 00038 // vector<TMarBody> PartCalJet; 00039 // TLorentzVector HadCalJetVec; 00040 // TLorentzVector HadCalNoJetVec; 00041 // 00042 // //...mods particles after calibrations and systematics 00043 // vector<TMarBody> PartScaled[3]; 00044 // vector<TMarBody>* PartEm; 00045 // vector<TMarBody>* PartMuon; 00046 // vector<TMarBody>* PartJet; 00047 // TLorentzVector HadNoJetVec; 00048 // TLorentzVector HadJetVec; 00049 // TLorentzVector TotalVec; 00050 // 00051 // //...List of selected particles 00052 // 00053 // TClonesArray *electron; 00054 // TClonesArray *photon; 00055 // TClonesArray *muon; 00056 // TClonesArray *jet; 00057 // TClonesArray *np; 00058 // 00059 // 00060 // //... List of generated particles 00061 // TClonesArray *GenElectron; 00062 // TClonesArray *GenPhoton; 00063 // TClonesArray *GenMuon; 00064 // TClonesArray *GenTau; 00065 // TClonesArray *GenNp; 00066 // TClonesArray *GenHfs; 00067 // TLorentzVector GenScatEle; 00068 // 00069 NTFloatFun& ffGenVtxZ; 00070 NTFloatFun& ffyhgen; 00071 NTFloatFun& ffGenRad; // flag pour les photons rad 00072 // 00073 // //... to cut MC on generated quantities 00074 // list<TMarCutMCList> genCut; 00075 // 00076 //... type of systematic to apply (see TMarSyst) 00077 NTFloatFun& ffSyst_Type; 00078 NTFloatFun& ffSyst_Num; 00079 NTFloatFun& ffSyst_Sign; 00080 // 00081 // //... class for the calibration of jets 00082 // H1JetCalibration* JetCalib; 00083 // //... class for the calibration of electrons 00084 // TMarH1ElecCalibration* ElecCalib; 00085 // H1ElecCalibration* H1ElecCalib; 00086 // 00087 // //... Type and year of data 00088 // 00089 // enum Type {Data=0, NC_Djo, NC_Rap, CC_Djo, EE_Grape, MM_Grape, 00090 // TT_Grape, EG_Wabgen, GP_Pythia, W_Epvec, QCD_Ins, Htm, Anotop, PsCC, UNKNOWN } RunType; 00091 // enum Year {Y9497 = 3, Y9899 = 4 , Y9900 = 5, Y0203 = 6, Y0304 = 7, Y05 = 8} RunYear; 00092 // 00093 // //... lumi object 00094 // TMarLumi* lumi; 00095 NTFloatFun& ffpolar; 00096 00097 //... general quantities 00098 NTFloatFun& ffVertex_x; 00099 NTFloatFun& ffVertex_y; 00100 NTFloatFun& ffVertex_z; 00101 NTFloatFun& ffEpz; //total E-Pz 00102 NTFloatFun& ffPtmiss; //total Ptmiss 00103 NTFloatFun& ffEt; 00104 00105 //... scattered electron 00106 NTFloatFun& ffIndexElScat;//scattered electron =higest Pt electron if filled from MODS 00107 NTFloatFun& ffPte; // == caracteristics of scattered electron, independant of TMARBody electronR 00108 NTFloatFun& ffEe; 00109 NTFloatFun& ffPze; 00110 NTFloatFun& ffThe; 00111 NTFloatFun& ffPhe; 00112 NTFloatFun& ffQ2e; 00113 NTFloatFun& ffye; 00114 NTFloatFun& ffxe; 00115 00116 00117 //... hfs quantities 00118 NTFloatFun& ffEtotCalo; // energy sums in LAr + Spacal 00119 00120 NTFloatFun& ffPth; // Pt of all hadronic final state 00121 NTFloatFun& ffThh; 00122 NTFloatFun& ffPhh; 00123 NTFloatFun& ffEh; 00124 NTFloatFun& ffPzh; 00125 NTFloatFun& ffQ2h; 00126 NTFloatFun& ffyh; 00127 NTFloatFun& ffxh; 00128 NTFloatFun& ffGammah; 00129 00130 //... Calorimeter quantities .... 00131 NTFloatFun& ffptIronfrac; 00132 NTFloatFun& ffEIronfrac; 00133 NTFloatFun& ffptSpacalfrac; 00134 NTFloatFun& ffESpacalfrac; 00135 00136 00137 //... Kinematic variables (recalculated from all Particles candidate on Mods) 00138 NTFloatFun& ffPtda; //da method 00139 NTFloatFun& ffQ2da; 00140 NTFloatFun& ffyda; 00141 NTFloatFun& ffxda; 00142 NTFloatFun& ffEda; 00143 00144 NTFloatFun& ffPts; //sigma method 00145 NTFloatFun& ffQ2s; 00146 NTFloatFun& ffys; 00147 NTFloatFun& ffxs; 00148 00149 NTFloatFun& ffQ2es; //electron-sigma method 00150 NTFloatFun& ffxes; 00151 NTFloatFun& ffyes; 00152 00153 00154 //... Timing variables 00155 NTFloatFun& fftCJC; // timing CJC 00156 NTFloatFun& fftLAr; // timing tLAr 00157 00158 //... Weigths to apply to events 00159 NTFloatFun& ffMCWeight; // total MC Weight 00160 NTFloatFun& ffLumiWeight; // Weight to sum MC 00161 NTFloatFun& fffTriggerWeight; // Weight from triggers 00162 NTFloatFun& fffQCDWeight; // Weight from QCD (pdf's) or LO->NLO MC reweigthing 00163 00164 //... Vap/Vp calculation 00165 NTFloatFun& ffVparl; 00166 NTFloatFun& ffVanti; 00167 00168 //... Triggers arrays 00169 00170 //... cuts for the definition of selected particles (TMarBody) 00171 //...Cuts for electron definition 00172 NTFloatFun& ffPtMinEle; 00173 NTFloatFun& ffThetaMinEle; 00174 NTFloatFun& ffThetaMaxEle; 00175 NTFloatFun& ffConeEle; 00176 00177 //...Cuts for muon definition 00178 NTFloatFun& ffPtMinMu; 00179 NTFloatFun& ffThetaMinMu; 00180 NTFloatFun& ffThetaMaxMu; 00181 NTFloatFun& ffDTrTrMinMu; 00182 00183 //...Cuts for jets definition 00184 NTFloatFun& ffPtMinJet; 00185 NTFloatFun& ffThetaMinJet; 00186 NTFloatFun& ffThetaMaxJet; 00187 NTFloatFun& ffRMinJet; 00188 NTFloatFun& ffEmFracJet; 00189 00190 //...Cuts for Neutral particle definition 00191 NTFloatFun& ffPtMinNp; 00192 NTFloatFun& ffThetaMinNp; 00193 NTFloatFun& ffThetaMaxNp; 00194 00195 // //... Rejection handler: 00196 // list<string> RejectReason; 00197 // 00198 // //... Trigger efficiencies class 00199 // TTriggerReweight* fTrigReweight; 00200 // 00201 // //... MC reweight class 00202 // TMCXSectionReweight* fMCReweight; 00203 00204 00205 // //...from Marana/TTools.h 00206 // // Is Phi Crack 00207 // NTBaseCut& bcIsPhiCrack(Float_t Phi); 00208 // NTBaseCut& bcIsLArCrack(Float_t z,Float_t phi); 00209 // NTBaseCut& bcIsLArCrack(Float_t z,Float_t zBBE,Float_t phi); 00210 // 00211 // // Is z Crack 00212 // NTBaseCut& bcIsZCrack(Float_t z); 00213 // 00214 // //--- Is timing ok 00215 // NTBaseCut& bcIsTimingOk(); 00216 // NTBaseCut& bcIs2004CalibratedTimingOK(void); 00217 // 00218 00219 // ... MY stuff 00220 FloatFun& ffNSelJets; 00221 FloatFun& ffPtSelJet1; 00222 FloatFun& ffThSelJet1; 00223 00224 BaseCut& bcTimingOK; 00225 00226 //... Standard constructor and destructor 00227 SFHMarEvent(const TRun *run); 00228 virtual ~SFHMarEvent(); 00229 00230 // ClassDef(SFHMarEvent,1) // Make class known to root 00231 00232 }; 00233 00234 #endif 00235