File indexing completed on 2024-04-06 12:32:58
0001 #ifndef ElectronConversionRejectionValidator_H
0002 #define ElectronConversionRejectionValidator_H
0003 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0004 #include "FWCore/Framework/interface/Event.h"
0005 #include "FWCore/Framework/interface/EventSetup.h"
0006 #include "FWCore/Framework/interface/ESHandle.h"
0007 #include "DataFormats/Common/interface/RefToBaseVector.h"
0008 #include "DataFormats/Common/interface/RefVector.h"
0009 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0010 #include "DataFormats/VertexReco/interface/Vertex.h"
0011 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
0012 #include "DataFormats/EgammaCandidates/interface/ConversionFwd.h"
0013
0014
0015 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0016 #include "DQMServices/Core/interface/DQMStore.h"
0017 #include "FWCore/ServiceRegistry/interface/Service.h"
0018
0019
0020 #include <map>
0021 #include <vector>
0022
0023
0024 namespace reco {
0025 class BeamSpot;
0026 }
0027 class TFile;
0028 class TH1F;
0029 class TH2F;
0030 class TProfile;
0031 class TTree;
0032 class SimVertex;
0033 class SimTrack;
0034
0035
0036
0037
0038
0039
0040
0041
0042 class ElectronConversionRejectionValidator : public DQMEDAnalyzer {
0043 public:
0044 explicit ElectronConversionRejectionValidator(const edm::ParameterSet&);
0045 ~ElectronConversionRejectionValidator() override;
0046
0047 void analyze(const edm::Event&, const edm::EventSetup&) override;
0048 void bookHistograms(DQMStore::IBooker& bei, edm::Run const&, edm::EventSetup const&) override;
0049
0050 private:
0051 std::string fName_;
0052
0053 int verbosity_;
0054 int nEvt_;
0055 int nEntry_;
0056
0057 edm::ParameterSet parameters_;
0058 std::string conversionCollectionProducer_;
0059 std::string conversionCollection_;
0060
0061 std::string gsfElectronCollectionProducer_;
0062 std::string gsfElectronCollection_;
0063
0064 std::string dqmpath_;
0065
0066 edm::EDGetTokenT<reco::GsfElectronCollection> gsfElecToken_;
0067 edm::EDGetTokenT<reco::ConversionCollection> convToken_;
0068 edm::EDGetTokenT<reco::VertexCollection> offline_pvToken_;
0069 edm::EDGetTokenT<reco::BeamSpot> beamspotToken_;
0070
0071 bool isRunCentrally_;
0072
0073 float elePtMin_;
0074 int eleExpectedHitsInnerMax_;
0075 float eleD0Max_;
0076
0077
0078 MonitorElement* h_elePtAll_;
0079 MonitorElement* h_eleEtaAll_;
0080 MonitorElement* h_elePhiAll_;
0081
0082 MonitorElement* h_elePtPass_;
0083 MonitorElement* h_eleEtaPass_;
0084 MonitorElement* h_elePhiPass_;
0085
0086 MonitorElement* h_elePtFail_;
0087 MonitorElement* h_eleEtaFail_;
0088 MonitorElement* h_elePhiFail_;
0089
0090 MonitorElement* h_elePtEff_;
0091 MonitorElement* h_eleEtaEff_;
0092 MonitorElement* h_elePhiEff_;
0093
0094 MonitorElement* h_convPt_;
0095 MonitorElement* h_convEta_;
0096 MonitorElement* h_convPhi_;
0097 MonitorElement* h_convRho_;
0098 MonitorElement* h_convZ_;
0099
0100 MonitorElement* h_convProb_;
0101
0102 MonitorElement* h_convLeadTrackpt_;
0103 MonitorElement* h_convTrailTrackpt_;
0104 MonitorElement* h_convLog10TrailTrackpt_;
0105 MonitorElement* h_convLeadTrackAlgo_;
0106 MonitorElement* h_convTrailTrackAlgo_;
0107 };
0108
0109 #endif