CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonTrackValidatorBase.h
Go to the documentation of this file.
1 #ifndef MuonTrackValidatorBase_h
2 #define MuonTrackValidatorBase_h
3 
11 #include <memory>
12 
16 
19 
21 
25 
29 
30 #include <iostream>
31 #include <sstream>
32 #include <string>
33 #include <TH1F.h>
34 #include <TH2F.h>
35 
37  public:
40  label(pset.getParameter< std::vector<edm::InputTag> >("label")),
41  usetracker(pset.getParameter<bool>("usetracker")),
42  usemuon(pset.getParameter<bool>("usemuon")),
43  bsSrc(pset.getParameter< edm::InputTag >("beamSpot")),
44  label_tp_effic(pset.getParameter< edm::InputTag >("label_tp_effic")),
45  label_tp_fake(pset.getParameter< edm::InputTag >("label_tp_fake")),
46  associators(pset.getParameter< std::vector<std::string> >("associators")),
47  out(pset.getParameter<std::string>("outputFile")),
48  parametersDefiner(pset.getParameter<std::string>("parametersDefiner")),
49  min(pset.getParameter<double>("min")),
50  max(pset.getParameter<double>("max")),
51  nint(pset.getParameter<int>("nint")),
52  useFabs(pset.getParameter<bool>("useFabsEta")),
53  minpT(pset.getParameter<double>("minpT")),
54  maxpT(pset.getParameter<double>("maxpT")),
55  nintpT(pset.getParameter<int>("nintpT")),
56  minHit(pset.getParameter<double>("minHit")),
57  maxHit(pset.getParameter<double>("maxHit")),
58  nintHit(pset.getParameter<int>("nintHit")),
59  minPhi(pset.getParameter<double>("minPhi")),
60  maxPhi(pset.getParameter<double>("maxPhi")),
61  nintPhi(pset.getParameter<int>("nintPhi")),
62  minDxy(pset.getParameter<double>("minDxy")),
63  maxDxy(pset.getParameter<double>("maxDxy")),
64  nintDxy(pset.getParameter<int>("nintDxy")),
65  minDz(pset.getParameter<double>("minDz")),
66  maxDz(pset.getParameter<double>("maxDz")),
67  nintDz(pset.getParameter<int>("nintDz")),
68  minVertpos(pset.getParameter<double>("minVertpos")),
69  maxVertpos(pset.getParameter<double>("maxVertpos")),
70  nintVertpos(pset.getParameter<int>("nintVertpos")),
71  minZpos(pset.getParameter<double>("minZpos")),
72  maxZpos(pset.getParameter<double>("maxZpos")),
73  nintZpos(pset.getParameter<int>("nintZpos")),
74  useInvPt(pset.getParameter<bool>("useInvPt")),
75  //
76  ptRes_rangeMin(pset.getParameter<double>("ptRes_rangeMin")),
77  ptRes_rangeMax(pset.getParameter<double>("ptRes_rangeMax")),
78  phiRes_rangeMin(pset.getParameter<double>("phiRes_rangeMin")),
79  phiRes_rangeMax(pset.getParameter<double>("phiRes_rangeMax")),
80  cotThetaRes_rangeMin(pset.getParameter<double>("cotThetaRes_rangeMin")),
81  cotThetaRes_rangeMax(pset.getParameter<double>("cotThetaRes_rangeMax")),
82  dxyRes_rangeMin(pset.getParameter<double>("dxyRes_rangeMin")),
83  dxyRes_rangeMax(pset.getParameter<double>("dxyRes_rangeMax")),
84  dzRes_rangeMin(pset.getParameter<double>("dzRes_rangeMin")),
85  dzRes_rangeMax(pset.getParameter<double>("dzRes_rangeMax")),
86  ptRes_nbin(pset.getParameter<int>("ptRes_nbin")),
87  cotThetaRes_nbin(pset.getParameter<int>("cotThetaRes_nbin")),
88  phiRes_nbin(pset.getParameter<int>("phiRes_nbin")),
89  dxyRes_nbin(pset.getParameter<int>("dxyRes_nbin")),
90  dzRes_nbin(pset.getParameter<int>("dzRes_nbin")),
91  ignoremissingtkcollection_(pset.getUntrackedParameter<bool>("ignoremissingtrackcollection",false)),
92  skipHistoFit(pset.getUntrackedParameter<bool>("skipHistoFit",false)),
93  useLogPt(pset.getUntrackedParameter<bool>("useLogPt",false))
94  //
95  {
97  if(useLogPt){
98  maxpT=log10(maxpT);
99  minpT=log10(minpT);
100  }
101  }
102 
105 
106  virtual void doProfileX(TH2 * th2, MonitorElement* me){
107  if (th2->GetNbinsX()==me->getNbinsX()){
108  TProfile * p1 = (TProfile*) th2->ProfileX();
109  p1->Copy(*me->getTProfile());
110  delete p1;
111  } else {
112  throw cms::Exception("MuonTrackValidator") << "Different number of bins!";
113  }
114  }
115 
116  virtual void doProfileX(MonitorElement * th2m, MonitorElement* me) {
117  doProfileX(th2m->getTH2F(), me);
118  }
119 
120  virtual double getEta(double eta) {
121  if (useFabs) return fabs(eta);
122  else return eta;
123  }
124 
125  virtual double getPt(double pt) {
126  if (useInvPt && pt!=0) return 1/pt;
127  else return pt;
128  }
129 
130  void fillPlotFromVector(MonitorElement* h, std::vector<int>& vec) {
131  for (unsigned int j=0; j<vec.size(); j++){
132  h->setBinContent(j+1, vec[j]);
133  }
134  }
135 
136  void fillPlotFromVectors(MonitorElement* h, std::vector<int>& numerator, std::vector<int>& denominator,std::string type){
137  double value,err;
138  for (unsigned int j=0; j<numerator.size(); j++){
139  if (denominator[j]!=0){
140  if (type=="effic")
141  value = ((double) numerator[j])/((double) denominator[j]);
142  else if (type=="fakerate")
143  value = 1-((double) numerator[j])/((double) denominator[j]);
144  else return;
145  err = sqrt( value*(1-value)/(double) denominator[j] );
146  h->setBinContent(j+1, value);
147  h->setBinError(j+1,err);
148  }
149  else {
150  h->setBinContent(j+1, 0);
151  }
152  }
153  }
154 
155  void BinLogX(TH1*h)
156  {
157 
158  TAxis *axis = h->GetXaxis();
159  int bins = axis->GetNbins();
160 
161  float from = axis->GetXmin();
162  float to = axis->GetXmax();
163  float width = (to - from) / bins;
164  float *new_bins = new float[bins + 1];
165 
166  for (int i = 0; i <= bins; i++) {
167  new_bins[i] = TMath::Power(10, from + i * width);
168 
169  }
170  axis->Set(bins, new_bins);
171  delete[] new_bins;
172  }
173 
174  void setUpVectors() {
175  std::vector<double> etaintervalsv;
176  std::vector<double> phiintervalsv;
177  std::vector<double> pTintervalsv;
178  std::vector<double> dxyintervalsv;
179  std::vector<double> dzintervalsv;
180  std::vector<double> vertposintervalsv;
181  std::vector<double> zposintervalsv;
182  std::vector<int> totSIMveta,totASSveta,totASS2veta,totRECveta;
183  std::vector<int> totSIMvpT,totASSvpT,totASS2vpT,totRECvpT;
184  std::vector<int> totSIMv_hit,totASSv_hit,totASS2v_hit,totRECv_hit;
185  std::vector<int> totSIMv_phi,totASSv_phi,totASS2v_phi,totRECv_phi;
186  std::vector<int> totSIMv_dxy,totASSv_dxy,totASS2v_dxy,totRECv_dxy;
187  std::vector<int> totSIMv_dz,totASSv_dz,totASS2v_dz,totRECv_dz;
188  std::vector<int> totSIMv_vertpos,totASSv_vertpos,totSIMv_zpos,totASSv_zpos;
189 
190  // for muon Validation
191  std::vector<int> totASSveta_Quality05, totASSveta_Quality075;
192  std::vector<int> totASSvpT_Quality05, totASSvpT_Quality075;
193  std::vector<int> totASSv_phi_Quality05, totASSv_phi_Quality075;
194 
195  double step=(max-min)/nint;
196  std::ostringstream title,name;
197  etaintervalsv.push_back(min);
198  for (int k=1;k<nint+1;k++) {
199  double d=min+k*step;
200  etaintervalsv.push_back(d);
201  totSIMveta.push_back(0);
202  totASSveta.push_back(0);
203  totASS2veta.push_back(0);
204  totRECveta.push_back(0);
205  //
206  totASSveta_Quality05.push_back(0);
207  totASSveta_Quality075.push_back(0);
208  }
209  etaintervals.push_back(etaintervalsv);
210  totSIMeta.push_back(totSIMveta);
211  totASSeta.push_back(totASSveta);
212  totASS2eta.push_back(totASS2veta);
213  totRECeta.push_back(totRECveta);
214  //
215  totASSeta_Quality05.push_back(totASSveta_Quality05);
216  totASSeta_Quality075.push_back(totASSveta_Quality075);
217 
218  double steppT = (maxpT-minpT)/nintpT;
219  pTintervalsv.push_back(minpT);
220  for (int k=1;k<nintpT+1;k++) {
221  double d=0;
222  if(useLogPt)d=pow(10,minpT+k*steppT);
223  else d=minpT+k*steppT;
224  pTintervalsv.push_back(d);
225  totSIMvpT.push_back(0);
226  totASSvpT.push_back(0);
227  totASS2vpT.push_back(0);
228  totRECvpT.push_back(0);
229  //
230  totASSvpT_Quality05.push_back(0);
231  totASSvpT_Quality075.push_back(0);
232  }
233  pTintervals.push_back(pTintervalsv);
234  totSIMpT.push_back(totSIMvpT);
235  totASSpT.push_back(totASSvpT);
236  totASS2pT.push_back(totASS2vpT);
237  totRECpT.push_back(totRECvpT);
238  //
239  totASSpT_Quality05.push_back(totASSvpT_Quality05);
240  totASSpT_Quality075.push_back(totASSvpT_Quality075);
241 
242  for (int k=1;k<nintHit+1;k++) {
243  totSIMv_hit.push_back(0);
244  totASSv_hit.push_back(0);
245  totASS2v_hit.push_back(0);
246  totRECv_hit.push_back(0);
247  }
248  totSIM_hit.push_back(totSIMv_hit);
249  totASS_hit.push_back(totASSv_hit);
250  totASS2_hit.push_back(totASS2v_hit);
251  totREC_hit.push_back(totRECv_hit);
252 
253  double stepPhi = (maxPhi-minPhi)/nintPhi;
254  phiintervalsv.push_back(minPhi);
255  for (int k=1;k<nintPhi+1;k++) {
256  double d=minPhi+k*stepPhi;
257  phiintervalsv.push_back(d);
258  totSIMv_phi.push_back(0);
259  totASSv_phi.push_back(0);
260  totASS2v_phi.push_back(0);
261  totRECv_phi.push_back(0);
262  //
263  totASSv_phi_Quality05.push_back(0);
264  totASSv_phi_Quality075.push_back(0);
265  }
266  phiintervals.push_back(phiintervalsv);
267  totSIM_phi.push_back(totSIMv_phi);
268  totASS_phi.push_back(totASSv_phi);
269  totASS2_phi.push_back(totASS2v_phi);
270  totREC_phi.push_back(totRECv_phi);
271  //
272  totASS_phi_Quality05.push_back(totASSv_phi_Quality05);
273  totASS_phi_Quality075.push_back(totASSv_phi_Quality075);
274 
275  double stepDxy = (maxDxy-minDxy)/nintDxy;
276  dxyintervalsv.push_back(minDxy);
277  for (int k=1;k<nintDxy+1;k++) {
278  double d=minDxy+k*stepDxy;
279  dxyintervalsv.push_back(d);
280  totSIMv_dxy.push_back(0);
281  totASSv_dxy.push_back(0);
282  totASS2v_dxy.push_back(0);
283  totRECv_dxy.push_back(0);
284  }
285  dxyintervals.push_back(dxyintervalsv);
286  totSIM_dxy.push_back(totSIMv_dxy);
287  totASS_dxy.push_back(totASSv_dxy);
288  totASS2_dxy.push_back(totASS2v_dxy);
289  totREC_dxy.push_back(totRECv_dxy);
290 
291 
292  double stepDz = (maxDz-minDz)/nintDz;
293  dzintervalsv.push_back(minDz);
294  for (int k=1;k<nintDz+1;k++) {
295  double d=minDz+k*stepDz;
296  dzintervalsv.push_back(d);
297  totSIMv_dz.push_back(0);
298  totASSv_dz.push_back(0);
299  totASS2v_dz.push_back(0);
300  totRECv_dz.push_back(0);
301  }
302  dzintervals.push_back(dzintervalsv);
303  totSIM_dz.push_back(totSIMv_dz);
304  totASS_dz.push_back(totASSv_dz);
305  totASS2_dz.push_back(totASS2v_dz);
306  totREC_dz.push_back(totRECv_dz);
307 
308  double stepVertpos = (maxVertpos-minVertpos)/nintVertpos;
309  vertposintervalsv.push_back(minVertpos);
310  for (int k=1;k<nintVertpos+1;k++) {
311  double d=minVertpos+k*stepVertpos;
312  vertposintervalsv.push_back(d);
313  totSIMv_vertpos.push_back(0);
314  totASSv_vertpos.push_back(0);
315  }
316  vertposintervals.push_back(vertposintervalsv);
317  totSIM_vertpos.push_back(totSIMv_vertpos);
318  totASS_vertpos.push_back(totASSv_vertpos);
319 
320  double stepZpos = (maxZpos-minZpos)/nintZpos;
321  zposintervalsv.push_back(minZpos);
322  for (int k=1;k<nintZpos+1;k++) {
323  double d=minZpos+k*stepZpos;
324  zposintervalsv.push_back(d);
325  totSIMv_zpos.push_back(0);
326  totASSv_zpos.push_back(0);
327  }
328  zposintervals.push_back(zposintervalsv);
329  totSIM_zpos.push_back(totSIMv_zpos);
330  totASS_zpos.push_back(totASSv_zpos);
331 
332  }
333 
334  protected:
335 
337 
338  std::vector<edm::InputTag> label;
340  bool usemuon;
344  std::vector<std::string> associators;
345  std::string out;
346  std::string parametersDefiner;
347 
348  double min, max;
349  int nint;
350  bool useFabs;
351  double minpT, maxpT;
352  int nintpT;
353  double minHit, maxHit;
354  int nintHit;
355  double minPhi, maxPhi;
356  int nintPhi;
357  double minDxy, maxDxy;
358  int nintDxy;
359  double minDz, maxDz;
360  int nintDz;
363  double minZpos, maxZpos;
364  int nintZpos;
365  bool useInvPt;
366  //
373  bool useLogPt;
374 
376  std::vector<const TrackAssociatorBase*> associator;
377 
378  //sim
379  std::vector<MonitorElement*> h_ptSIM, h_etaSIM, h_tracksSIM, h_vertposSIM;
380 
381  //1D
382  std::vector<MonitorElement*> h_tracks, h_fakes, h_hits, h_charge;
383  std::vector<MonitorElement*> h_effic, h_fakerate, h_recoeta, h_assoceta, h_assoc2eta, h_simuleta;
384  std::vector<MonitorElement*> h_efficPt, h_fakeratePt, h_recopT, h_assocpT, h_assoc2pT, h_simulpT;
391 
395 
396  //2D
397  std::vector<MonitorElement*> nrec_vs_nsim;
398  std::vector<MonitorElement*> nrecHit_vs_nsimHit_sim2rec;
399  std::vector<MonitorElement*> nrecHit_vs_nsimHit_rec2sim;
400 
401  //assoc hits
402  std::vector<MonitorElement*> h_assocFraction, h_assocSharedHit;
403 
404  //#hit vs eta: to be used with doProfileX
405  std::vector<MonitorElement*> nhits_vs_eta,
407 
408  std::vector<MonitorElement*> h_hits_eta,
410 
411 
412  std::vector< std::vector<double> > etaintervals;
413  std::vector< std::vector<double> > pTintervals;
414  std::vector< std::vector<double> > phiintervals;
415  std::vector< std::vector<double> > dxyintervals;
416  std::vector< std::vector<double> > dzintervals;
417  std::vector< std::vector<double> > vertposintervals;
418  std::vector< std::vector<double> > zposintervals;
419  std::vector< std::vector<int> > totSIMeta,totRECeta,totASSeta,totASS2eta;
420  std::vector< std::vector<int> > totSIMpT,totRECpT,totASSpT,totASS2pT;
421  std::vector< std::vector<int> > totSIM_hit,totREC_hit,totASS_hit,totASS2_hit;
422  std::vector< std::vector<int> > totSIM_phi,totREC_phi,totASS_phi,totASS2_phi;
423  std::vector< std::vector<int> > totSIM_dxy,totREC_dxy,totASS_dxy,totASS2_dxy;
424  std::vector< std::vector<int> > totSIM_dz,totREC_dz,totASS_dz,totASS2_dz;
425  std::vector< std::vector<int> > totSIM_vertpos,totASS_vertpos,totSIM_zpos,totASS_zpos;
426 
427  // for muon Validation (SimToReco distributions for Quality > 0.5, 0.75)
428  std::vector<MonitorElement*> h_PurityVsQuality;
429  std::vector< std::vector<int> > totASSeta_Quality05,totASSeta_Quality075;
430  std::vector< std::vector<int> > totASSpT_Quality05, totASSpT_Quality075;
431  std::vector< std::vector<int> > totASS_phi_Quality05, totASS_phi_Quality075;
432 
433 };
434 
435 
436 #endif
std::vector< MonitorElement * > h_assoc2phi
std::vector< MonitorElement * > h_recoeta
type
Definition: HCALResponse.h:22
std::vector< MonitorElement * > nrecHit_vs_nsimHit_sim2rec
std::vector< MonitorElement * > h_DThits_eta
std::vector< MonitorElement * > h_assoc2hit
std::vector< std::vector< int > > totASS_zpos
int i
Definition: DBlmapReader.cc:9
std::vector< MonitorElement * > h_PurityVsQuality
std::vector< std::vector< int > > totASSeta_Quality05
std::vector< MonitorElement * > h_recopT
edm::ESHandle< MagneticField > theMF
void setBinContent(int binx, double content)
set content of bin (1-D)
std::vector< std::vector< int > > totREC_phi
std::vector< MonitorElement * > h_assoc2dxy
std::vector< MonitorElement * > nrecHit_vs_nsimHit_rec2sim
std::vector< std::vector< int > > totASS2_hit
std::vector< MonitorElement * > h_fake_vs_phi
void fillPlotFromVectors(MonitorElement *h, std::vector< int > &numerator, std::vector< int > &denominator, std::string type)
std::vector< MonitorElement * > h_assocpT_Quality075
std::vector< std::vector< int > > totRECpT
std::vector< std::vector< int > > totREC_dz
std::vector< MonitorElement * > nrec_vs_nsim
std::vector< MonitorElement * > h_pullDz
std::vector< MonitorElement * > h_recohit
std::vector< MonitorElement * > h_etaSIM
std::vector< MonitorElement * > h_assocvertpos
std::vector< MonitorElement * > h_fakes
virtual double getEta(double eta)
std::vector< MonitorElement * > h_eta
std::vector< std::vector< int > > totASS_dz
std::vector< std::vector< double > > etaintervals
std::vector< MonitorElement * > h_pt
std::vector< MonitorElement * > h_pullQoverp
std::vector< MonitorElement * > h_effic_vs_dz
std::vector< std::vector< int > > totSIM_zpos
std::vector< MonitorElement * > h_CSChits_eta
std::vector< std::vector< int > > totASS2_dz
std::vector< std::vector< int > > totASS_phi_Quality05
std::vector< MonitorElement * > h_assoceta
std::vector< MonitorElement * > h_tracks
std::vector< std::vector< double > > dxyintervals
std::vector< MonitorElement * > h_assoceta_Quality075
T eta() const
std::vector< MonitorElement * > nDThits_vs_eta
std::vector< std::vector< int > > totASS_phi
std::vector< MonitorElement * > h_effic_vs_zpos
std::vector< MonitorElement * > h_efficPt_Quality05
std::vector< std::vector< int > > totASS_dxy
std::vector< MonitorElement * > h_efficPt
std::vector< MonitorElement * > h_fakerate
std::vector< MonitorElement * > h_simuldxy
std::vector< std::vector< int > > totSIM_dxy
std::vector< MonitorElement * > h_simuldz
std::vector< std::vector< int > > totASSeta_Quality075
std::vector< MonitorElement * > nhits_vs_eta
virtual double getPt(double pt)
std::vector< MonitorElement * > h_assoczpos
std::vector< MonitorElement * > h_simulphi
std::vector< std::vector< int > > totASS2pT
std::vector< MonitorElement * > h_vertposSIM
virtual void doProfileX(TH2 *th2, MonitorElement *me)
std::vector< edm::InputTag > label
std::vector< MonitorElement * > h_assocSharedHit
std::vector< std::vector< double > > pTintervals
std::vector< MonitorElement * > h_efficPt_Quality075
virtual ~MuonTrackValidatorBase()
Destructor.
std::vector< std::vector< int > > totASS2eta
T sqrt(T t)
Definition: SSEVec.h:28
std::vector< std::vector< int > > totSIMpT
std::vector< std::vector< int > > totREC_dxy
std::vector< MonitorElement * > h_assoc2dz
std::vector< MonitorElement * > h_pullPhi
std::vector< std::vector< int > > totSIM_hit
std::vector< MonitorElement * > h_effic_vs_phi_Quality05
std::vector< MonitorElement * > h_recophi
std::vector< std::vector< int > > totASSpT
int j
Definition: DBlmapReader.cc:9
std::vector< std::vector< int > > totASS_phi_Quality075
std::vector< MonitorElement * > h_effic_Quality05
std::vector< MonitorElement * > h_effic
std::vector< MonitorElement * > h_effic_vs_phi_Quality075
tuple pset
Definition: CrabTask.py:85
std::vector< MonitorElement * > h_pullTheta
std::vector< std::vector< int > > totSIM_vertpos
std::vector< std::vector< int > > totASSpT_Quality05
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
std::vector< std::vector< int > > totREC_hit
std::vector< MonitorElement * > h_simulhit
std::vector< MonitorElement * > h_effic_vs_dxy
std::vector< std::vector< int > > totSIMeta
std::vector< std::vector< int > > totASS2_dxy
std::vector< MonitorElement * > h_charge
std::vector< MonitorElement * > h_effic_vs_phi
std::vector< MonitorElement * > h_assocphi
virtual void doProfileX(MonitorElement *th2m, MonitorElement *me)
std::vector< std::vector< int > > totASS2_phi
std::vector< std::vector< double > > phiintervals
int k[5][pyjets_maxn]
static std::string from(" from ")
std::vector< std::vector< int > > totASSpT_Quality075
std::vector< MonitorElement * > h_assocpT
std::vector< MonitorElement * > h_pullDxy
std::vector< MonitorElement * > h_simulpT
std::vector< MonitorElement * > h_tracksSIM
std::vector< MonitorElement * > h_assocphi_Quality05
std::vector< MonitorElement * > h_simulzpos
std::vector< MonitorElement * > h_recodz
std::vector< MonitorElement * > h_effic_Quality075
std::vector< MonitorElement * > h_assocphi_Quality075
std::vector< std::vector< int > > totSIM_phi
void fillPlotFromVector(MonitorElement *h, std::vector< int > &vec)
std::vector< MonitorElement * > h_hits_eta
std::vector< MonitorElement * > h_hits
std::vector< MonitorElement * > h_fake_vs_dz
std::vector< MonitorElement * > h_effic_vs_vertpos
double p1[4]
Definition: TauolaWrapper.h:89
std::vector< std::vector< int > > totASSeta
std::vector< MonitorElement * > h_simulvertpos
MuonTrackValidatorBase(const edm::ParameterSet &pset)
Constructor.
std::vector< const TrackAssociatorBase * > associator
TProfile * getTProfile(void) const
std::vector< std::vector< int > > totRECeta
std::vector< std::vector< double > > vertposintervals
std::vector< std::vector< double > > dzintervals
std::vector< MonitorElement * > h_recodxy
std::vector< MonitorElement * > h_ptSIM
int getNbinsX(void) const
get # of bins in X-axis
std::vector< MonitorElement * > h_assocdz
std::vector< std::vector< double > > zposintervals
std::vector< MonitorElement * > h_assocpT_Quality05
std::vector< MonitorElement * > h_RPChits_eta
std::vector< MonitorElement * > h_assoc2pT
std::vector< MonitorElement * > h_fake_vs_dxy
std::vector< MonitorElement * > h_assocFraction
TH2F * getTH2F(void) const
std::vector< std::vector< int > > totSIM_dz
std::vector< std::string > associators
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
Definition: Activities.doc:4
std::vector< MonitorElement * > h_assoceta_Quality05
std::vector< MonitorElement * > h_assocdxy
std::vector< MonitorElement * > nRPChits_vs_eta
std::vector< std::vector< int > > totASS_vertpos
std::vector< MonitorElement * > h_assochit
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
std::vector< std::vector< int > > totASS_hit
std::vector< MonitorElement * > h_fakeratePt
std::vector< MonitorElement * > nCSChits_vs_eta
std::vector< MonitorElement * > h_fake_vs_hit
std::vector< MonitorElement * > h_effic_vs_hit
std::vector< MonitorElement * > h_simuleta
std::vector< MonitorElement * > h_assoc2eta