CMS 3D CMS Logo

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