CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
QcdLowPtDQM.h
Go to the documentation of this file.
1 
2 #ifndef QcdLowPtDQM_H
3 #define QcdLowPtDQM_H
4 
14 #include <TMath.h>
15 #include <vector>
16 
17 class TrackerGeometry;
19 class TrackerTopology;
20 class TrackerTopologyRcd;
21 class TH1F;
22 class TH2F;
23 class TH3F;
24 
25 namespace qlpd {
26  struct Cache {};
27 } // namespace qlpd
28 
29 class QcdLowPtDQM : public DQMOneEDAnalyzer<edm::LuminosityBlockCache<qlpd::Cache>> {
30 public:
31  class Pixel {
32  public:
33  Pixel(double x = 0,
34  double y = 0,
35  double z = 0,
36  double eta = 0,
37  double phi = 0,
38  double adc = 0,
39  double sx = 0,
40  double sy = 0)
41  : x_(x),
42  y_(y),
43  z_(z),
44  rho_(TMath::Sqrt(x_ * x_ + y_ * y_)),
45  eta_(eta),
46  phi_(phi),
47  adc_(adc),
48  sizex_(sx),
49  sizey_(sy) {}
50  Pixel(const GlobalPoint &p, double adc = 0, double sx = 0, double sy = 0)
51  : x_(p.x()),
52  y_(p.y()),
53  z_(p.z()),
54  rho_(TMath::Sqrt(x_ * x_ + y_ * y_)),
55  eta_(p.eta()),
56  phi_(p.phi()),
57  adc_(adc),
58  sizex_(sx),
59  sizey_(sy) {}
60  double adc() const { return adc_; }
61  double eta() const { return eta_; }
62  double rho() const { return rho_; }
63  double phi() const { return phi_; }
64  double sizex() const { return sizex_; }
65  double sizey() const { return sizey_; }
66  double x() const { return x_; }
67  double y() const { return y_; }
68  double z() const { return z_; }
69 
70  protected:
71  double x_, y_, z_, rho_, eta_, phi_;
72  double adc_, sizex_, sizey_;
73  };
74  class Tracklet {
75  public:
76  Tracklet() : i1_(-1), i2_(-2), deta_(0), dphi_(0) {}
77  Tracklet(const Pixel &p1, const Pixel &p2)
78  : p1_(p1), p2_(p2), i1_(-1), i2_(-1), deta_(p1.eta() - p2.eta()), dphi_(Geom::deltaPhi(p1.phi(), p2.phi())) {}
79  double deta() const { return deta_; }
80  double dphi() const { return dphi_; }
81  int i1() const { return i1_; }
82  int i2() const { return i2_; }
83  double eta() const { return p1_.eta(); }
84  const Pixel &p1() const { return p1_; }
85  const Pixel &p2() const { return p2_; }
86  void seti1(int i1) { i1_ = i1; }
87  void seti2(int i2) { i2_ = i2; }
88 
89  protected:
91  int i1_, i2_;
92  double deta_, dphi_;
93  };
94  class Vertex {
95  public:
96  Vertex(double x = 0, double y = 0, double z = 0, double xs = 0, double ys = 0, double zs = 0, int n = 0)
97  : x_(x), y_(y), z_(z), xs_(xs), ys_(ys), zs_(zs), n_(n) {}
98  int n() const { return n_; }
99  double x() const { return x_; }
100  double y() const { return y_; }
101  double z() const { return z_; }
102  double xs() const { return xs_; }
103  double ys() const { return ys_; }
104  double zs() const { return zs_; }
105  void set(int n, double z, double zs) {
106  n_ = n;
107  z_ = z;
108  zs_ = zs;
109  }
110  void set(int n, double x, double y, double z, double xs, double ys, double zs) {
111  n_ = n;
112  x_ = x;
113  xs_ = xs;
114  y_ = y;
115  ys_ = ys;
116  z_ = z;
117  zs_ = zs;
118  }
119 
120  protected:
121  double x_, y_, z_, xs_, ys_, zs_;
122  int n_;
123  };
124 
126  ~QcdLowPtDQM() override;
127  void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override;
128  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
129  void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override;
130  std::shared_ptr<qlpd::Cache> globalBeginLuminosityBlock(const edm::LuminosityBlock &,
131  const edm::EventSetup &) const override;
132  void globalEndLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &iSetup) override;
133  void dqmEndRun(const edm::Run &r, const edm::EventSetup &iSetup) override;
134 
135 private:
136  void book1D(DQMStore::IBooker &,
137  std::vector<MonitorElement *> &mes,
138  const std::string &name,
139  const std::string &title,
140  int nx,
141  double x1,
142  double x2,
143  bool sumw2 = true,
144  bool sbox = true);
145  void book2D(DQMStore::IBooker &,
146  std::vector<MonitorElement *> &mes,
147  const std::string &name,
148  const std::string &title,
149  int nx,
150  double x1,
151  double x2,
152  int ny,
153  double y1,
154  double y2,
155  bool sumw2 = true,
156  bool sbox = true);
157  void create1D(std::vector<TH1F *> &mes,
158  const std::string &name,
159  const std::string &title,
160  int nx,
161  double x1,
162  double x2,
163  bool sumw2 = true,
164  bool sbox = true);
165  void create2D(std::vector<TH2F *> &mes,
166  const std::string &name,
167  const std::string &title,
168  int nx,
169  double x1,
170  double x2,
171  int ny,
172  double y1,
173  double y2,
174  bool sumw2 = true,
175  bool sbox = true);
176  void fill1D(std::vector<TH1F *> &hs, double val, double w = 1.);
177  void fill1D(std::vector<MonitorElement *> &mes, double val, double w = 1.);
178  void fill2D(std::vector<TH2F *> &hs, double valx, double valy, double w = 1.);
179  void fill2D(std::vector<MonitorElement *> &mes, double valx, double valy, double w = 1.);
180  void fill3D(std::vector<TH3F *> &hs, int gbin, double w = 1.);
181  void filldNdeta(const TH3F *AlphaTracklets,
182  const std::vector<TH3F *> &NsigTracklets,
183  const std::vector<TH3F *> &NbkgTracklets,
184  const std::vector<TH1F *> &NEvsPerEta,
185  std::vector<MonitorElement *> &hdNdEtaRawTrkl,
186  std::vector<MonitorElement *> &hdNdEtaSubTrkl,
187  std::vector<MonitorElement *> &hdNdEtaTrklets);
188  void fillHltBits(const edm::Event &iEvent);
189  void fillPixels(const edm::Event &iEvent, const edm::EventSetup &iSetup);
190  void fillPixelClusterInfos(const edm::Event &iEvent, int which = 12);
191  void fillPixelClusterInfos(const double vz,
192  const std::vector<Pixel> &pix,
193  std::vector<MonitorElement *> &hClusterYSize,
194  std::vector<MonitorElement *> &hClusterADC);
195  void fillTracklets(const edm::Event &iEvent, int which = 12);
196  void fillTracklets(std::vector<Tracklet> &tracklets,
197  const std::vector<Pixel> &pix1,
198  const std::vector<Pixel> &pix2,
199  const Vertex &trackletV);
200  void fillTracklets(const std::vector<Tracklet> &tracklets,
201  const std::vector<Pixel> &pixels,
202  const Vertex &trackletV,
203  const TH3F *AlphaTracklets,
204  std::vector<TH3F *> &NsigTracklets,
205  std::vector<TH3F *> &NbkgTracklets,
206  std::vector<TH1F *> &eventpereta,
207  std::vector<MonitorElement *> &detaphi,
208  std::vector<MonitorElement *> &deta,
209  std::vector<MonitorElement *> &dphi,
210  std::vector<MonitorElement *> &etavsvtx);
211  template <typename TYPE>
212  void getProduct(const std::string name, edm::Handle<TYPE> &prod, const edm::Event &event) const;
213  template <typename TYPE>
214  bool getProductSafe(const std::string name, edm::Handle<TYPE> &prod, const edm::Event &event) const;
215  void print(int level, const char *msg);
216  void print(int level, const std::string &msg) { print(level, msg.c_str()); }
217  void reallyPrint(int level, const char *msg);
218  void trackletVertexUnbinned(const edm::Event &iEvent, int which = 12);
219  void trackletVertexUnbinned(std::vector<Pixel> &pix1, std::vector<Pixel> &pix2, Vertex &vtx);
220  double vertexZFromClusters(const std::vector<Pixel> &pix) const;
221  void yieldAlphaHistogram(int which = 12);
222 
225  std::string hltResName_; // HLT trigger results name
226  std::vector<std::string> hltProcNames_; // HLT process name(s)
227  std::vector<std::string> hltTrgNames_; // HLT trigger name(s)
228  std::string pixelName_; // pixel reconstructed hits name
229  std::string clusterVtxName_; // cluster vertex name
230  double ZVCut_; // Z vertex cut for selected events
231  double ZVEtaRegion_; // Z vertex eta region
232  double ZVVtxRegion_; // Z vertex vtx region
233  double dPhiVc_; // dPhi vertex cut for tracklet based vertex
234  double dZVc_; // dZ vertex cut for tracklet based vertex
235  double sigEtaCut_; // signal tracklet eta cut
236  double sigPhiCut_; // signal tracklet phi cut
237  double bkgEtaCut_; // bkg tracklet eta cut
238  double bkgPhiCut_; // bgk tracklet phi cut
239  int verbose_; // verbosity (0=debug,1=warn,2=error,3=throw)
240  int pixLayers_; // 12 for 12, 13 for 12 and 13, 23 for all
241  int clusLayers_; // 12 for 12, 13 for 12 and 13, 23 for all
242  bool useRecHitQ_; // if true use rec hit quality word
243  bool usePixelQ_; // if true use pixel hit quality word
244  std::vector<int> hltTrgBits_; // HLT trigger bit(s)
245  std::vector<bool> hltTrgDeci_; // HLT trigger descision(s)
246  std::vector<std::string> hltTrgUsedNames_; // HLT used trigger name(s)
247  std::string hltUsedResName_; // used HLT trigger results name
248  std::vector<Pixel> bpix1_; // barrel pixels layer 1
249  std::vector<Pixel> bpix2_; // barrel pixels layer 2
250  std::vector<Pixel> bpix3_; // barrel pixels layer 3
251  std::vector<Tracklet> btracklets12_; // barrel tracklets 12
252  std::vector<Tracklet> btracklets13_; // barrel tracklets 13
253  std::vector<Tracklet> btracklets23_; // barrel tracklets 23
254  Vertex trackletV12_; // reconstructed tracklet vertex 12
255  Vertex trackletV13_; // reconstructed tracklet vertex 13
256  Vertex trackletV23_; // reconstructed tracklet vertex 23
257  std::vector<TH3F *> NsigTracklets12_; // number of signal tracklets 12
258  std::vector<TH3F *> NbkgTracklets12_; // number of background tracklets 12
259  std::vector<TH1F *> hEvtCountsPerEta12_; // event count per tracklet12
260  // eta-vtx region
261  TH3F *AlphaTracklets12_; // alpha correction for tracklets 12
262  std::vector<TH3F *> NsigTracklets13_; // number of signal tracklets 13
263  std::vector<TH3F *> NbkgTracklets13_; // number of background tracklets 13
264  std::vector<TH1F *> hEvtCountsPerEta13_; // event count per tracklet13
265  // eta-vtx region
266  TH3F *AlphaTracklets13_; // alpha correction for tracklets 13
267  std::vector<TH3F *> NsigTracklets23_; // number of signal tracklets 23
268  std::vector<TH3F *> NbkgTracklets23_; // number of background tracklets 23
269  std::vector<TH1F *> hEvtCountsPerEta23_; // event count per tracklet23
270  // eta-vtx region
271  TH3F *AlphaTracklets23_; // alpha correction for tracklets 23
273  const TrackerGeometry *tgeo_; // tracker geometry
274  MonitorElement *repSumMap_; // report summary map
275  MonitorElement *repSummary_; // report summary
276  MonitorElement *h2TrigCorr_; // trigger correlation plot
277  std::vector<MonitorElement *> hNhitsL1_; // number of hits on layer 1
278  std::vector<MonitorElement *> hNhitsL2_; // number of hits on layer 2
279  std::vector<MonitorElement *> hNhitsL3_; // number of hits on layer 3
280  std::vector<MonitorElement *> hNhitsL1z_; // number of hits on layer 1
281  // (zoomed)
282  std::vector<MonitorElement *> hNhitsL2z_; // number of hits on layer 2
283  // (zoomed)
284  std::vector<MonitorElement *> hNhitsL3z_; // number of hits on layer 3
285  // (zoomed)
286  std::vector<MonitorElement *> hdNdEtaHitsL1_; // dN/dEta of hits on layer 1
287  std::vector<MonitorElement *> hdNdEtaHitsL2_; // dN/dEta of hits on layer 2
288  std::vector<MonitorElement *> hdNdEtaHitsL3_; // dN/dEta of hits on layer 3
289  std::vector<MonitorElement *> hdNdPhiHitsL1_; // dN/dPhi of hits on layer 1
290  std::vector<MonitorElement *> hdNdPhiHitsL2_; // dN/dPhi of hits on layer 2
291  std::vector<MonitorElement *> hdNdPhiHitsL3_; // dN/dPhi of hits on layer 3
292  std::vector<MonitorElement *> hTrkVtxZ12_; // tracklet z vertex 12 histograms
293  std::vector<MonitorElement *> hTrkVtxZ13_; // tracklet z vertex 13 histograms
294  std::vector<MonitorElement *> hTrkVtxZ23_; // tracklet z vertex 23 histograms
295  std::vector<MonitorElement *> hRawTrkEtaVtxZ12_; // tracklet eta vs z vertex
296  // 12 histograms
297  std::vector<MonitorElement *> hRawTrkEtaVtxZ13_; // tracklet eta vs z vertex
298  // 13 histograms
299  std::vector<MonitorElement *> hRawTrkEtaVtxZ23_; // tracklet eta vs z vertex
300  // 23 histograms
301  std::vector<MonitorElement *> hTrkRawDetaDphi12_; // tracklet12 Deta/Dphi
302  // distribution
303  std::vector<MonitorElement *> hTrkRawDeta12_; // tracklet12 Deta distribution
304  std::vector<MonitorElement *> hTrkRawDphi12_; // tracklet12 Dphi distribution
305  std::vector<MonitorElement *> hTrkRawDetaDphi13_; // tracklet13 Deta/Dphi
306  // distribution
307  std::vector<MonitorElement *> hTrkRawDeta13_; // tracklet13 Deta distribution
308  std::vector<MonitorElement *> hTrkRawDphi13_; // tracklet13 Dphi distribution
309  std::vector<MonitorElement *> hTrkRawDetaDphi23_; // tracklet23 Deta/Dphi
310  // distribution
311  std::vector<MonitorElement *> hTrkRawDeta23_; // tracklet23 Deta distribution
312  std::vector<MonitorElement *> hTrkRawDphi23_; // tracklet23 Dphi distribution
313  std::vector<MonitorElement *> hdNdEtaRawTrkl12_; // dN/dEta from raw
314  // tracklets 12
315  std::vector<MonitorElement *> hdNdEtaSubTrkl12_; // dN/dEta from beta
316  // tracklets 12
317  std::vector<MonitorElement *> hdNdEtaTrklets12_; // dN/dEta corrected by
318  // alpha 12
319  std::vector<MonitorElement *> hdNdEtaRawTrkl13_; // dN/dEta from raw
320  // tracklets 13
321  std::vector<MonitorElement *> hdNdEtaSubTrkl13_; // dN/dEta from beta
322  // tracklets 13
323  std::vector<MonitorElement *> hdNdEtaTrklets13_; // dN/dEta corrected by
324  // alpha 13
325  std::vector<MonitorElement *> hdNdEtaRawTrkl23_; // dN/dEta from raw
326  // tracklets 23
327  std::vector<MonitorElement *> hdNdEtaSubTrkl23_; // dN/dEta from beta
328  // tracklets 23
329  std::vector<MonitorElement *> hdNdEtaTrklets23_; // dN/dEta corrected by
330  // alpha 23
331  std::vector<MonitorElement *> hClusterVertexZ_; // cluster z vertex
332  // histograms
333  std::vector<MonitorElement *> hClusterYSize1_; // cluster y size histograms
334  // on layer 1
335  std::vector<MonitorElement *> hClusterYSize2_; // cluster y size histograms
336  // on layer 2
337  std::vector<MonitorElement *> hClusterYSize3_; // cluster y size histograms
338  // on layer 3
339  std::vector<MonitorElement *> hClusterADC1_; // cluster adc histograms on
340  // layer 1
341  std::vector<MonitorElement *> hClusterADC2_; // cluster adc histograms on
342  // layer 2
343  std::vector<MonitorElement *> hClusterADC3_; // cluster adc histograms on
344  // layer 3
345 };
346 
347 //--------------------------------------------------------------------------------------------------
348 template <typename TYPE>
350  // Try to access data collection from EDM file. We check if we really get just
351  // one
352  // product with the given name. If not we throw an exception.
353 
354  event.getByLabel(edm::InputTag(name), prod);
355  if (!prod.isValid())
356  throw edm::Exception(edm::errors::Configuration, "QcdLowPtDQM::GetProduct()\n")
357  << "Collection with label " << name << " is not valid" << std::endl;
358 }
359 
360 //--------------------------------------------------------------------------------------------------
361 template <typename TYPE>
363  edm::Handle<TYPE> &prod,
364  const edm::Event &event) const {
365  // Try to safely access data collection from EDM file. We check if we really
366  // get just one
367  // product with the given name. If not, we return false.
368 
369  if (name.empty())
370  return false;
371 
372  try {
373  event.getByLabel(edm::InputTag(name), prod);
374  if (!prod.isValid())
375  return false;
376  } catch (...) {
377  return false;
378  }
379  return true;
380 }
381 
382 //--------------------------------------------------------------------------------------------------
383 inline void QcdLowPtDQM::print(int level, const char *msg) {
384  // Print out message if it
385 
386  if (level >= verbose_)
387  reallyPrint(level, msg);
388 }
389 #endif
390 
391 /* Local Variables: */
392 /* show-trailing-whitespace: t */
393 /* truncate-lines: t */
394 /* End: */
double x() const
Definition: QcdLowPtDQM.h:99
void seti2(int i2)
Definition: QcdLowPtDQM.h:87
double vertexZFromClusters(const std::vector< Pixel > &pix) const
void seti1(int i1)
Definition: QcdLowPtDQM.h:86
Pixel(double x=0, double y=0, double z=0, double eta=0, double phi=0, double adc=0, double sx=0, double sy=0)
Definition: QcdLowPtDQM.h:33
double dphi() const
Definition: QcdLowPtDQM.h:80
std::vector< std::string > hltProcNames_
Definition: QcdLowPtDQM.h:226
std::vector< MonitorElement * > hdNdPhiHitsL2_
Definition: QcdLowPtDQM.h:290
double sizey() const
Definition: QcdLowPtDQM.h:65
double ZVEtaRegion_
Definition: QcdLowPtDQM.h:231
double ZVCut_
Definition: QcdLowPtDQM.h:230
def which
Definition: eostools.py:336
QcdLowPtDQM(const edm::ParameterSet &parameters)
Definition: QcdLowPtDQM.cc:47
std::vector< Tracklet > btracklets23_
Definition: QcdLowPtDQM.h:253
std::vector< MonitorElement * > hNhitsL3_
Definition: QcdLowPtDQM.h:279
double deta() const
Definition: QcdLowPtDQM.h:79
const double w
Definition: UKUtility.cc:23
double z() const
Definition: QcdLowPtDQM.h:68
double sizex() const
Definition: QcdLowPtDQM.h:64
const Pixel & p1() const
Definition: QcdLowPtDQM.h:84
std::vector< MonitorElement * > hTrkRawDetaDphi13_
Definition: QcdLowPtDQM.h:305
HLTConfigProvider hltConfig_
Definition: QcdLowPtDQM.h:272
double y() const
Definition: QcdLowPtDQM.h:67
std::vector< TH3F * > NbkgTracklets12_
Definition: QcdLowPtDQM.h:258
int n() const
Definition: QcdLowPtDQM.h:98
std::vector< MonitorElement * > hdNdEtaRawTrkl13_
Definition: QcdLowPtDQM.h:319
std::vector< MonitorElement * > hdNdEtaRawTrkl23_
Definition: QcdLowPtDQM.h:325
double dZVc_
Definition: QcdLowPtDQM.h:234
double ys() const
Definition: QcdLowPtDQM.h:103
double z() const
Definition: QcdLowPtDQM.h:101
std::string pixelName_
Definition: QcdLowPtDQM.h:228
void trackletVertexUnbinned(const edm::Event &iEvent, int which=12)
void dqmEndRun(const edm::Run &r, const edm::EventSetup &iSetup) override
Definition: QcdLowPtDQM.cc:949
std::vector< bool > hltTrgDeci_
Definition: QcdLowPtDQM.h:245
std::string hltResName_
Definition: QcdLowPtDQM.h:225
std::vector< MonitorElement * > hRawTrkEtaVtxZ12_
Definition: QcdLowPtDQM.h:295
std::vector< TH3F * > NsigTracklets12_
Definition: QcdLowPtDQM.h:257
void print(int level, const std::string &msg)
Definition: QcdLowPtDQM.h:216
std::vector< TH1F * > hEvtCountsPerEta12_
Definition: QcdLowPtDQM.h:259
double phi() const
Definition: QcdLowPtDQM.h:63
std::vector< MonitorElement * > hNhitsL2z_
Definition: QcdLowPtDQM.h:282
Pixel(const GlobalPoint &p, double adc=0, double sx=0, double sy=0)
Definition: QcdLowPtDQM.h:50
std::vector< TH3F * > NsigTracklets23_
Definition: QcdLowPtDQM.h:267
std::vector< MonitorElement * > hTrkRawDeta23_
Definition: QcdLowPtDQM.h:311
std::vector< MonitorElement * > hdNdEtaHitsL1_
Definition: QcdLowPtDQM.h:286
std::vector< MonitorElement * > hdNdEtaSubTrkl23_
Definition: QcdLowPtDQM.h:327
std::vector< MonitorElement * > hClusterADC1_
Definition: QcdLowPtDQM.h:339
std::vector< TH3F * > NsigTracklets13_
Definition: QcdLowPtDQM.h:262
bool useRecHitQ_
Definition: QcdLowPtDQM.h:242
std::vector< MonitorElement * > hRawTrkEtaVtxZ23_
Definition: QcdLowPtDQM.h:299
std::vector< MonitorElement * > hClusterYSize2_
Definition: QcdLowPtDQM.h:335
double dPhiVc_
Definition: QcdLowPtDQM.h:233
double sigPhiCut_
Definition: QcdLowPtDQM.h:236
MonitorElement * repSummary_
Definition: QcdLowPtDQM.h:275
TH3F * AlphaTracklets13_
Definition: QcdLowPtDQM.h:266
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Definition: QcdLowPtDQM.cc:113
Vertex trackletV13_
Definition: QcdLowPtDQM.h:255
std::vector< MonitorElement * > hTrkVtxZ12_
Definition: QcdLowPtDQM.h:292
std::vector< MonitorElement * > hTrkVtxZ13_
Definition: QcdLowPtDQM.h:293
std::vector< TH3F * > NbkgTracklets13_
Definition: QcdLowPtDQM.h:263
std::vector< Tracklet > btracklets12_
Definition: QcdLowPtDQM.h:251
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: QcdLowPtDQM.cc:202
bool usePixelQ_
Definition: QcdLowPtDQM.h:243
std::vector< MonitorElement * > hTrkRawDeta12_
Definition: QcdLowPtDQM.h:303
std::vector< MonitorElement * > hdNdEtaHitsL2_
Definition: QcdLowPtDQM.h:287
std::vector< MonitorElement * > hdNdEtaSubTrkl13_
Definition: QcdLowPtDQM.h:321
void fill3D(std::vector< TH3F * > &hs, int gbin, double w=1.)
int iEvent
Definition: GenABIO.cc:224
void getProduct(const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
Definition: QcdLowPtDQM.h:349
void set(int n, double x, double y, double z, double xs, double ys, double zs)
Definition: QcdLowPtDQM.h:110
MonitorElement * repSumMap_
Definition: QcdLowPtDQM.h:274
std::vector< MonitorElement * > hClusterVertexZ_
Definition: QcdLowPtDQM.h:331
std::vector< std::string > hltTrgUsedNames_
Definition: QcdLowPtDQM.h:246
double eta() const
Definition: QcdLowPtDQM.h:83
std::vector< MonitorElement * > hNhitsL1_
Definition: QcdLowPtDQM.h:277
std::vector< MonitorElement * > hTrkRawDphi23_
Definition: QcdLowPtDQM.h:312
void globalEndLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &iSetup) override
Definition: QcdLowPtDQM.cc:921
std::shared_ptr< qlpd::Cache > globalBeginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &) const override
Definition: QcdLowPtDQM.cc:916
std::vector< Pixel > bpix3_
Definition: QcdLowPtDQM.h:250
std::vector< MonitorElement * > hNhitsL1z_
Definition: QcdLowPtDQM.h:280
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tkGeomToken_
Definition: QcdLowPtDQM.h:223
std::vector< MonitorElement * > hTrkRawDphi12_
Definition: QcdLowPtDQM.h:304
Vertex trackletV23_
Definition: QcdLowPtDQM.h:256
std::vector< MonitorElement * > hClusterYSize3_
Definition: QcdLowPtDQM.h:337
~QcdLowPtDQM() override
Definition: QcdLowPtDQM.cc:100
bool isValid() const
Definition: HandleBase.h:70
void fillHltBits(const edm::Event &iEvent)
void fillPixelClusterInfos(const edm::Event &iEvent, int which=12)
std::vector< MonitorElement * > hdNdEtaTrklets23_
Definition: QcdLowPtDQM.h:329
double zs() const
Definition: QcdLowPtDQM.h:104
void fill2D(std::vector< TH2F * > &hs, double valx, double valy, double w=1.)
Definition: QcdLowPtDQM.cc:985
double rho() const
Definition: QcdLowPtDQM.h:62
Vertex trackletV12_
Definition: QcdLowPtDQM.h:254
std::vector< MonitorElement * > hTrkRawDetaDphi12_
Definition: QcdLowPtDQM.h:301
void fillTracklets(const edm::Event &iEvent, int which=12)
std::vector< MonitorElement * > hClusterADC3_
Definition: QcdLowPtDQM.h:343
void set(int n, double z, double zs)
Definition: QcdLowPtDQM.h:105
bool getProductSafe(const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
Definition: QcdLowPtDQM.h:362
void create2D(std::vector< TH2F * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, int ny, double y1, double y2, bool sumw2=true, bool sbox=true)
Definition: QcdLowPtDQM.cc:788
double bkgEtaCut_
Definition: QcdLowPtDQM.h:237
const Pixel & p2() const
Definition: QcdLowPtDQM.h:85
void print(int level, const char *msg)
Definition: QcdLowPtDQM.h:383
double sigEtaCut_
Definition: QcdLowPtDQM.h:235
std::string clusterVtxName_
Definition: QcdLowPtDQM.h:229
std::vector< MonitorElement * > hdNdEtaTrklets13_
Definition: QcdLowPtDQM.h:323
double y() const
Definition: QcdLowPtDQM.h:100
std::vector< MonitorElement * > hTrkRawDetaDphi23_
Definition: QcdLowPtDQM.h:309
double ZVVtxRegion_
Definition: QcdLowPtDQM.h:232
std::vector< MonitorElement * > hdNdPhiHitsL1_
Definition: QcdLowPtDQM.h:289
double x() const
Definition: QcdLowPtDQM.h:66
std::vector< MonitorElement * > hdNdEtaTrklets12_
Definition: QcdLowPtDQM.h:317
std::vector< MonitorElement * > hRawTrkEtaVtxZ13_
Definition: QcdLowPtDQM.h:297
MonitorElement * h2TrigCorr_
Definition: QcdLowPtDQM.h:276
tuple msg
Definition: mps_check.py:285
std::vector< MonitorElement * > hNhitsL3z_
Definition: QcdLowPtDQM.h:284
TH3F * AlphaTracklets12_
Definition: QcdLowPtDQM.h:261
std::vector< MonitorElement * > hdNdEtaRawTrkl12_
Definition: QcdLowPtDQM.h:313
std::vector< MonitorElement * > hClusterADC2_
Definition: QcdLowPtDQM.h:341
std::vector< MonitorElement * > hdNdEtaHitsL3_
Definition: QcdLowPtDQM.h:288
std::vector< MonitorElement * > hClusterYSize1_
Definition: QcdLowPtDQM.h:333
void yieldAlphaHistogram(int which=12)
void book1D(DQMStore::IBooker &, std::vector< MonitorElement * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, bool sumw2=true, bool sbox=true)
Definition: QcdLowPtDQM.cc:710
const TrackerGeometry * tgeo_
Definition: QcdLowPtDQM.h:273
Tracklet(const Pixel &p1, const Pixel &p2)
Definition: QcdLowPtDQM.h:77
std::vector< Pixel > bpix2_
Definition: QcdLowPtDQM.h:249
double eta() const
Definition: QcdLowPtDQM.h:61
void filldNdeta(const TH3F *AlphaTracklets, const std::vector< TH3F * > &NsigTracklets, const std::vector< TH3F * > &NbkgTracklets, const std::vector< TH1F * > &NEvsPerEta, std::vector< MonitorElement * > &hdNdEtaRawTrkl, std::vector< MonitorElement * > &hdNdEtaSubTrkl, std::vector< MonitorElement * > &hdNdEtaTrklets)
Definition: QcdLowPtDQM.cc:817
Vertex(double x=0, double y=0, double z=0, double xs=0, double ys=0, double zs=0, int n=0)
Definition: QcdLowPtDQM.h:96
void create1D(std::vector< TH1F * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, bool sumw2=true, bool sbox=true)
Definition: QcdLowPtDQM.cc:765
std::string hltUsedResName_
Definition: QcdLowPtDQM.h:247
std::vector< Pixel > bpix1_
Definition: QcdLowPtDQM.h:248
TH3F * AlphaTracklets23_
Definition: QcdLowPtDQM.h:271
std::vector< TH1F * > hEvtCountsPerEta23_
Definition: QcdLowPtDQM.h:269
tuple level
Definition: testEve_cfg.py:47
double adc() const
Definition: QcdLowPtDQM.h:60
std::vector< MonitorElement * > hTrkRawDeta13_
Definition: QcdLowPtDQM.h:307
std::vector< MonitorElement * > hdNdPhiHitsL3_
Definition: QcdLowPtDQM.h:291
void fill1D(std::vector< TH1F * > &hs, double val, double w=1.)
Definition: QcdLowPtDQM.cc:965
std::vector< std::string > hltTrgNames_
Definition: QcdLowPtDQM.h:227
std::vector< MonitorElement * > hTrkRawDphi13_
Definition: QcdLowPtDQM.h:308
std::vector< TH1F * > hEvtCountsPerEta13_
Definition: QcdLowPtDQM.h:264
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: QcdLowPtDQM.cc:691
std::vector< Tracklet > btracklets13_
Definition: QcdLowPtDQM.h:252
std::vector< MonitorElement * > hdNdEtaSubTrkl12_
Definition: QcdLowPtDQM.h:315
double xs() const
Definition: QcdLowPtDQM.h:102
void book2D(DQMStore::IBooker &, std::vector< MonitorElement * > &mes, const std::string &name, const std::string &title, int nx, double x1, double x2, int ny, double y1, double y2, bool sumw2=true, bool sbox=true)
Definition: QcdLowPtDQM.cc:735
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Definition: QcdLowPtDQM.h:224
std::vector< TH3F * > NbkgTracklets23_
Definition: QcdLowPtDQM.h:268
std::vector< MonitorElement * > hNhitsL2_
Definition: QcdLowPtDQM.h:278
std::vector< int > hltTrgBits_
Definition: QcdLowPtDQM.h:244
Definition: Run.h:45
double bkgPhiCut_
Definition: QcdLowPtDQM.h:238
std::vector< MonitorElement * > hTrkVtxZ23_
Definition: QcdLowPtDQM.h:294
void reallyPrint(int level, const char *msg)
void fillPixels(const edm::Event &iEvent, const edm::EventSetup &iSetup)