CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ElectronAnalyzer.h
Go to the documentation of this file.
1 
2 #ifndef DQMOffline_EGamma_ElectronAnalyzer_h
3 #define DQMOffline_EGamma_ElectronAnalyzer_h
4 
6 
9 
12 
15 
16 
17 class MagneticField ;
18 
22 
24  {
25  public:
26 
27  explicit ElectronAnalyzer(const edm::ParameterSet& conf);
28  virtual ~ElectronAnalyzer();
29 
30  virtual void book() ;
31  virtual void analyze( const edm::Event & e, const edm::EventSetup & c) ;
32 
33  private:
34 
35  //=========================================
36  // parameters
37  //=========================================
38 
39  // general, collections
47  bool readAOD_; //NEW
48 
49  // matching
51  double maxPtMatchingObject_; // SURE ?
52  double maxAbsEtaMatchingObject_; // SURE ?
53  double deltaR_;
54 
55  // electron selection NEW
56  double minEt_;
57  double minPt_;
58  double maxAbsEta_;
59  bool isEB_;
60  bool isEE_;
82  double mvaMin_;
83  double tipMaxBarrel_;
85  double tkIso03Max_;
91 
92  // for trigger NEW
94 // std::vector<std::string > HLTPathsByName_;
95 
96  // histos limits and binning
97  int nbineta; int nbineta2D; double etamin; double etamax;
98  int nbinphi; int nbinphi2D; double phimin; double phimax;
99  int nbinpt; int nbinpteff; int nbinpt2D; double ptmax;
100  int nbinp; int nbinp2D; double pmax;
101  int nbineop; int nbineop2D; double eopmax; double eopmaxsht;
102  int nbindeta; double detamin; double detamax;
103  int nbindphi; double dphimin; double dphimax;
106  int nbinfhits; double fhitsmax;
107  int nbinlhits; double lhitsmax;
108  int nbinxyz; int nbinxyz2D;
109  int nbinpoptrue; double poptruemin; double poptruemax; //NEW
110  int nbinmee; double meemin; double meemax; //NEW
111  int nbinhoe; double hoemin; double hoemax; //NEW
112 
113  //=========================================
114  // general attributes and utility methods
115  //=========================================
116 
117  unsigned int nEvents_ ;
118 
119  float computeInvMass
120  ( const reco::GsfElectron & e1,
121  const reco::GsfElectron & e2 ) ;
122 
123  bool selected( const reco::GsfElectronCollection::const_iterator & gsfIter , double vertexTIP ) ;
124  bool generalCut( const reco::GsfElectronCollection::const_iterator & gsfIter) ;
125  bool etCut( const reco::GsfElectronCollection::const_iterator & gsfIter ) ;
126  bool isolationCut( const reco::GsfElectronCollection::const_iterator & gsfIter, double vertexTIP ) ;
127  bool idCut( const reco::GsfElectronCollection::const_iterator & gsfIter ) ;
128 
129 // bool trigger( const edm::Event & e ) ;
130 // unsigned int nAfterTrigger_;
131 // std::vector<unsigned int> HLTPathsByIndex_;
132 
135 
136  float mcEnergy[10], mcEta[10], mcPhi[10], mcPt[10], mcQ[10];
138  float seedMomentum[10], seedEta[10], seedPhi[10], seedPt[10], seedQ[10];
139 
140  //=========================================
141  // histograms
142  //=========================================
143 
144  // general
152 
153  // basic quantities
154 // MonitorElement * h1_num_ ; // number of electrons in a single event
155 // MonitorElement * h1_charge ;
156 // MonitorElement * h1_vertexP ;
157 // MonitorElement * h1_Et ;
158 // MonitorElement * h1_vertexTIP ;
159 // MonitorElement * h1_vertexPhi ;
160 // MonitorElement * h1_vertexX ;
161 // MonitorElement * h1_vertexY ;
168 
169  // super-clusters
170 // MonitorElement * h1_sclEn ;
171 // MonitorElement * h1_sclEta ;
172 // MonitorElement * h1_sclPhi ;
174 
175  // gsf tracks
176 // MonitorElement * h1_ambiguousTracks ;
177 // MonitorElement * h2ele_ambiguousTracksVsEta ;
178 // MonitorElement * h2_ambiguousTracksVsPhi ;
179 // MonitorElement * h2_ambiguousTracksVsPt ;
183 // MonitorElement * h2_chi2VsPt ;
187 // MonitorElement * h2_foundHitsVsPt ;
191 // MonitorElement * h2_lostHitsVsPt ;
192 
193  // electron matching and ID
194  //MonitorElement * h_EopOut ;
195  //MonitorElement * h_dEtaCl_propOut ;
196  //MonitorElement * h_dPhiCl_propOut ;
197 // MonitorElement * h1_Eop ;
198 // MonitorElement * h2_EopVsEta ;
202 // MonitorElement * h1_EopVsPt ;
203 // MonitorElement * h1_EeleOPout ;
204 // MonitorElement * h2_EeleOPoutVsEta ;
207 // MonitorElement * h2_EeleOPoutVsPhi ;
208 // MonitorElement * h2_EeleOPoutVsPt ;
209 // MonitorElement * h1_dEtaSc_propVtx ;
210 // MonitorElement * h2_dEtaSc_propVtxVsEta ;
214 // MonitorElement * h2_dEtaSc_propVtxVsPt ;
215 // MonitorElement * h1_dEtaEleCl_propOut ;
216 // MonitorElement * h2_dEtaEleCl_propOutVsEta ;
219 // MonitorElement * h2_dEtaEleCl_propOutVsPhi ;
220 // MonitorElement * h2_dEtaEleCl_propOutVsPt ;
221 // MonitorElement * h1_dPhiSc_propVtx ;
222 // MonitorElement * h2_dPhiSc_propVtxVsEta ;
226 // MonitorElement * h2_dPhiSc_propVtxVsPt ;
227 // MonitorElement * h1_dPhiEleCl_propOut ;
228 // MonitorElement * h2_dPhiEleCl_propOutVsEta ;
231 // MonitorElement * h2_dPhiEleCl_propOutVsPhi ;
232 // MonitorElement * h2_dPhiEleCl_propOutVsPt ;
233 // MonitorElement * h1_Hoe ;
234 // MonitorElement * h2_HoeVsEta ;
238 // MonitorElement * h2_HoeVsPt ;
241 
242  // fbrem related variables
243  //MonitorElement * h_outerP ;
244  //MonitorElement * h_outerP_mode ;
245 // MonitorElement * h_innerPt_mean ;
246 // MonitorElement * h_outerPt_mean ;
247 // MonitorElement * h_outerPt_mode ;
248 // MonitorElement * h_PinMnPout ;
249 // MonitorElement * h_PinMnPout_mode ;
253 // MonitorElement * h2_fbremVsPt ;
255 
256  // pflow
259 
260  // isolation
264 // MonitorElement * h1_hcalDepth1TowerSumEt_dr03 ;
265 // MonitorElement * h1_hcalDepth2TowerSumEt_dr03 ;
266 // MonitorElement * h1_tkSumPt_dr04 ;
267 // MonitorElement * h1_ecalRecHitSumEt_dr04 ;
268 // MonitorElement * h1_hcalTowerSumEt_dr04 ;
271 
272  // di-electron mass
275 
276 
277  // histos for matching and matched objects
278 
279 // MonitorElement * h1_matchedEle_eta ;
280 // MonitorElement * h1_matchedEle_eta_golden ;
281 // MonitorElement * h1_matchedEle_eta_shower ;
282 // //MonitorElement * h1_matchedEle_eta_bbrem ;
283 // //MonitorElement * h1_matchedEle_eta_narrow ;
284 
286 // MonitorElement * h1_matchedObject_AbsEta ;
289 // MonitorElement * h1_matchedObject_Z ;
290 
291 // MonitorElement * h1_matchingObject_Num ;
293 // MonitorElement * h1_matchingObject_AbsEta ;
294 // MonitorElement * h1_matchingObject_P ;
297 // MonitorElement * h1_matchingObject_Z ;
298 
299  } ;
300 
301 #endif
302 
303 
304 
MonitorElement * py_nElectronsVsLs
MonitorElement * h1_foundHits
virtual void book()
MonitorElement * h2_beamSpotXvsY
double hadronicOverEmMaxEndcaps_
MonitorElement * h1_mee_os
bool selected(const reco::GsfElectronCollection::const_iterator &gsfIter, double vertexTIP)
MonitorElement * h1_dPhiSc_propVtx_barrel
unsigned int nEvents_
MonitorElement * h1_vertexPt_barrel
MonitorElement * py_lostHitsVsEta
edm::ESHandle< TrackerGeometry > pDD
MonitorElement * h1_sclSigEtaEta_barrel
MonitorElement * py_chi2VsEta
edm::EDGetTokenT< reco::SuperClusterCollection > matchingObjectCollection_
MonitorElement * h1_vertexEta
MonitorElement * py_chi2VsPhi
MonitorElement * h1_Eop_endcaps
MonitorElement * h1_ecalRecHitSumEt_dr03
MonitorElement * h1_hcalTowerSumEt_dr03
MonitorElement * h1_matchingObject_Eta
MonitorElement * h1_Hoe_barrel
edm::InputTag triggerResults_
MonitorElement * py_HoeVsPhi
MonitorElement * h1_matchedObject_Pt
double sigIetaIetaMinBarrel_
float superclusterPhi[10]
edm::ESHandle< MagneticField > theMagField
MonitorElement * h1_matchedObject_Phi
MonitorElement * h1_tkSumPt_dr03
double sigIetaIetaMaxBarrel_
float superclusterEta[10]
MonitorElement * h2_vertexXvsY
MonitorElement * py_fbremVsEta
MonitorElement * h1_provenance
MonitorElement * h1_dEtaEleCl_propOut_barrel
MonitorElement * py_nTracksVsLs
MonitorElement * py_EopVsPhi
MonitorElement * h1_Eop_barrel
MonitorElement * py_nGsfTracksVsLs
double sigIetaIetaMinEndcaps_
MonitorElement * py_nClustersVsLs
MonitorElement * py_dEtaSc_propVtxVsPhi
double sigIetaIetaMaxEndcaps_
std::string matchingCondition_
double hcalIso03Depth1MaxBarrel_
MonitorElement * h1_dEtaEleCl_propOut_endcaps
MonitorElement * h1_Hoe_endcaps
tuple conf
Definition: dbtoconf.py:185
MonitorElement * py_nVerticesVsLs
ElectronAnalyzer(const edm::ParameterSet &conf)
edm::EDGetTokenT< reco::GsfTrackCollection > gsftrackCollection_
MonitorElement * h1_vertexPt_endcaps
MonitorElement * py_lostHitsVsPhi
MonitorElement * h1_vertexZ
Float e1
Definition: deltaR.h:22
MonitorElement * py_dPhiSc_propVtxVsPhi
double hcalIso03Depth1MaxEndcaps_
MonitorElement * h1_dPhiEleCl_propOut_endcaps
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * py_fbremVsPhi
MonitorElement * py_foundHitsVsPhi
bool etCut(const reco::GsfElectronCollection::const_iterator &gsfIter)
MonitorElement * h1_fbrem
edm::EDGetTokenT< reco::TrackCollection > trackCollection_
MonitorElement * h1_chi2
double maxAbsEtaMatchingObject_
MonitorElement * h1_lostHits
MonitorElement * h2_vertexEtaVsPhi
MonitorElement * h1_EeleOPout_endcaps
MonitorElement * h1_mee
edm::EDGetTokenT< reco::GsfElectronCollection > electronCollection_
Float e2
Definition: deltaR.h:23
MonitorElement * h1_classes
MonitorElement * h1_sclEt
MonitorElement * h1_EeleOPout_barrel
bool generalCut(const reco::GsfElectronCollection::const_iterator &gsfIter)
MonitorElement * h1_dEtaSc_propVtx_barrel
float computeInvMass(const reco::GsfElectron &e1, const reco::GsfElectron &e2)
MonitorElement * h1_matchingObject_Phi
MonitorElement * h1_dPhiSc_propVtx_endcaps
edm::EDGetTokenT< reco::BeamSpot > beamSpotTag_
virtual ~ElectronAnalyzer()
float superclusterEt[10]
MonitorElement * h1_sclSigEtaEta_endcaps
MonitorElement * py_foundHitsVsEta
edm::EDGetTokenT< reco::VertexCollection > vertexCollection_
float superclusterEnergy[10]
bool idCut(const reco::GsfElectronCollection::const_iterator &gsfIter)
double hcalIso03Depth2MaxEndcaps_
double hadronicOverEmMaxBarrel_
MonitorElement * h1_matchedObject_Eta
MonitorElement * h1_matchingObject_Pt
MonitorElement * h1_dPhiEleCl_propOut_barrel
MonitorElement * h1_dEtaSc_propVtx_endcaps
MonitorElement * h1_mva
bool isolationCut(const reco::GsfElectronCollection::const_iterator &gsfIter, double vertexTIP)
MonitorElement * h1_triggers