Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-08-21 04:46:54

0001 #ifndef Validation_RecoEgamma_ElectronMcSignalValidatorMiniAOD_h
0002 #define Validation_RecoEgamma_ElectronMcSignalValidatorMiniAOD_h
0003 
0004 #include "DQMOffline/EGamma/interface/ElectronDqmAnalyzerBase.h"
0005 
0006 // user include files
0007 #include "FWCore/Framework/interface/Event.h"
0008 
0009 #include "DataFormats/PatCandidates/interface/Electron.h"
0010 
0011 // user include files
0012 
0013 //
0014 // class declaration
0015 //
0016 class ElectronMcSignalValidatorMiniAOD : public ElectronDqmAnalyzerBase {
0017 public:
0018   explicit ElectronMcSignalValidatorMiniAOD(const edm::ParameterSet &);
0019   ~ElectronMcSignalValidatorMiniAOD() override;
0020   bool isAncestor(const reco::Candidate *ancestor, const reco::Candidate *particle);
0021 
0022 private:
0023   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0024   void analyze(const edm::Event &, const edm::EventSetup &) override;
0025 
0026   // ----------member data ---------------------------
0027   edm::EDGetTokenT<edm::View<reco::GenParticle> > mcTruthCollection_;  // prunedGenParticles
0028   edm::EDGetTokenT<pat::ElectronCollection> electronToken_;            // slimmedElectrons
0029   edm::EDGetTokenT<pat::ElectronCollection> electronTokenEndcaps_;     // slimmedElectrons
0030 
0031   edm::EDGetTokenT<edm::ValueMap<float> > pfSumChargedHadronPtTmp_;
0032   edm::EDGetTokenT<edm::ValueMap<float> > pfSumNeutralHadronEtTmp_;
0033   edm::EDGetTokenT<edm::ValueMap<float> > pfSumPhotonEtTmp_;
0034   float pt_;
0035 
0036   double maxPt_;
0037   double maxAbsEta_;
0038   double deltaR_, deltaR2_;
0039   std::vector<int> matchingIDs_;
0040   std::vector<int> matchingMotherIDs_;
0041   std::string outputInternalPath_;
0042 
0043   // histos limits and binning
0044 
0045   int xyz_nbin;
0046   int pt_nbin;
0047   int pt2D_nbin;
0048   int pteff_nbin;
0049   double pt_max;
0050   int fhits_nbin;
0051   double fhits_max;
0052   int eta_nbin;
0053   int eta2D_nbin;
0054   double eta_min;
0055   double eta_max;
0056   int deta_nbin;
0057   double deta_min;
0058   double deta_max;
0059   int detamatch_nbin;
0060   int detamatch2D_nbin;
0061   double detamatch_min;
0062   double detamatch_max;
0063   int phi_nbin;
0064   int phi2D_nbin;
0065   double phi_min;
0066   double phi_max;
0067   int dphi_nbin;
0068   double dphi_min;
0069   double dphi_max;
0070   int dphimatch_nbin;
0071   int dphimatch2D_nbin;
0072   double dphimatch_min;
0073   double dphimatch_max;
0074   int mee_nbin;
0075   double mee_min;
0076   double mee_max;
0077   int hoe_nbin;
0078   double hoe_min;
0079   double hoe_max;
0080   int poptrue_nbin;
0081   double poptrue_min;
0082   double poptrue_max;
0083   bool set_EfficiencyFlag;
0084   bool set_StatOverflowFlag;
0085   int ele_nbin;
0086   double ele_min;
0087   double ele_max;
0088 
0089   // histos
0090 
0091   MonitorElement *h1_recEleNum;
0092 
0093   MonitorElement *h1_ele_vertexPt;
0094   MonitorElement *h1_ele_vertexPt_EB;
0095   MonitorElement *h1_ele_vertexPt_EE;
0096   MonitorElement *h1_ele_vertexEta;
0097   MonitorElement *h1_ele_vertexPt_nocut;
0098 
0099   MonitorElement *h1_scl_SigIEtaIEta_mAOD;
0100   MonitorElement *h1_scl_SigIEtaIEta_mAOD_barrel;
0101   MonitorElement *h1_scl_SigIEtaIEta_mAOD_endcaps;
0102 
0103   MonitorElement *h2_ele_foundHitsVsEta;
0104   MonitorElement *h2_ele_foundHitsVsEta_mAOD;
0105 
0106   MonitorElement *h2_ele_PoPtrueVsEta;
0107   MonitorElement *h2_ele_sigmaIetaIetaVsPt;
0108 
0109   MonitorElement *h1_ele_HoE_mAOD;
0110   MonitorElement *h1_ele_HoE_mAOD_barrel;
0111   MonitorElement *h1_ele_HoE_mAOD_endcaps;
0112   MonitorElement *h1_ele_mee_all;
0113   MonitorElement *h1_ele_mee_os;
0114 
0115   MonitorElement *h1_ele_dEtaSc_propVtx_mAOD;
0116   MonitorElement *h1_ele_dEtaSc_propVtx_mAOD_barrel;
0117   MonitorElement *h1_ele_dEtaSc_propVtx_mAOD_endcaps;
0118   MonitorElement *h1_ele_dPhiCl_propOut_mAOD;
0119   MonitorElement *h1_ele_dPhiCl_propOut_mAOD_barrel;
0120   MonitorElement *h1_ele_dPhiCl_propOut_mAOD_endcaps;
0121 
0122   MonitorElement *h1_ele_fbrem_mAOD;
0123   MonitorElement *h1_ele_fbrem_mAOD_barrel;
0124   MonitorElement *h1_ele_fbrem_mAOD_endcaps;
0125 
0126   // -- pflow over pT
0127   MonitorElement *h1_ele_chargedHadronRelativeIso_mAOD;
0128   MonitorElement *h1_ele_chargedHadronRelativeIso_mAOD_barrel;
0129   MonitorElement *h1_ele_chargedHadronRelativeIso_mAOD_endcaps;
0130   MonitorElement *h1_ele_neutralHadronRelativeIso_mAOD;
0131   MonitorElement *h1_ele_neutralHadronRelativeIso_mAOD_barrel;
0132   MonitorElement *h1_ele_neutralHadronRelativeIso_mAOD_endcaps;
0133   MonitorElement *h1_ele_photonRelativeIso_mAOD;
0134   MonitorElement *h1_ele_photonRelativeIso_mAOD_barrel;
0135   MonitorElement *h1_ele_photonRelativeIso_mAOD_endcaps;
0136 };
0137 
0138 #endif