CMS 3D CMS Logo

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