CMS 3D CMS Logo

ZToMuMuGammaAnalyzer.h
Go to the documentation of this file.
1 #ifndef ZToMuMuGammaAnalyzer_H
2 #define ZToMuMuGammaAnalyzer_H
3 
6 
11 // DataFormats
38 
43 
45 
46 // Geometry
56 
57 #include "TFile.h"
58 #include "TH1.h"
59 #include "TH2.h"
60 #include "TTree.h"
61 #include "TVector3.h"
62 #include "TProfile.h"
63 
71 
72 //DQM services
76 
77 #include <vector>
78 #include <string>
79 
91 // forward declarations
92 class TFile;
93 class TH1F;
94 class TH2F;
95 class TProfile;
96 class TTree;
97 class SimVertex;
98 class SimTrack;
99 
101 {
102  public:
103  explicit ZToMuMuGammaAnalyzer(const edm::ParameterSet&);
104  virtual ~ZToMuMuGammaAnalyzer();
105  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
106  virtual void analyze( const edm::Event&, const edm::EventSetup&) override;
107 
108  private:
120 
124  unsigned int prescaleFactor_;
125  std::stringstream currentFolder_;
126  int nEvt_;
127 
128  // muon selection
129  float muonMinPt_;
132  float muonMaxDxy_;
138  // dimuon selection
141  // photon selection
145 
146  // mu mu gamma selection
147  float nearMuonDr_;
154 
155  // Histogram parameters
156  double eMin_;
157  double eMax_;
158  int eBin_;
159 
160  double etMin_;
161  double etMax_;
162  int etBin_;
163 
164  double sumMin_;
165  double sumMax_;
166  int sumBin_;
167 
168  double etaMin_;
169  double etaMax_;
170  int etaBin_;
171 
172  double phiMin_;
173  double phiMax_;
174  int phiBin_;
175 
176  double r9Min_;
177  double r9Max_;
178  int r9Bin_;
179 
180  double hOverEMin_;
181  double hOverEMax_;
183 
184  double numberMin_;
185  double numberMax_;
187 
191 
196 
197  float mumuInvMass( const reco::Muon & m1,const reco::Muon & m2 ) ;
198  float mumuGammaInvMass(const reco::Muon & mu1,const reco::Muon & mu2, const reco::PhotonRef& pho );
199  bool basicMuonSelection ( const reco::Muon & m );
200  bool muonSelection ( const reco::Muon & m, const reco::BeamSpot& bs );
201  bool photonSelection ( const reco::PhotonRef & p );
202 
207 
212 
214 
219 
225 
231 
237 
243 
249 
253 
259 
265 
271 
277 
283 
289 
295 
299  // Information from Particle Flow
300  // Isolation
304  // Identification
321 };
322 
323 #endif
MonitorElement * h_dRPhoPFcand_Pho_unCleaned_[3]
MonitorElement * p_hOverEVsEta_[3]
MonitorElement * h_pfMva_[3]
MonitorElement * h_SumPtOverPhoPt_ChHad_unCleaned_[3]
MonitorElement * h_dRPhoPFcand_Pho_Cleaned_[3]
MonitorElement * h2_nTrackIsolSolidVsEt_[3]
MonitorElement * p_sigmaIetaIetaVsEta_[3]
MonitorElement * p_r1x5VsEta_[3]
bool muonSelection(const reco::Muon &m, const reco::BeamSpot &bs)
MonitorElement * h_phoSigmaIetaIeta_[3]
edm::EDGetTokenT< edm::SortedCollection< EcalRecHit, edm::StrictWeakOrdering< EcalRecHit > > > barrelRecHit_token_
MonitorElement * h2_r2x5VsEta_[3]
MonitorElement * h_newhOverE_[3]
edm::EDGetTokenT< reco::PFCandidateCollection > pfCandidates_
MonitorElement * h2_trackPtSumHollowVsEt_[3]
MonitorElement * h_SumPtOverPhoPt_NeuHad_unCleaned_[3]
edm::EDGetTokenT< std::vector< reco::Photon > > photon_token_
MonitorElement * p_nTrackIsolHollowVsEta_[3]
MonitorElement * h2_r9VsEt_[3]
MonitorElement * h_nCluOutsideMustache_[3]
MonitorElement * h2_ecalSumVsEt_[3]
MonitorElement * h_nTrackIsolSolid_[3]
MonitorElement * h_SumPtOverPhoPt_Pho_Cleaned_[3]
MonitorElement * h_trackPtSumHollow_[3]
MonitorElement * h2_nTrackIsolSolidVsEta_[3]
MonitorElement * p_ecalSumVsEt_[3]
MonitorElement * h_phoEta_[3]
MonitorElement * h_nPho_[3]
MonitorElement * h_chHadIso_[3]
MonitorElement * h_phoSigmaEoverE_[3]
MonitorElement * h_dRPhoPFcand_NeuHad_Cleaned_[3]
MonitorElement * h_r1x5_[3]
MonitorElement * p_phoSigmaEoverEVsNVtx_[3]
MonitorElement * h2_sigmaIetaIetaVsEta_[3]
MonitorElement * h_dRPhoPFcand_NeuHad_unCleaned_[3]
edm::EDGetTokenT< edm::SortedCollection< EcalRecHit, edm::StrictWeakOrdering< EcalRecHit > > > endcapRecHit_token_
MonitorElement * h2_hcalSumVsEt_[3]
MonitorElement * h_hcalSum_[3]
MonitorElement * h_phoPhi_[3]
MonitorElement * p_newhOverEVsEt_[3]
MonitorElement * p_trackPtSumHollowVsEt_[3]
MonitorElement * h2_ecalSumVsEta_[3]
edm::EDGetTokenT< trigger::TriggerEvent > triggerEvent_token_
MonitorElement * p_newhOverEVsEta_[3]
MonitorElement * h_hOverE_[3]
MonitorElement * h_trackPtSumSolid_[3]
MonitorElement * p_hcalSumVsEt_[3]
MonitorElement * p_e1x5VsEt_[3]
MonitorElement * h2_r2x5VsEt_[3]
MonitorElement * h_h1OverE_[3]
MonitorElement * h_SumPtOverPhoPt_ChHad_Cleaned_[3]
MonitorElement * h2_e1x5VsEta_[3]
MonitorElement * h1_mumuGammaInvMass_[3]
MonitorElement * h2_trackPtSumSolidVsEt_[3]
MonitorElement * h_phoE_[3]
MonitorElement * p_r2x5VsEta_[3]
MonitorElement * h_nRecoVtx_
std::stringstream currentFolder_
MonitorElement * p_e2x5VsEt_[3]
MonitorElement * p_hcalSumVsEta_[3]
float mumuInvMass(const reco::Muon &m1, const reco::Muon &m2)
float mumuGammaInvMass(const reco::Muon &mu1, const reco::Muon &mu2, const reco::PhotonRef &pho)
ZToMuMuGammaAnalyzer(const edm::ParameterSet &)
MonitorElement * h_phoEt_[3]
MonitorElement * p_ecalSumVsEta_[3]
MonitorElement * p_r9VsEta_[3]
MonitorElement * h_nHadIso_[3]
edm::EDGetTokenT< reco::VertexCollection > offline_pvToken_
MonitorElement * p_trackPtSumSolidVsEta_[3]
MonitorElement * h1_mumuInvMass_[3]
photon histos
MonitorElement * h2_trackPtSumSolidVsEta_[3]
MonitorElement * h2_hcalSumVsEta_[3]
MonitorElement * h_dRPhoPFcand_ChHad_unCleaned_[3]
bool photonSelection(const reco::PhotonRef &p)
MonitorElement * h_scPhi_[3]
MonitorElement * h2_e1x5VsEt_[3]
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * h_scEta_[3]
edm::EDGetTokenT< edm::ValueMap< std::vector< reco::PFCandidateRef > > > photonIsoValmap_token_
MonitorElement * h_nTrackIsolHollow_[3]
MonitorElement * p_r2x5VsEt_[3]
MonitorElement * h_SumPtOverPhoPt_Pho_unCleaned_[3]
MonitorElement * h_SumPtOverPhoPt_NeuHad_Cleaned_[3]
MonitorElement * h_etOutsideMustache_[3]
MonitorElement * h_e1x5_[3]
MonitorElement * h2_nTrackIsolHollowVsEt_[3]
MonitorElement * h2_nTrackIsolHollowVsEta_[3]
edm::EDGetTokenT< reco::BeamSpot > beamSpot_token_
MonitorElement * h2_e2x5VsEta_[3]
MonitorElement * h2_trackPtSumHollowVsEta_[3]
virtual void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * h_r9_[3]
MonitorElement * p_r1x5VsEt_[3]
MonitorElement * p_nTrackIsolHollowVsEt_[3]
MonitorElement * p_r9VsEt_[3]
bool basicMuonSelection(const reco::Muon &m)
MonitorElement * p_trackPtSumSolidVsEt_[3]
edm::EDGetTokenT< edm::ValueMap< bool > > PhotonIDTight_token_
MonitorElement * p_e2x5VsEta_[3]
MonitorElement * h_e2x5_[3]
MonitorElement * h2_r1x5VsEta_[3]
edm::EDGetTokenT< edm::ValueMap< bool > > PhotonIDLoose_token_
MonitorElement * p_trackPtSumHollowVsEta_[3]
MonitorElement * h_dRPhoPFcand_ChHad_Cleaned_[3]
MonitorElement * p_hOverEVsEt_[3]
MonitorElement * h2_r1x5VsEt_[3]
MonitorElement * p_nTrackIsolSolidVsEt_[3]
MonitorElement * p_e1x5VsEta_[3]
MonitorElement * p_nTrackIsolSolidVsEta_[3]
MonitorElement * h2_r9VsEta_[3]
Definition: Run.h:42
edm::EDGetTokenT< std::vector< reco::Muon > > muon_token_
MonitorElement * h_ecalSum_[3]
MonitorElement * h_phoIso_[3]
MonitorElement * h_h2OverE_[3]
MonitorElement * h_r2x5_[3]
MonitorElement * h2_e2x5VsEt_[3]