Go to the documentation of this file.00001
00002 #ifndef Validation_RecoEgamma_ElectronMcFakeValidator_h
00003 #define Validation_RecoEgamma_ElectronMcFakeValidator_h
00004
00005 #include "Validation/RecoEgamma/interface/ElectronValidator.h"
00006
00007 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateTransform.h"
00008 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00009 class MagneticField;
00010
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/ESHandle.h"
00013 #include "FWCore/Framework/interface/EventSetup.h"
00014
00015 class ElectronMcFakeValidator : public ElectronValidator
00016 {
00017 public:
00018
00019 explicit ElectronMcFakeValidator( const edm::ParameterSet & conf ) ;
00020 virtual ~ElectronMcFakeValidator() ;
00021
00022 virtual void beginJob() ;
00023 virtual void endJob() ;
00024 virtual void analyze( const edm::Event& e, const edm::EventSetup & c ) ;
00025
00026 private:
00027
00028 edm::InputTag electronCollection_;
00029 edm::InputTag electronCoreCollection_;
00030 edm::InputTag electronTrackCollection_;
00031 edm::InputTag electronSeedCollection_;
00032 edm::InputTag matchingObjectCollection_;
00033 edm::InputTag beamSpotTag_;
00034 bool readAOD_;
00035 std::string outputFile_ ;
00036
00037 TrajectoryStateTransform transformer_ ;
00038 edm::ESHandle<TrackerGeometry> pDD ;
00039 edm::ESHandle<MagneticField> theMagField ;
00040
00041 float mcEnergy[10], mcEta[10], mcPhi[10], mcPt[10], mcQ[10] ;
00042 float superclusterEnergy[10], superclusterEta[10], superclusterPhi[10], superclusterEt[10] ;
00043 float seedMomentum[10], seedEta[10], seedPhi[10], seedPt[10], seedQ[10] ;
00044
00045 double maxPt_;
00046 double maxAbsEta_;
00047 double deltaR_;
00048
00049
00050
00051 int xyz_nbin ;
00052 int p_nbin ; int p2D_nbin ; double p_max ;
00053 int pt_nbin ; int pt2D_nbin ; int pteff_nbin ; double pt_max ;
00054 int fhits_nbin ; double fhits_max ;
00055 int lhits_nbin ; double lhits_max ;
00056 int eta_nbin ; int eta2D_nbin ; double eta_min ; double eta_max ;
00057 int deta_nbin ; double deta_min ; double deta_max ;
00058 int detamatch_nbin ; int detamatch2D_nbin ; double detamatch_min ; double detamatch_max ;
00059 int phi_nbin ; int phi2D_nbin ; double phi_min ; double phi_max ;
00060 int dphi_nbin ; double dphi_min ; double dphi_max ;
00061 int dphimatch_nbin ; int dphimatch2D_nbin ; double dphimatch_min ; double dphimatch_max ;
00062 int eop_nbin ; int eop2D_nbin ; double eop_max ; double eopmaxsht ;
00063 int mee_nbin ; double mee_min ; double mee_max ;
00064 int hoe_nbin ; double hoe_min ; double hoe_max ;
00065 int popmatching_nbin ; double popmatching_min ; double popmatching_max ;
00066
00067
00068
00069 MonitorElement *h1_matchingObjectNum ;
00070 MonitorElement *h1_recEleNum_ ;
00071 MonitorElement *h1_recCoreNum_ ;
00072 MonitorElement *h1_recTrackNum_ ;
00073 MonitorElement *h1_recSeedNum_ ;
00074
00075 MonitorElement *h1_matchingObjectEta;
00076 MonitorElement *h1_matchingObjectAbsEta;
00077 MonitorElement *h1_matchingObjectP;
00078 MonitorElement *h1_matchingObjectPt;
00079 MonitorElement *h1_matchingObjectPhi;
00080 MonitorElement *h1_matchingObjectZ;
00081
00082 MonitorElement *h1_ele_EoverP_all;
00083 MonitorElement *h1_ele_EseedOP_all;
00084 MonitorElement *h1_ele_EoPout_all;
00085 MonitorElement *h1_ele_EeleOPout_all;
00086 MonitorElement *h1_ele_dEtaSc_propVtx_all;
00087 MonitorElement *h1_ele_dPhiSc_propVtx_all;
00088 MonitorElement *h1_ele_dEtaCl_propOut_all;
00089 MonitorElement *h1_ele_dPhiCl_propOut_all;
00090 MonitorElement *h1_ele_TIP_all;
00091 MonitorElement *h1_ele_HoE_all;
00092 MonitorElement *h1_ele_vertexEta_all;
00093 MonitorElement *h1_ele_vertexPt_all;
00094 MonitorElement *h1_ele_mee_all;
00095 MonitorElement *h1_ele_mee_os;
00096
00097 MonitorElement *h2_ele_E2mnE1vsMee_all;
00098 MonitorElement *h2_ele_E2mnE1vsMee_egeg_all;
00099
00100 MonitorElement *h1_ele_matchingObjectEta_matched;
00101 MonitorElement *h1_ele_matchingObjectAbsEta_matched;
00102 MonitorElement *h1_ele_matchingObjectPt_matched;
00103 MonitorElement *h1_ele_matchingObjectPhi_matched;
00104 MonitorElement *h1_ele_matchingObjectZ_matched;
00105
00106 MonitorElement *h1_ele_charge;
00107 MonitorElement *h2_ele_chargeVsEta;
00108 MonitorElement *h2_ele_chargeVsPhi;
00109 MonitorElement *h2_ele_chargeVsPt;
00110 MonitorElement *h1_ele_vertexP;
00111 MonitorElement *h1_ele_vertexPt;
00112 MonitorElement *h2_ele_vertexPtVsEta;
00113 MonitorElement *h2_ele_vertexPtVsPhi;
00114 MonitorElement *h1_ele_vertexEta;
00115 MonitorElement *h2_ele_vertexEtaVsPhi;
00116 MonitorElement *h1_ele_vertexAbsEta;
00117 MonitorElement *h1_ele_vertexPhi;
00118 MonitorElement *h1_ele_vertexX;
00119 MonitorElement *h1_ele_vertexY;
00120 MonitorElement *h1_ele_vertexZ;
00121 MonitorElement *h1_ele_vertexTIP;
00122 MonitorElement *h2_ele_vertexTIPVsEta;
00123 MonitorElement *h2_ele_vertexTIPVsPhi;
00124 MonitorElement *h2_ele_vertexTIPVsPt;
00125
00126 MonitorElement *h1_ele_PoPmatchingObject;
00127 MonitorElement *h2_ele_PoPmatchingObjectVsEta;
00128 MonitorElement *h2_ele_PoPmatchingObjectVsPhi;
00129 MonitorElement *h2_ele_PoPmatchingObjectVsPt;
00130 MonitorElement *h1_ele_PoPmatchingObject_barrel;
00131 MonitorElement *h1_ele_PoPmatchingObject_endcaps;
00132
00133 MonitorElement *h1_ele_EtaMnEtamatchingObject;
00134 MonitorElement *h2_ele_EtaMnEtamatchingObjectVsEta;
00135 MonitorElement *h2_ele_EtaMnEtamatchingObjectVsPhi;
00136 MonitorElement *h2_ele_EtaMnEtamatchingObjectVsPt;
00137 MonitorElement *h1_ele_PhiMnPhimatchingObject;
00138 MonitorElement *h1_ele_PhiMnPhimatchingObject2;
00139 MonitorElement *h2_ele_PhiMnPhimatchingObjectVsEta;
00140 MonitorElement *h2_ele_PhiMnPhimatchingObjectVsPhi;
00141 MonitorElement *h2_ele_PhiMnPhimatchingObjectVsPt;
00142
00143 MonitorElement *h1_scl_En_ ;
00144 MonitorElement *h1_scl_EoEmatchingObject_barrel;
00145 MonitorElement *h1_scl_EoEmatchingObject_endcaps;
00146 MonitorElement *h1_scl_Et_ ;
00147 MonitorElement *h2_scl_EtVsEta_ ;
00148 MonitorElement *h2_scl_EtVsPhi_ ;
00149 MonitorElement *h2_scl_EtaVsPhi_ ;
00150 MonitorElement *h1_scl_Eta_ ;
00151 MonitorElement *h1_scl_Phi_ ;
00152
00153
00154
00155
00156 MonitorElement *h1_scl_SigIEtaIEta_ ;
00157 MonitorElement *h1_scl_SigIEtaIEta_barrel_ ;
00158 MonitorElement *h1_scl_SigIEtaIEta_endcaps_ ;
00159 MonitorElement *h1_scl_E1x5_ ;
00160 MonitorElement *h1_scl_E1x5_barrel_ ;
00161 MonitorElement *h1_scl_E1x5_endcaps_ ;
00162 MonitorElement *h1_scl_E2x5max_ ;
00163 MonitorElement *h1_scl_E2x5max_barrel_ ;
00164 MonitorElement *h1_scl_E2x5max_endcaps_ ;
00165 MonitorElement *h1_scl_E5x5_ ;
00166 MonitorElement *h1_scl_E5x5_barrel_ ;
00167 MonitorElement *h1_scl_E5x5_endcaps_ ;
00168
00169 MonitorElement *h1_ele_ambiguousTracks;
00170 MonitorElement *h2_ele_ambiguousTracksVsEta;
00171 MonitorElement *h2_ele_ambiguousTracksVsPhi;
00172 MonitorElement *h2_ele_ambiguousTracksVsPt;
00173 MonitorElement *h1_ele_foundHits;
00174 MonitorElement *h1_ele_foundHits_barrel;
00175 MonitorElement *h1_ele_foundHits_endcaps;
00176 MonitorElement *h2_ele_foundHitsVsEta;
00177 MonitorElement *h2_ele_foundHitsVsPhi;
00178 MonitorElement *h2_ele_foundHitsVsPt;
00179 MonitorElement *h1_ele_lostHits;
00180 MonitorElement *h1_ele_lostHits_barrel;
00181 MonitorElement *h1_ele_lostHits_endcaps;
00182 MonitorElement *h2_ele_lostHitsVsEta;
00183 MonitorElement *h2_ele_lostHitsVsPhi;
00184 MonitorElement *h2_ele_lostHitsVsPt;
00185 MonitorElement *h1_ele_chi2;
00186 MonitorElement *h1_ele_chi2_barrel;
00187 MonitorElement *h1_ele_chi2_endcaps;
00188 MonitorElement *h2_ele_chi2VsEta;
00189 MonitorElement *h2_ele_chi2VsPhi;
00190 MonitorElement *h2_ele_chi2VsPt;
00191
00192 MonitorElement *h1_ele_PinMnPout;
00193 MonitorElement *h1_ele_PinMnPout_mode;
00194 MonitorElement *h2_ele_PinMnPoutVsEta_mode;
00195 MonitorElement *h2_ele_PinMnPoutVsPhi_mode;
00196 MonitorElement *h2_ele_PinMnPoutVsPt_mode;
00197 MonitorElement *h2_ele_PinMnPoutVsE_mode;
00198 MonitorElement *h2_ele_PinMnPoutVsChi2_mode;
00199
00200 MonitorElement *h1_ele_outerP;
00201 MonitorElement *h1_ele_outerP_mode;
00202 MonitorElement *h2_ele_outerPVsEta_mode;
00203 MonitorElement *h1_ele_outerPt;
00204 MonitorElement *h1_ele_outerPt_mode;
00205 MonitorElement *h2_ele_outerPtVsEta_mode;
00206 MonitorElement *h2_ele_outerPtVsPhi_mode;
00207 MonitorElement *h2_ele_outerPtVsPt_mode;
00208 MonitorElement *h1_ele_EoP;
00209 MonitorElement *h1_ele_EoP_barrel;
00210 MonitorElement *h1_ele_EoP_endcaps;
00211 MonitorElement *h1_ele_EoP_eg;
00212 MonitorElement *h1_ele_EoP_eg_barrel;
00213 MonitorElement *h1_ele_EoP_eg_endcaps;
00214 MonitorElement *h2_ele_EoPVsEta;
00215 MonitorElement *h2_ele_EoPVsPhi;
00216 MonitorElement *h2_ele_EoPVsE;
00217 MonitorElement *h1_ele_EseedOP;
00218 MonitorElement *h1_ele_EseedOP_barrel;
00219 MonitorElement *h1_ele_EseedOP_endcaps;
00220 MonitorElement *h1_ele_EseedOP_eg;
00221 MonitorElement *h1_ele_EseedOP_eg_barrel;
00222 MonitorElement *h1_ele_EseedOP_eg_endcaps;
00223 MonitorElement *h2_ele_EseedOPVsEta;
00224 MonitorElement *h2_ele_EseedOPVsPhi;
00225 MonitorElement *h2_ele_EseedOPVsE;
00226 MonitorElement *h1_ele_EoPout;
00227 MonitorElement *h1_ele_EoPout_barrel;
00228 MonitorElement *h1_ele_EoPout_endcaps;
00229 MonitorElement *h1_ele_EoPout_eg;
00230 MonitorElement *h1_ele_EoPout_eg_barrel;
00231 MonitorElement *h1_ele_EoPout_eg_endcaps;
00232 MonitorElement *h2_ele_EoPoutVsEta;
00233 MonitorElement *h2_ele_EoPoutVsPhi;
00234 MonitorElement *h2_ele_EoPoutVsE;
00235 MonitorElement *h1_ele_EeleOPout;
00236 MonitorElement *h1_ele_EeleOPout_barrel;
00237 MonitorElement *h1_ele_EeleOPout_endcaps;
00238 MonitorElement *h1_ele_EeleOPout_eg;
00239 MonitorElement *h1_ele_EeleOPout_eg_barrel;
00240 MonitorElement *h1_ele_EeleOPout_eg_endcaps;
00241 MonitorElement *h2_ele_EeleOPoutVsEta;
00242 MonitorElement *h2_ele_EeleOPoutVsPhi;
00243 MonitorElement *h2_ele_EeleOPoutVsE;
00244
00245 MonitorElement *h1_ele_dEtaSc_propVtx;
00246 MonitorElement *h1_ele_dEtaSc_propVtx_barrel;
00247 MonitorElement *h1_ele_dEtaSc_propVtx_endcaps;
00248 MonitorElement *h1_ele_dEtaSc_propVtx_eg;
00249 MonitorElement *h1_ele_dEtaSc_propVtx_eg_barrel;
00250 MonitorElement *h1_ele_dEtaSc_propVtx_eg_endcaps;
00251 MonitorElement *h2_ele_dEtaScVsEta_propVtx;
00252 MonitorElement *h2_ele_dEtaScVsPhi_propVtx;
00253 MonitorElement *h2_ele_dEtaScVsPt_propVtx;
00254 MonitorElement *h1_ele_dPhiSc_propVtx;
00255 MonitorElement *h1_ele_dPhiSc_propVtx_barrel;
00256 MonitorElement *h1_ele_dPhiSc_propVtx_endcaps;
00257 MonitorElement *h1_ele_dPhiSc_propVtx_eg;
00258 MonitorElement *h1_ele_dPhiSc_propVtx_eg_barrel;
00259 MonitorElement *h1_ele_dPhiSc_propVtx_eg_endcaps;
00260 MonitorElement *h2_ele_dPhiScVsEta_propVtx;
00261 MonitorElement *h2_ele_dPhiScVsPhi_propVtx;
00262 MonitorElement *h2_ele_dPhiScVsPt_propVtx;
00263 MonitorElement *h1_ele_dEtaCl_propOut;
00264 MonitorElement *h1_ele_dEtaCl_propOut_barrel;
00265 MonitorElement *h1_ele_dEtaCl_propOut_endcaps;
00266 MonitorElement *h1_ele_dEtaCl_propOut_eg;
00267 MonitorElement *h1_ele_dEtaCl_propOut_eg_barrel;
00268 MonitorElement *h1_ele_dEtaCl_propOut_eg_endcaps;
00269 MonitorElement *h2_ele_dEtaClVsEta_propOut;
00270 MonitorElement *h2_ele_dEtaClVsPhi_propOut;
00271 MonitorElement *h2_ele_dEtaClVsPt_propOut;
00272 MonitorElement *h1_ele_dPhiCl_propOut;
00273 MonitorElement *h1_ele_dPhiCl_propOut_barrel;
00274 MonitorElement *h1_ele_dPhiCl_propOut_endcaps;
00275 MonitorElement *h1_ele_dPhiCl_propOut_eg;
00276 MonitorElement *h1_ele_dPhiCl_propOut_eg_barrel;
00277 MonitorElement *h1_ele_dPhiCl_propOut_eg_endcaps;
00278 MonitorElement *h2_ele_dPhiClVsEta_propOut;
00279 MonitorElement *h2_ele_dPhiClVsPhi_propOut;
00280 MonitorElement *h2_ele_dPhiClVsPt_propOut;
00281 MonitorElement *h1_ele_dEtaEleCl_propOut;
00282 MonitorElement *h1_ele_dEtaEleCl_propOut_barrel;
00283 MonitorElement *h1_ele_dEtaEleCl_propOut_endcaps;
00284 MonitorElement *h1_ele_dEtaEleCl_propOut_eg;
00285 MonitorElement *h1_ele_dEtaEleCl_propOut_eg_barrel;
00286 MonitorElement *h1_ele_dEtaEleCl_propOut_eg_endcaps;
00287 MonitorElement *h2_ele_dEtaEleClVsEta_propOut;
00288 MonitorElement *h2_ele_dEtaEleClVsPhi_propOut;
00289 MonitorElement *h2_ele_dEtaEleClVsPt_propOut;
00290 MonitorElement *h1_ele_dPhiEleCl_propOut;
00291 MonitorElement *h1_ele_dPhiEleCl_propOut_barrel;
00292 MonitorElement *h1_ele_dPhiEleCl_propOut_endcaps;
00293 MonitorElement *h1_ele_dPhiEleCl_propOut_eg;
00294 MonitorElement *h1_ele_dPhiEleCl_propOut_eg_barrel;
00295 MonitorElement *h1_ele_dPhiEleCl_propOut_eg_endcaps;
00296 MonitorElement *h2_ele_dPhiEleClVsEta_propOut;
00297 MonitorElement *h2_ele_dPhiEleClVsPhi_propOut;
00298 MonitorElement *h2_ele_dPhiEleClVsPt_propOut;
00299
00300 MonitorElement *h1_ele_seed_subdet2_;
00301 MonitorElement *h1_ele_seed_mask_;
00302 MonitorElement *h1_ele_seed_mask_bpix_;
00303 MonitorElement *h1_ele_seed_mask_fpix_;
00304 MonitorElement *h1_ele_seed_mask_tec_;
00305 MonitorElement *h1_ele_seed_dphi2_;
00306 MonitorElement *h2_ele_seed_dphi2VsEta_;
00307 MonitorElement *h2_ele_seed_dphi2VsPt_ ;
00308 MonitorElement *h1_ele_seed_dphi2pos_;
00309 MonitorElement *h2_ele_seed_dphi2posVsEta_;
00310 MonitorElement *h2_ele_seed_dphi2posVsPt_ ;
00311 MonitorElement *h1_ele_seed_drz2_;
00312 MonitorElement *h2_ele_seed_drz2VsEta_;
00313 MonitorElement *h2_ele_seed_drz2VsPt_;
00314 MonitorElement *h1_ele_seed_drz2pos_;
00315 MonitorElement *h2_ele_seed_drz2posVsEta_;
00316 MonitorElement *h2_ele_seed_drz2posVsPt_;
00317
00318 MonitorElement *h1_ele_classes;
00319 MonitorElement *h1_ele_eta;
00320 MonitorElement *h1_ele_eta_golden;
00321 MonitorElement *h1_ele_eta_bbrem;
00322 MonitorElement *h1_ele_eta_narrow;
00323 MonitorElement *h1_ele_eta_shower;
00324
00325 MonitorElement *h1_ele_HoE;
00326 MonitorElement *h1_ele_HoE_barrel;
00327 MonitorElement *h1_ele_HoE_endcaps;
00328 MonitorElement *h1_ele_HoE_eg;
00329 MonitorElement *h1_ele_HoE_eg_barrel;
00330 MonitorElement *h1_ele_HoE_eg_endcaps;
00331 MonitorElement *h1_ele_HoE_fiducial;
00332 MonitorElement *h2_ele_HoEVsEta;
00333 MonitorElement *h2_ele_HoEVsPhi;
00334 MonitorElement *h2_ele_HoEVsE;
00335
00336 MonitorElement *h1_ele_fbrem;
00337 MonitorElement *p1_ele_fbremVsEta_mode;
00338 MonitorElement *p1_ele_fbremVsEta_mean;
00339
00340 MonitorElement *h2_ele_PinVsPoutGolden_mode;
00341 MonitorElement *h2_ele_PinVsPoutShowering_mode;
00342 MonitorElement *h2_ele_PinVsPoutGolden_mean;
00343 MonitorElement *h2_ele_PinVsPoutShowering_mean;
00344 MonitorElement *h2_ele_PtinVsPtoutGolden_mode;
00345 MonitorElement *h2_ele_PtinVsPtoutShowering_mode;
00346 MonitorElement *h2_ele_PtinVsPtoutGolden_mean;
00347 MonitorElement *h2_ele_PtinVsPtoutShowering_mean;
00348 MonitorElement *h1_scl_EoEmatchingObjectGolden_barrel;
00349 MonitorElement *h1_scl_EoEmatchingObjectGolden_endcaps;
00350 MonitorElement *h1_scl_EoEmatchingObjectShowering_barrel;
00351 MonitorElement *h1_scl_EoEmatchingObjectShowering_endcaps;
00352
00353 MonitorElement *h1_ele_mva;
00354 MonitorElement *h1_ele_provenance;
00355
00356 MonitorElement *h1_ele_tkSumPt_dr03;
00357 MonitorElement *h1_ele_ecalRecHitSumEt_dr03;
00358 MonitorElement *h1_ele_hcalTowerSumEt_dr03_depth1;
00359 MonitorElement *h1_ele_hcalTowerSumEt_dr03_depth2;
00360 MonitorElement *h1_ele_tkSumPt_dr04;
00361 MonitorElement *h1_ele_ecalRecHitSumEt_dr04;
00362 MonitorElement *h1_ele_hcalTowerSumEt_dr04_depth1;
00363 MonitorElement *h1_ele_hcalTowerSumEt_dr04_depth2;
00364
00365 MonitorElement *h1_ele_convFlags;
00366 MonitorElement *h1_ele_convFlags_all;
00367 MonitorElement *h1_ele_convDist;
00368 MonitorElement *h1_ele_convDist_all;
00369 MonitorElement *h1_ele_convDcot;
00370 MonitorElement *h1_ele_convDcot_all;
00371 MonitorElement *h1_ele_convRadius;
00372 MonitorElement *h1_ele_convRadius_all;
00373
00374 } ;
00375
00376 #endif
00377
00378
00379