CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
EfficiencyAnalyzer Class Reference

#include <EfficiencyAnalyzer.h>

Inheritance diagram for EfficiencyAnalyzer:
one::DQMEDAnalyzer< T > one::dqmimplementation::DQMBaseClass< T... >

Public Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &eventSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 EfficiencyAnalyzer (const edm::ParameterSet &pset)
 
 ~EfficiencyAnalyzer () override
 
- Public Member Functions inherited from one::DQMEDAnalyzer< T >
 DQMEDAnalyzer ()=default
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer< T... > &&)=delete
 
 ~DQMEDAnalyzer () override=default
 

Private Attributes

int _numPV
 
bool doPVCheck_
 
int etaBin_
 
double etaMax_
 
double etaMin_
 
MonitorElementh_allProbes_EB_ID_nVtx
 
MonitorElementh_allProbes_EB_ID_pt
 
MonitorElementh_allProbes_EB_pt
 
MonitorElementh_allProbes_EE_ID_nVtx
 
MonitorElementh_allProbes_EE_ID_pt
 
MonitorElementh_allProbes_EE_pt
 
MonitorElementh_allProbes_eta
 
MonitorElementh_allProbes_hp_eta
 
MonitorElementh_allProbes_ID_nVtx
 
MonitorElementh_allProbes_ID_pt
 
MonitorElementh_allProbes_inner_eta
 
MonitorElementh_allProbes_inner_phi
 
MonitorElementh_allProbes_inner_pt
 
MonitorElementh_allProbes_phi
 
MonitorElementh_allProbes_pt
 
MonitorElementh_failProbes_ID_eta
 
MonitorElementh_failProbes_ID_phi
 
MonitorElementh_failProbes_ID_pt
 
MonitorElementh_passProbes_detIsoID_nVtx
 
MonitorElementh_passProbes_detIsoID_pt
 
MonitorElementh_passProbes_EB_detIsoID_nVtx
 
MonitorElementh_passProbes_EB_detIsoID_pt
 
MonitorElementh_passProbes_EB_pfIsodBID_nVtx
 
MonitorElementh_passProbes_EB_pfIsodBID_pt
 
MonitorElementh_passProbes_EB_pfIsoID_nVtx
 
MonitorElementh_passProbes_EB_pfIsoID_pt
 
MonitorElementh_passProbes_EE_detIsoID_nVtx
 
MonitorElementh_passProbes_EE_detIsoID_pt
 
MonitorElementh_passProbes_EE_pfIsodBID_nVtx
 
MonitorElementh_passProbes_EE_pfIsodBID_pt
 
MonitorElementh_passProbes_EE_pfIsoID_nVtx
 
MonitorElementh_passProbes_EE_pfIsoID_pt
 
MonitorElementh_passProbes_ID_EB_pt
 
MonitorElementh_passProbes_ID_EE_pt
 
MonitorElementh_passProbes_ID_eta
 
MonitorElementh_passProbes_ID_hp_eta
 
MonitorElementh_passProbes_ID_inner_eta
 
MonitorElementh_passProbes_ID_inner_phi
 
MonitorElementh_passProbes_ID_inner_pt
 
MonitorElementh_passProbes_ID_phi
 
MonitorElementh_passProbes_ID_pt
 
MonitorElementh_passProbes_pfIsodBID_nVtx
 
MonitorElementh_passProbes_pfIsodBID_pt
 
MonitorElementh_passProbes_pfIsoID_nVtx
 
MonitorElementh_passProbes_pfIsoID_pt
 
std::string ID_
 
std::string metname
 
edm::ParameterSet parameters
 
int phiBin_
 
double phiMax_
 
double phiMin_
 
int ptBin_
 
double ptMax_
 
double ptMin_
 
edm::EDGetTokenT< reco::BeamSpottheBeamSpotLabel_
 
std::string theFolder
 
edm::EDGetTokenT< edm::View< reco::Muon > > theMuonCollectionLabel_
 
MuonServiceProxytheService
 
edm::EDGetTokenT< reco::TrackCollectiontheTrackCollectionLabel_
 
edm::EDGetTokenT< reco::VertexCollectiontheVertexLabel_
 
int vtxBin_
 
double vtxMax_
 
double vtxMin_
 

Detailed Description

Class EfficiencyAnalyzer

DQM monitoring for dimuon mass

Author: S.Folgueras, A. Calderon

Definition at line 36 of file EfficiencyAnalyzer.h.

Constructor & Destructor Documentation

EfficiencyAnalyzer::EfficiencyAnalyzer ( const edm::ParameterSet pset)

Definition at line 29 of file EfficiencyAnalyzer.cc.

References MuonServiceProxy_cff::MuonServiceProxy.

29  {
30  parameters = pSet;
31 
32  theService = new MuonServiceProxy(parameters.getParameter<ParameterSet>("ServiceParameters"));
33 
34  // DATA
35  theMuonCollectionLabel_ = consumes<edm::View<reco::Muon> > (parameters.getParameter<edm::InputTag>("MuonCollection"));
36  theTrackCollectionLabel_ = consumes<reco::TrackCollection> (parameters.getParameter<edm::InputTag>("TrackCollection"));
37  theVertexLabel_ = consumes<reco::VertexCollection>(parameters.getParameter<edm::InputTag>("VertexLabel"));
38  theBeamSpotLabel_ = mayConsume<reco::BeamSpot> (parameters.getParameter<edm::InputTag>("BeamSpotLabel"));
39 
40  //Vertex requirements
41  doPVCheck_ = parameters.getParameter<bool>("doPrimaryVertexCheck");
42 
43  ptBin_ = parameters.getParameter<int>("ptBin");
44  ptMin_ = parameters.getParameter<double>("ptMin");
45  ptMax_ = parameters.getParameter<double>("ptMax");
46 
47  etaBin_ = parameters.getParameter<int>("etaBin");
48  etaMin_ = parameters.getParameter<double>("etaMin");
49  etaMax_ = parameters.getParameter<double>("etaMax");
50 
51  phiBin_ = parameters.getParameter<int>("phiBin");
52  phiMin_ = parameters.getParameter<double>("phiMin");
53  phiMax_ = parameters.getParameter<double>("phiMax");
54 
55  vtxBin_ = parameters.getParameter<int>("vtxBin");
56  vtxMin_ = parameters.getParameter<double>("vtxMin");
57  vtxMax_ = parameters.getParameter<double>("vtxMax");
58 
59  ID_ = parameters.getParameter<string>("ID");
60  theFolder = parameters.getParameter<string>("folder");
61 }
edm::EDGetTokenT< reco::TrackCollection > theTrackCollectionLabel_
edm::EDGetTokenT< reco::VertexCollection > theVertexLabel_
edm::EDGetTokenT< reco::BeamSpot > theBeamSpotLabel_
MuonServiceProxy * theService
edm::EDGetTokenT< edm::View< reco::Muon > > theMuonCollectionLabel_
EfficiencyAnalyzer::~EfficiencyAnalyzer ( )
override

Definition at line 63 of file EfficiencyAnalyzer.cc.

63  {
64  delete theService;
65 }
MuonServiceProxy * theService

Member Function Documentation

void EfficiencyAnalyzer::analyze ( const edm::Event event,
const edm::EventSetup eventSetup 
)
override

to be read from output as "generalTracks"

Definition at line 131 of file EfficiencyAnalyzer.cc.

References reco::BeamSpot::BeamWidthX(), reco::BeamSpot::BeamWidthY(), taus_cff::chargedIso, reco::MuonIsolation::emEt, relativeConstraints::error, edm::Event::getByToken(), reco::MuonIsolation::hadEt, muon::isLooseMuon(), muon::isMediumMuon(), muon::isTightMuon(), edm::HandleBase::isValid(), LogTrace, SiStripPI::max, metname, extraflags_cff::muons, taus_cff::neutralIso, gedPhotonSequence_cff::photonIso, reco::BeamSpot::position(), position, edm::Handle< T >::product(), muons2muons_cfi::pu, reco::BeamSpot::sigmaZ(), reco::MuonIsolation::sumPt, l1t::tracks, findQualityFiles::v, and particleFlowSuperClusterECAL_cfi::vertexCollection.

131  {
132 
133  LogTrace(metname)<<"[EfficiencyAnalyzer] Analyze the mu in different eta regions";
134  theService->update(iSetup);
135  // ==========================================================
136  // BEGIN READ DATA:
137  // Muon information
139  iEvent.getByToken(theMuonCollectionLabel_, muons);
140 
141  // Tracks information
143  iEvent.getByToken(theTrackCollectionLabel_,tracks);
144 
145  //Vertex information
147  iEvent.getByToken(theVertexLabel_, vertex);
148  // END READ DATA
149  // ==========================================================
150 
151 
152  _numPV = 0;
153  bool bPrimaryVertex = true;
154  if(doPVCheck_){
155  bPrimaryVertex = false;
156 
157  if (!vertex.isValid()) {
158  LogTrace(metname) << "[EfficiencyAnalyzer] Could not find vertex collection" << std::endl;
159  bPrimaryVertex = false;
160  }
161 
162  if ( vertex.isValid() ){
163  const reco::VertexCollection& vertexCollection = *(vertex.product());
164  int vertex_number = vertexCollection.size();
165 
166  reco::VertexCollection::const_iterator v = vertexCollection.begin();
167  for ( ; v != vertexCollection.end(); ++v) {
168  double vertex_chi2 = v->normalizedChi2();
169  double vertex_ndof = v->ndof();
170  bool fakeVtx = v->isFake();
171  double vertex_Z = v->z();
172 
173  if ( !fakeVtx
174  && vertex_number >= 1
175  && vertex_ndof > 4
176  && vertex_chi2 < 999
177  && fabs(vertex_Z)< 24. ) {
178  bPrimaryVertex = true;
179  ++_numPV;
180  }
181  }
182  }
183 
184  }
185 
186  // =================================================================================
187  // Look for the Primary Vertex (and use the BeamSpot instead, if you can't find it):
188  reco::Vertex::Point posVtx;
189  reco::Vertex::Error errVtx;
190  unsigned int theIndexOfThePrimaryVertex = 999.;
191  if (vertex.isValid()){
192  for (unsigned int ind=0; ind<vertex->size(); ++ind) {
193  if ( (*vertex)[ind].isValid() && !((*vertex)[ind].isFake()) ) {
194  theIndexOfThePrimaryVertex = ind;
195  break;
196  }
197  }
198  }
199 
200  if (theIndexOfThePrimaryVertex<100) {
201  posVtx = ((*vertex)[theIndexOfThePrimaryVertex]).position();
202  errVtx = ((*vertex)[theIndexOfThePrimaryVertex]).error();
203  }
204  else {
205  LogInfo("RecoMuonValidator") << "reco::PrimaryVertex not found, use BeamSpot position instead\n";
206 
207  edm::Handle<reco::BeamSpot> recoBeamSpotHandle;
208  iEvent.getByToken(theBeamSpotLabel_,recoBeamSpotHandle);
209  reco::BeamSpot bs = *recoBeamSpotHandle;
210 
211  posVtx = bs.position();
212  errVtx(0,0) = bs.BeamWidthX();
213  errVtx(1,1) = bs.BeamWidthY();
214  errVtx(2,2) = bs.sigmaZ();
215  }
216 
217  const reco::Vertex thePrimaryVertex(posVtx,errVtx);
218  // ==========================================================
219 
220  if(!muons.isValid()) return;
221 
222  // Loop on muon collection
223  TLorentzVector Mu1, Mu2;
224 
225  bool isMB = false;
226  bool isME = false;
227 
228  for (edm::View<reco::Muon>::const_iterator muon1 = muons->begin(); muon1 != muons->end(); ++muon1){
229  LogTrace(metname)<<"[EfficiencyAnalyzer] loop over first muons" << endl;
230 
231  //--- Define combined isolation
232  reco::MuonIsolation Iso_muon = muon1->isolationR03();
233  float combIso = (Iso_muon.emEt + Iso_muon.hadEt + Iso_muon.sumPt);
234 
235  //--- Is Global Muon
236  if (!muon1->isGlobalMuon()) continue;
237 
238  // get the track combinig the information from both the Tracker and the Spectrometer
239  reco::TrackRef recoCombinedGlbTrack1 = muon1->combinedMuon();
240  float muPt1 = recoCombinedGlbTrack1->pt();
241  Mu1.SetPxPyPzE(recoCombinedGlbTrack1->px(), recoCombinedGlbTrack1->py(),recoCombinedGlbTrack1->pz(), recoCombinedGlbTrack1->p());
242 
243 
244  //--- Define if it is a tight muon
245  // Change the Tight muon definition by using the implemented method in: MuonSelectors.cc
246  if (ID_ == "Loose" && !muon::isLooseMuon(*muon1)) continue;
247  if (ID_ == "Medium" && !muon::isMediumMuon(*muon1)) continue;
248  if (ID_ == "Tight" && !muon::isTightMuon(*muon1, thePrimaryVertex)) continue;
249 
250  //-- is isolated muon
251  if (muPt1 <= 15) continue;
252  if (combIso/muPt1 > 0.1 ) continue;
253 
254  for (edm::View<reco::Muon>::const_iterator muon2 = muons->begin(); muon2 != muons->end(); ++muon2){
255  LogTrace(metname)<<"[EfficiencyAnalyzer] loop over second muon" <<endl;
256  if (muon2 == muon1) continue;
257 
258  if (muon2->eta() < 1.479 ) isMB = true;
259  if (muon2->eta() >= 1.479 ) isME = true;
260 
261  //--> should we apply track quality cuts???
262  Mu2.SetPxPyPzE(muon2->px(), muon2->py(), muon2->pz(), muon2->p());
263 
264  float Minv = (Mu1+Mu2).M();
265  if (!muon2->isTrackerMuon()) continue;
266  if ( muon2->pt() < 5 ) continue;
267  if ( (muon1->charge())*(muon2->charge()) > 0 ) continue;
268  if ( Minv < 70 || Minv > 110 ) continue;
269 
270  h_allProbes_pt->Fill(muon2->pt());
271  h_allProbes_eta->Fill(muon2->eta());
272  h_allProbes_phi->Fill(muon2->phi());
273  if(muon2->innerTrack()->extra().isAvailable()) {
274  h_allProbes_inner_pt->Fill(muon2->innerTrack()->innerMomentum().Rho());
275  h_allProbes_inner_eta->Fill(muon2->innerTrack()->innerPosition().Eta());
276  h_allProbes_inner_phi->Fill(muon2->innerTrack()->innerPosition().Phi());
277  }
278  if (isMB) h_allProbes_EB_pt->Fill(muon2->pt());
279  if (isME) h_allProbes_EE_pt->Fill(muon2->pt());
280  if(muon2->pt() > 20 ) h_allProbes_hp_eta->Fill(muon2->eta());
281 
282 
283  // Probes passing the tight muon criteria
284  if (ID_ == "Loose" && !muon::isLooseMuon(*muon2)) continue;
285  if (ID_ == "Medium" && !muon::isMediumMuon(*muon2)) continue;
286  if (ID_ == "Tight" && !muon::isTightMuon(*muon2, thePrimaryVertex)) continue;
287 
288 
289  h_passProbes_ID_pt->Fill(muon2->pt());
290  h_passProbes_ID_eta->Fill(muon2->eta());
291  h_passProbes_ID_phi->Fill(muon2->phi());
292  if(muon2->innerTrack()->extra().isAvailable()) {
293  h_passProbes_ID_inner_pt->Fill(muon2->innerTrack()->innerMomentum().Rho());
294  h_passProbes_ID_inner_eta->Fill(muon2->innerTrack()->innerPosition().Eta());
295  h_passProbes_ID_inner_phi->Fill(muon2->innerTrack()->innerPosition().Phi());
296  }
297 
298  if (isMB) h_passProbes_ID_EB_pt->Fill(muon2->pt());
299  if (isME) h_passProbes_ID_EE_pt->Fill(muon2->pt());
300  if( muon2->pt() > 20 ) h_passProbes_ID_hp_eta->Fill(muon2->eta());
301 
302  h_allProbes_ID_pt->Fill(muon2->pt());
303  if (isMB) h_allProbes_EB_ID_pt->Fill(muon2->pt());
304  if (isME) h_allProbes_EE_ID_pt->Fill(muon2->pt());
305 
306  //------- For PU monitoring -------//
307  if (bPrimaryVertex) h_allProbes_ID_nVtx->Fill(_numPV);
308  if (bPrimaryVertex && isMB) h_allProbes_EB_ID_nVtx->Fill(_numPV);
309  if (bPrimaryVertex && isME) h_allProbes_EE_ID_nVtx->Fill(_numPV);
310 
311  //-- Define det relative isolation
312  float tkIso = muon2->isolationR03().sumPt;
313  float emIso = muon2->isolationR03().emEt;
314  float hadIso = muon2->isolationR03().hadEt + muon2->isolationR03().hoEt;
315  float relDetIso = (tkIso + emIso + hadIso) / (muon2->pt());
316 
317  if (relDetIso < 0.05 ) {
318  h_passProbes_detIsoID_pt->Fill(muon2->pt());
319  if (isMB) h_passProbes_EB_detIsoID_pt->Fill(muon2->pt());
320  if (isME) h_passProbes_EE_detIsoID_pt->Fill(muon2->pt());
321 
322  if (bPrimaryVertex) h_passProbes_detIsoID_nVtx->Fill(_numPV);
323  if (bPrimaryVertex && isMB) h_passProbes_EB_detIsoID_nVtx->Fill(_numPV);
324  if (bPrimaryVertex && isME) h_passProbes_EE_detIsoID_nVtx->Fill(_numPV);
325  }
326 
327  //-- Define PF relative isolation
328  float chargedIso = muon2->pfIsolationR04().sumChargedHadronPt;
329  float neutralIso = muon2->pfIsolationR04().sumNeutralHadronEt;
330  float photonIso = muon2->pfIsolationR04().sumPhotonEt;
331  float relPFIso = (chargedIso + neutralIso + photonIso) / (muon2->pt());
332 
333  float pu = muon2->pfIsolationR04().sumPUPt;
334  float neutralphotonPUCorrected = std::max(0.0 , (neutralIso + photonIso - 0.5*pu ) );
335  float relPFIsoPUCorrected = (chargedIso + neutralphotonPUCorrected) / (muon2->pt());
336 
337 
338 
339  if (relPFIso < 0.12 ) {
340  h_passProbes_pfIsoID_pt->Fill(muon2->pt());
341  if (isMB) h_passProbes_EB_pfIsoID_pt->Fill(muon2->pt());
342  if (isME) h_passProbes_EE_pfIsoID_pt->Fill(muon2->pt());
343 
344  if( bPrimaryVertex) h_passProbes_pfIsoID_nVtx->Fill(_numPV);
345  if (bPrimaryVertex && isMB) h_passProbes_EB_pfIsoID_nVtx->Fill(_numPV);
346  if (bPrimaryVertex && isME) h_passProbes_EE_pfIsoID_nVtx->Fill(_numPV);
347  }
348 
349  // Apply deltaBeta PU corrections to the PF isolation eficiencies.
350  if ( relPFIsoPUCorrected < 0.12 ) {
351  h_passProbes_pfIsodBID_pt->Fill(muon2->pt());
352  if (isMB) h_passProbes_EB_pfIsodBID_pt->Fill(muon2->pt());
353  if (isME) h_passProbes_EE_pfIsodBID_pt->Fill(muon2->pt());
354 
355  if( bPrimaryVertex) h_passProbes_pfIsodBID_nVtx->Fill(_numPV);
356  if (bPrimaryVertex && isMB) h_passProbes_EB_pfIsodBID_nVtx->Fill(_numPV);
357  if (bPrimaryVertex && isME) h_passProbes_EE_pfIsodBID_nVtx->Fill(_numPV);
358  }
359  }
360  }
361 }
MonitorElement * h_allProbes_ID_nVtx
float hadEt
hcal sum-Et
Definition: MuonIsolation.h:9
MonitorElement * h_passProbes_EB_pfIsodBID_nVtx
MonitorElement * h_passProbes_EE_pfIsoID_pt
MonitorElement * h_allProbes_inner_eta
MonitorElement * h_allProbes_EB_ID_nVtx
MonitorElement * h_passProbes_ID_pt
float sumPt
sum-pt of tracks
Definition: MuonIsolation.h:7
bool isMediumMuon(const reco::Muon &, bool run2016_hip_mitigation=false)
edm::EDGetTokenT< reco::TrackCollection > theTrackCollectionLabel_
MonitorElement * h_allProbes_eta
MonitorElement * h_passProbes_EE_detIsoID_pt
MonitorElement * h_passProbes_ID_eta
edm::EDGetTokenT< reco::VertexCollection > theVertexLabel_
MonitorElement * h_passProbes_ID_phi
MonitorElement * h_allProbes_EE_ID_nVtx
math::Error< dimension >::type Error
covariance error matrix (3x3)
Definition: Vertex.h:43
MonitorElement * h_allProbes_ID_pt
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
MonitorElement * h_allProbes_inner_phi
edm::EDGetTokenT< reco::BeamSpot > theBeamSpotLabel_
MonitorElement * h_passProbes_EB_pfIsoID_nVtx
MonitorElement * h_passProbes_pfIsoID_pt
bool isLooseMuon(const reco::Muon &)
MonitorElement * h_allProbes_inner_pt
void Fill(long long x)
MonitorElement * h_allProbes_pt
MonitorElement * h_allProbes_EE_ID_pt
MonitorElement * h_passProbes_pfIsodBID_nVtx
MonitorElement * h_allProbes_EB_pt
int iEvent
Definition: GenABIO.cc:224
MuonServiceProxy * theService
MonitorElement * h_passProbes_EB_pfIsodBID_pt
MonitorElement * h_allProbes_EE_pt
neutralIso
Definition: taus_cff.py:82
float emEt
ecal sum-Et
Definition: MuonIsolation.h:8
MonitorElement * h_passProbes_pfIsodBID_pt
MonitorElement * h_passProbes_ID_EB_pt
math::XYZPoint Point
point in the space
Definition: Vertex.h:39
double BeamWidthX() const
beam width X
Definition: BeamSpot.h:86
MonitorElement * h_passProbes_ID_inner_phi
MonitorElement * h_passProbes_ID_hp_eta
bool isValid() const
Definition: HandleBase.h:74
#define LogTrace(id)
MonitorElement * h_passProbes_pfIsoID_nVtx
MonitorElement * h_passProbes_EE_pfIsodBID_nVtx
MonitorElement * h_passProbes_EE_pfIsoID_nVtx
MonitorElement * h_passProbes_ID_inner_eta
edm::EDGetTokenT< edm::View< reco::Muon > > theMuonCollectionLabel_
MonitorElement * h_passProbes_detIsoID_nVtx
MonitorElement * h_passProbes_EB_detIsoID_pt
MonitorElement * h_passProbes_EB_detIsoID_nVtx
T const * product() const
Definition: Handle.h:74
double sigmaZ() const
sigma z
Definition: BeamSpot.h:80
double BeamWidthY() const
beam width Y
Definition: BeamSpot.h:88
MonitorElement * h_passProbes_EE_pfIsodBID_pt
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
MonitorElement * h_allProbes_EB_ID_pt
static int position[264][3]
Definition: ReadPGInfo.cc:509
MonitorElement * h_passProbes_detIsoID_pt
MonitorElement * h_passProbes_ID_EE_pt
const Point & position() const
position
Definition: BeamSpot.h:62
MonitorElement * h_passProbes_ID_inner_pt
MonitorElement * h_allProbes_hp_eta
MonitorElement * h_passProbes_EE_detIsoID_nVtx
MonitorElement * h_allProbes_phi
bool isTightMuon(const reco::Muon &, const reco::Vertex &)
MonitorElement * h_passProbes_EB_pfIsoID_pt
chargedIso
Definition: taus_cff.py:81
void EfficiencyAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
override

Definition at line 67 of file EfficiencyAnalyzer.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::cd(), gather_cfg::cout, and DQMStore::IBooker::setCurrentFolder().

69  {
70 
71  ibooker.cd();
72  ibooker.setCurrentFolder(theFolder+ID_);
73 
74  h_allProbes_pt = ibooker.book1D("allProbes_pt","All Probes Pt", ptBin_, ptMin_, ptMax_);
75  h_allProbes_inner_pt = ibooker.book1D("allProbes_inner_pt","All Probes inner Pt", ptBin_, ptMin_, ptMax_);
76  h_allProbes_inner_eta = ibooker.book1D("allProbes_inner_eta","All Probes inner eta", etaBin_, etaMin_, etaMax_);
77  h_allProbes_inner_phi = ibooker.book1D("allProbes_inner_phi","All Probes inner phi", phiBin_, phiMin_, phiMax_);
78  h_allProbes_EB_pt = ibooker.book1D("allProbes_EB_pt","Barrel: all Probes Pt", ptBin_, ptMin_, ptMax_);
79  h_allProbes_EE_pt = ibooker.book1D("allProbes_EE_pt","Endcap: all Probes Pt", ptBin_, ptMin_, ptMax_);
80  h_allProbes_eta = ibooker.book1D("allProbes_eta","All Probes Eta", etaBin_, etaMin_, etaMax_);
81  h_allProbes_hp_eta = ibooker.book1D("allProbes_hp_eta","High Pt all Probes Eta", etaBin_, etaMin_, etaMax_);
82  h_allProbes_phi = ibooker.book1D("allProbes_phi","All Probes Phi", phiBin_, phiMin_, phiMax_);
83 
84  h_allProbes_ID_pt = ibooker.book1D("allProbes_ID_pt","All ID Probes Pt", ptBin_, ptMin_, ptMax_);
85  h_allProbes_EB_ID_pt = ibooker.book1D("allProbes_EB_ID_pt","Barrel: all ID Probes Pt", ptBin_, ptMin_, ptMax_);
86  h_allProbes_EE_ID_pt = ibooker.book1D("allProbes_EE_ID_pt","Endcap: all ID Probes Pt", ptBin_, ptMin_, ptMax_);
87  h_allProbes_ID_nVtx = ibooker.book1D("allProbes_ID_nVtx","All Probes (ID) nVtx", vtxBin_, vtxMin_, vtxMax_);
88  h_allProbes_EB_ID_nVtx = ibooker.book1D("allProbes_EB_ID_nVtx","Barrel: All Probes (ID) nVtx", vtxBin_, vtxMin_, vtxMax_);
89  h_allProbes_EE_ID_nVtx = ibooker.book1D("allProbes_EE_ID_nVtx","Endcap: All Probes (ID) nVtx", vtxBin_, vtxMin_, vtxMax_);
90 
91  h_passProbes_ID_pt = ibooker.book1D("passProbes_ID_pt","ID Passing Probes Pt", ptBin_ , ptMin_ , ptMax_ );
92  h_passProbes_ID_inner_pt = ibooker.book1D("passProbes_ID_inner_pt","ID Passing Probes inner Pt", ptBin_, ptMin_, ptMax_);
93  h_passProbes_ID_inner_eta = ibooker.book1D("passProbes_ID_inner_eta","ID Passing Probes inner eta", etaBin_, etaMin_, etaMax_);
94  h_passProbes_ID_inner_phi = ibooker.book1D("passProbes_ID_inner_phi","ID Passing Probes inner phi", phiBin_, phiMin_, phiMax_);
95  h_passProbes_ID_EB_pt = ibooker.book1D("passProbes_ID_EB_pt","Barrel: ID Passing Probes Pt", ptBin_ , ptMin_ , ptMax_ );
96  h_passProbes_ID_EE_pt = ibooker.book1D("passProbes_ID_EE_pt","Endcap: ID Passing Probes Pt", ptBin_ , ptMin_ , ptMax_ );
97  h_passProbes_ID_eta = ibooker.book1D("passProbes_ID_eta","ID Passing Probes #eta", etaBin_, etaMin_, etaMax_);
98  h_passProbes_ID_hp_eta = ibooker.book1D("passProbes_ID_hp_eta","High Pt ID Passing Probes #eta", etaBin_, etaMin_, etaMax_);
99  h_passProbes_ID_phi = ibooker.book1D("passProbes_ID_phi","ID Passing Probes #phi", phiBin_, phiMin_, phiMax_);
100 
101  h_passProbes_detIsoID_pt = ibooker.book1D("passProbes_detIsoID_pt","detIsoID Passing Probes Pt", ptBin_, ptMin_, ptMax_);
102  h_passProbes_EB_detIsoID_pt = ibooker.book1D("passProbes_EB_detIsoID_pt","Barrel: detIsoID Passing Probes Pt", ptBin_, ptMin_, ptMax_);
103  h_passProbes_EE_detIsoID_pt = ibooker.book1D("passProbes_EE_detIsoID_pt","Endcap: detIsoID Passing Probes Pt", ptBin_, ptMin_, ptMax_);
104 
105  h_passProbes_pfIsoID_pt = ibooker.book1D("passProbes_pfIsoID_pt","pfIsoID Passing Probes Pt", ptBin_, ptMin_, ptMax_);
106  h_passProbes_EB_pfIsoID_pt = ibooker.book1D("passProbes_EB_pfIsoID_pt","Barrel: pfIsoID Passing Probes Pt", ptBin_, ptMin_, ptMax_);
107  h_passProbes_EE_pfIsoID_pt = ibooker.book1D("passProbes_EE_pfIsoID_pt","Endcap: pfIsoID Passing Probes Pt", ptBin_, ptMin_, ptMax_);
108 
109  h_passProbes_detIsoID_nVtx = ibooker.book1D("passProbes_detIsoID_nVtx", "detIsoID Passing Probes nVtx (R03)", vtxBin_, vtxMin_, vtxMax_);
110  h_passProbes_pfIsoID_nVtx = ibooker.book1D("passProbes_pfIsoID_nVtx", "pfIsoID Passing Probes nVtx (R04)", vtxBin_, vtxMin_, vtxMax_);
111  h_passProbes_EB_detIsoID_nVtx = ibooker.book1D("passProbes_EB_detIsoID_nVtx","Barrel: detIsoID Passing Probes nVtx (R03)", vtxBin_, vtxMin_, vtxMax_);
112  h_passProbes_EE_detIsoID_nVtx = ibooker.book1D("passProbes_EE_detIsoID_nVtx","Endcap: detIsoID Passing Probes nVtx (R03)", vtxBin_, vtxMin_, vtxMax_);
113  h_passProbes_EB_pfIsoID_nVtx = ibooker.book1D("passProbes_EB_pfIsoID_nVtx", "Barrel: pfIsoID Passing Probes nVtx (R04)", vtxBin_, vtxMin_, vtxMax_);
114  h_passProbes_EE_pfIsoID_nVtx = ibooker.book1D("passProbes_EE_pfIsoID_nVtx", "Endcap: pfIsoID Passing Probes nVtx (R04)", vtxBin_, vtxMin_, vtxMax_);
115 
116 
117  // Apply deltaBeta PU corrections to the PF isolation eficiencies.
118 
119  h_passProbes_pfIsodBID_pt = ibooker.book1D("passProbes_pfIsodBID_pt","pfIsoID Passing Probes Pt (deltaB PU correction)", ptBin_, ptMin_, ptMax_);
120  h_passProbes_EB_pfIsodBID_pt = ibooker.book1D("passProbes_EB_pfIsodBID_pt","Barrel: pfIsoID Passing Probes Pt (deltaB PU correction)", ptBin_, ptMin_, ptMax_);
121  h_passProbes_EE_pfIsodBID_pt = ibooker.book1D("passProbes_EE_pfIsodBID_pt","Endcap: pfIsoID Passing Probes Pt (deltaB PU correction)", ptBin_, ptMin_, ptMax_);
122  h_passProbes_pfIsodBID_nVtx = ibooker.book1D("passProbes_pfIsodBID_nVtx", "pfIsoID Passing Probes nVtx (R04) (deltaB PU correction)", vtxBin_, vtxMin_, vtxMax_);
123  h_passProbes_EB_pfIsodBID_nVtx = ibooker.book1D("passProbes_EB_pfIsodBID_nVtx", "Barrel: pfIsoID Passing Probes nVtx (R04) (deltaB PU correction)", vtxBin_, vtxMin_, vtxMax_);
124  h_passProbes_EE_pfIsodBID_nVtx = ibooker.book1D("passProbes_EE_pfIsodBID_nVtx", "Endcap: pfIsoID Passing Probes nVtx (R04) (deltaB PU correction)", vtxBin_, vtxMin_, vtxMax_);
125 
126 #ifdef DEBUG
127  cout << "[EfficiencyAnalyzer] Parameters initialization DONE" <<endl;
128 #endif
129 }
MonitorElement * h_allProbes_ID_nVtx
MonitorElement * h_passProbes_EB_pfIsodBID_nVtx
MonitorElement * h_passProbes_EE_pfIsoID_pt
MonitorElement * h_allProbes_inner_eta
MonitorElement * h_allProbes_EB_ID_nVtx
MonitorElement * h_passProbes_ID_pt
MonitorElement * h_allProbes_eta
MonitorElement * h_passProbes_EE_detIsoID_pt
MonitorElement * h_passProbes_ID_eta
MonitorElement * h_passProbes_ID_phi
MonitorElement * h_allProbes_EE_ID_nVtx
MonitorElement * h_allProbes_ID_pt
MonitorElement * h_allProbes_inner_phi
MonitorElement * h_passProbes_EB_pfIsoID_nVtx
MonitorElement * h_passProbes_pfIsoID_pt
MonitorElement * h_allProbes_inner_pt
MonitorElement * h_allProbes_pt
MonitorElement * h_allProbes_EE_ID_pt
MonitorElement * h_passProbes_pfIsodBID_nVtx
MonitorElement * h_allProbes_EB_pt
void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:268
MonitorElement * h_passProbes_EB_pfIsodBID_pt
MonitorElement * h_allProbes_EE_pt
MonitorElement * h_passProbes_pfIsodBID_pt
MonitorElement * h_passProbes_ID_EB_pt
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:106
MonitorElement * h_passProbes_ID_inner_phi
MonitorElement * h_passProbes_ID_hp_eta
MonitorElement * h_passProbes_pfIsoID_nVtx
MonitorElement * h_passProbes_EE_pfIsodBID_nVtx
MonitorElement * h_passProbes_EE_pfIsoID_nVtx
MonitorElement * h_passProbes_ID_inner_eta
MonitorElement * h_passProbes_detIsoID_nVtx
MonitorElement * h_passProbes_EB_detIsoID_pt
MonitorElement * h_passProbes_EB_detIsoID_nVtx
MonitorElement * h_passProbes_EE_pfIsodBID_pt
MonitorElement * h_allProbes_EB_ID_pt
MonitorElement * h_passProbes_detIsoID_pt
MonitorElement * h_passProbes_ID_EE_pt
MonitorElement * h_passProbes_ID_inner_pt
MonitorElement * h_allProbes_hp_eta
MonitorElement * h_passProbes_EE_detIsoID_nVtx
MonitorElement * h_allProbes_phi
MonitorElement * h_passProbes_EB_pfIsoID_pt

Member Data Documentation

int EfficiencyAnalyzer::_numPV
private

Definition at line 127 of file EfficiencyAnalyzer.h.

bool EfficiencyAnalyzer::doPVCheck_
private

Definition at line 134 of file EfficiencyAnalyzer.h.

int EfficiencyAnalyzer::etaBin_
private

Definition at line 57 of file EfficiencyAnalyzer.h.

double EfficiencyAnalyzer::etaMax_
private

Definition at line 65 of file EfficiencyAnalyzer.h.

double EfficiencyAnalyzer::etaMin_
private

Definition at line 64 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_EB_ID_nVtx
private

Definition at line 115 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_EB_ID_pt
private

Definition at line 112 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_EB_pt
private

Definition at line 103 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_EE_ID_nVtx
private

Definition at line 116 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_EE_ID_pt
private

Definition at line 113 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_EE_pt
private

Definition at line 104 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_eta
private

Definition at line 105 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_hp_eta
private

Definition at line 106 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_ID_nVtx
private

Definition at line 114 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_ID_pt
private

Definition at line 108 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_inner_eta
private

Definition at line 110 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_inner_phi
private

Definition at line 111 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_inner_pt
private

Definition at line 109 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_phi
private

Definition at line 107 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_allProbes_pt
private

Definition at line 102 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_failProbes_ID_eta
private

Definition at line 99 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_failProbes_ID_phi
private

Definition at line 100 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_failProbes_ID_pt
private

Definition at line 98 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_detIsoID_nVtx
private

Definition at line 91 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_detIsoID_pt
private

Definition at line 85 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EB_detIsoID_nVtx
private

Definition at line 93 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EB_detIsoID_pt
private

Definition at line 86 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EB_pfIsodBID_nVtx
private

Definition at line 124 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EB_pfIsodBID_pt
private

Definition at line 121 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EB_pfIsoID_nVtx
private

Definition at line 95 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EB_pfIsoID_pt
private

Definition at line 89 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EE_detIsoID_nVtx
private

Definition at line 94 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EE_detIsoID_pt
private

Definition at line 87 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EE_pfIsodBID_nVtx
private

Definition at line 125 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EE_pfIsodBID_pt
private

Definition at line 122 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EE_pfIsoID_nVtx
private

Definition at line 96 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_EE_pfIsoID_pt
private

Definition at line 90 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_EB_pt
private

Definition at line 80 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_EE_pt
private

Definition at line 81 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_eta
private

Definition at line 82 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_hp_eta
private

Definition at line 83 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_inner_eta
private

Definition at line 78 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_inner_phi
private

Definition at line 79 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_inner_pt
private

Definition at line 77 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_phi
private

Definition at line 84 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_ID_pt
private

Definition at line 76 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_pfIsodBID_nVtx
private

Definition at line 123 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_pfIsodBID_pt
private

Definition at line 120 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_pfIsoID_nVtx
private

Definition at line 92 of file EfficiencyAnalyzer.h.

MonitorElement* EfficiencyAnalyzer::h_passProbes_pfIsoID_pt
private

Definition at line 88 of file EfficiencyAnalyzer.h.

std::string EfficiencyAnalyzer::ID_
private

Definition at line 74 of file EfficiencyAnalyzer.h.

std::string EfficiencyAnalyzer::metname
private

Definition at line 54 of file EfficiencyAnalyzer.h.

edm::ParameterSet EfficiencyAnalyzer::parameters
private
int EfficiencyAnalyzer::phiBin_
private

Definition at line 58 of file EfficiencyAnalyzer.h.

double EfficiencyAnalyzer::phiMax_
private

Definition at line 68 of file EfficiencyAnalyzer.h.

double EfficiencyAnalyzer::phiMin_
private

Definition at line 67 of file EfficiencyAnalyzer.h.

int EfficiencyAnalyzer::ptBin_
private

Definition at line 59 of file EfficiencyAnalyzer.h.

double EfficiencyAnalyzer::ptMax_
private

Definition at line 62 of file EfficiencyAnalyzer.h.

double EfficiencyAnalyzer::ptMin_
private

Definition at line 61 of file EfficiencyAnalyzer.h.

edm::EDGetTokenT<reco::BeamSpot> EfficiencyAnalyzer::theBeamSpotLabel_
private

Definition at line 136 of file EfficiencyAnalyzer.h.

std::string EfficiencyAnalyzer::theFolder
private

Definition at line 138 of file EfficiencyAnalyzer.h.

edm::EDGetTokenT<edm::View<reco::Muon> > EfficiencyAnalyzer::theMuonCollectionLabel_
private

Definition at line 130 of file EfficiencyAnalyzer.h.

MuonServiceProxy* EfficiencyAnalyzer::theService
private

Definition at line 51 of file EfficiencyAnalyzer.h.

edm::EDGetTokenT<reco::TrackCollection> EfficiencyAnalyzer::theTrackCollectionLabel_
private

Definition at line 131 of file EfficiencyAnalyzer.h.

edm::EDGetTokenT<reco::VertexCollection> EfficiencyAnalyzer::theVertexLabel_
private

Definition at line 135 of file EfficiencyAnalyzer.h.

int EfficiencyAnalyzer::vtxBin_
private

Definition at line 70 of file EfficiencyAnalyzer.h.

double EfficiencyAnalyzer::vtxMax_
private

Definition at line 72 of file EfficiencyAnalyzer.h.

double EfficiencyAnalyzer::vtxMin_
private

Definition at line 71 of file EfficiencyAnalyzer.h.