CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ZToMuMuGammaAnalyzer.h
Go to the documentation of this file.
1 #ifndef ZToMuMuGammaAnalyzer_H
2 #define ZToMuMuGammaAnalyzer_H
3 
6 //
11 // DataFormats
24 
33 
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 //
64 
73 
74 //
75 //DQM services
79 
80 
81 
82 #include <vector>
83 #include <string>
84 
97 // forward declarations
98 class TFile;
99 class TH1F;
100 class TH2F;
101 class TProfile;
102 class TTree;
103 class SimVertex;
104 class SimTrack;
105 
106 
108 {
109 
110 
111  public:
112 
113  //
114  explicit ZToMuMuGammaAnalyzer( const edm::ParameterSet& ) ;
115  virtual ~ZToMuMuGammaAnalyzer();
116 
117  virtual void analyze( const edm::Event&, const edm::EventSetup& ) ;
118  virtual void beginJob() ;
119  virtual void endJob() ;
120  virtual void endRun(const edm::Run& , const edm::EventSetup& ) ;
121 
122 
123  private:
124  std::string photonProducer_;
125  std::string photonCollection_;
130  std::string muonProducer_;
131  std::string muonCollection_;
132  //
133  std::string fName_;
137  unsigned int prescaleFactor_;
139  std::string outputFileName_;
143  std::stringstream currentFolder_;
144  int nEvt_;
145  int nEntry_;
146 
147 
148  // muon selection
149  float muonMinPt_;
152  float muonMaxDxy_;
158  // dimuon selection
161  // photon selection
165 
166  // mu mu gamma selection
167  float nearMuonDr_;
174 
175  float mumuInvMass( const reco::Muon & m1,const reco::Muon & m2 ) ;
176  float mumuGammaInvMass(const reco::Muon & mu1,const reco::Muon & mu2, const reco::Photon& pho );
177  bool basicMuonSelection ( const reco::Muon & m );
178  bool muonSelection ( const reco::Muon & m, const reco::BeamSpot& bs );
179  bool photonSelection ( const reco::Photon & p );
180 
183 
184 };
185 
186 
187 
188 
189 
190 #endif
191 
192 
193 
194 
bool muonSelection(const reco::Muon &m, const reco::BeamSpot &bs)
MonitorElement * h1_mumuGammaInvMass_
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::stringstream currentFolder_
MonitorElement * h1_mumuInvMass_
float mumuInvMass(const reco::Muon &m1, const reco::Muon &m2)
ZToMuMuGammaAnalyzer(const edm::ParameterSet &)
edm::ParameterSet parameters_
bool photonSelection(const reco::Photon &p)
bool basicMuonSelection(const reco::Muon &m)
virtual void endRun(const edm::Run &, const edm::EventSetup &)
float mumuGammaInvMass(const reco::Muon &mu1, const reco::Muon &mu2, const reco::Photon &pho)
Definition: Run.h:33