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;
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>
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>
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_)
388 }
389 #endif
390 
391 /* Local Variables: */
392 /* show-trailing-whitespace: t */
393 /* truncate-lines: t */
394 /* End: */
personalPlayback.level
level
Definition: personalPlayback.py:22
QcdLowPtDQM::Tracklet::i1_
int i1_
Definition: QcdLowPtDQM.h:91
QcdLowPtDQM::hltTrgBits_
std::vector< int > hltTrgBits_
Definition: QcdLowPtDQM.h:244
QcdLowPtDQM::hEvtCountsPerEta23_
std::vector< TH1F * > hEvtCountsPerEta23_
Definition: QcdLowPtDQM.h:269
QcdLowPtDQM::AlphaTracklets23_
TH3F * AlphaTracklets23_
Definition: QcdLowPtDQM.h:271
QcdLowPtDQM::Pixel::sizey
double sizey() const
Definition: QcdLowPtDQM.h:65
QcdLowPtDQM::dZVc_
double dZVc_
Definition: QcdLowPtDQM.h:234
QcdLowPtDQM::Vertex::ys_
double ys_
Definition: QcdLowPtDQM.h:121
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:30
Handle.h
QcdLowPtDQM::hdNdPhiHitsL3_
std::vector< MonitorElement * > hdNdPhiHitsL3_
Definition: QcdLowPtDQM.h:291
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
QcdLowPtDQM::verbose_
int verbose_
Definition: QcdLowPtDQM.h:239
QcdLowPtDQM::hltTrgDeci_
std::vector< bool > hltTrgDeci_
Definition: QcdLowPtDQM.h:245
QcdLowPtDQM::dqmEndRun
void dqmEndRun(const edm::Run &r, const edm::EventSetup &iSetup) override
Definition: QcdLowPtDQM.cc:949
QcdLowPtDQM::Tracklet::Tracklet
Tracklet()
Definition: QcdLowPtDQM.h:76
MessageLogger.h
QcdLowPtDQM::hTrkRawDphi13_
std::vector< MonitorElement * > hTrkRawDphi13_
Definition: QcdLowPtDQM.h:308
QcdLowPtDQM::btracklets13_
std::vector< Tracklet > btracklets13_
Definition: QcdLowPtDQM.h:252
QcdLowPtDQM::Vertex::ys
double ys() const
Definition: QcdLowPtDQM.h:103
QcdLowPtDQM::hdNdPhiHitsL2_
std::vector< MonitorElement * > hdNdPhiHitsL2_
Definition: QcdLowPtDQM.h:290
QcdLowPtDQM::ZVEtaRegion_
double ZVEtaRegion_
Definition: QcdLowPtDQM.h:231
edm::LuminosityBlock
Definition: LuminosityBlock.h:50
QcdLowPtDQM::Vertex::xs
double xs() const
Definition: QcdLowPtDQM.h:102
QcdLowPtDQM::hTrkRawDeta23_
std::vector< MonitorElement * > hTrkRawDeta23_
Definition: QcdLowPtDQM.h:311
edm::Run
Definition: Run.h:45
QcdLowPtDQM::btracklets23_
std::vector< Tracklet > btracklets23_
Definition: QcdLowPtDQM.h:253
QcdLowPtDQM::hdNdEtaHitsL1_
std::vector< MonitorElement * > hdNdEtaHitsL1_
Definition: QcdLowPtDQM.h:286
QcdLowPtDQM::Tracklet::eta
double eta() const
Definition: QcdLowPtDQM.h:83
QcdLowPtDQM::trackletVertexUnbinned
void trackletVertexUnbinned(const edm::Event &iEvent, int which=12)
Definition: QcdLowPtDQM.cc:1345
VectorUtil.h
testProducerWithPsetDescEmpty_cfi.x2
x2
Definition: testProducerWithPsetDescEmpty_cfi.py:28
QcdLowPtDQM::bkgPhiCut_
double bkgPhiCut_
Definition: QcdLowPtDQM.h:238
TrackerTopology
Definition: TrackerTopology.h:16
QcdLowPtDQM::useRecHitQ_
bool useRecHitQ_
Definition: QcdLowPtDQM.h:242
QcdLowPtDQM::Vertex::set
void set(int n, double x, double y, double z, double xs, double ys, double zs)
Definition: QcdLowPtDQM.h:110
QcdLowPtDQM::Tracklet::p2
const Pixel & p2() const
Definition: QcdLowPtDQM.h:85
QcdLowPtDQM
Definition: QcdLowPtDQM.h:29
QcdLowPtDQM::Vertex::n_
int n_
Definition: QcdLowPtDQM.h:122
QcdLowPtDQM::Tracklet::seti1
void seti1(int i1)
Definition: QcdLowPtDQM.h:86
QcdLowPtDQM::hltResName_
std::string hltResName_
Definition: QcdLowPtDQM.h:225
QcdLowPtDQM::NsigTracklets12_
std::vector< TH3F * > NsigTracklets12_
Definition: QcdLowPtDQM.h:257
QcdLowPtDQM::hTrkVtxZ12_
std::vector< MonitorElement * > hTrkVtxZ12_
Definition: QcdLowPtDQM.h:292
QcdLowPtDQM::Pixel::eta
double eta() const
Definition: QcdLowPtDQM.h:61
DQMOneEDAnalyzer
Definition: DQMOneEDAnalyzer.h:20
QcdLowPtDQM::hNhitsL2z_
std::vector< MonitorElement * > hNhitsL2z_
Definition: QcdLowPtDQM.h:282
DQMStore.h
QcdLowPtDQM::Vertex::y_
double y_
Definition: QcdLowPtDQM.h:121
QcdLowPtDQM::Pixel::rho_
double rho_
Definition: QcdLowPtDQM.h:71
QcdLowPtDQM::hdNdEtaRawTrkl13_
std::vector< MonitorElement * > hdNdEtaRawTrkl13_
Definition: QcdLowPtDQM.h:319
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
mps_check.msg
tuple msg
Definition: mps_check.py:285
QcdLowPtDQM::pixelName_
std::string pixelName_
Definition: QcdLowPtDQM.h:228
QcdLowPtDQM::hTrkRawDeta12_
std::vector< MonitorElement * > hTrkRawDeta12_
Definition: QcdLowPtDQM.h:303
QcdLowPtDQM::hNhitsL3_
std::vector< MonitorElement * > hNhitsL3_
Definition: QcdLowPtDQM.h:279
QcdLowPtDQM::Pixel::rho
double rho() const
Definition: QcdLowPtDQM.h:62
QcdLowPtDQM::Pixel::sizex
double sizex() const
Definition: QcdLowPtDQM.h:64
QcdLowPtDQM::NsigTracklets13_
std::vector< TH3F * > NsigTracklets13_
Definition: QcdLowPtDQM.h:262
edm::Handle
Definition: AssociativeIterator.h:50
QcdLowPtDQM::hClusterVertexZ_
std::vector< MonitorElement * > hClusterVertexZ_
Definition: QcdLowPtDQM.h:331
QcdLowPtDQM::AlphaTracklets13_
TH3F * AlphaTracklets13_
Definition: QcdLowPtDQM.h:266
QcdLowPtDQM::NbkgTracklets12_
std::vector< TH3F * > NbkgTracklets12_
Definition: QcdLowPtDQM.h:258
DQMOneEDAnalyzer.h
QcdLowPtDQM::hTrkVtxZ13_
std::vector< MonitorElement * > hTrkVtxZ13_
Definition: QcdLowPtDQM.h:293
QcdLowPtDQM::Pixel
Definition: QcdLowPtDQM.h:31
QcdLowPtDQM::getProduct
void getProduct(const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
Definition: QcdLowPtDQM.h:349
edm::Exception
Definition: EDMException.h:77
QcdLowPtDQM::Tracklet::i2_
int i2_
Definition: QcdLowPtDQM.h:91
QcdLowPtDQM::NbkgTracklets13_
std::vector< TH3F * > NbkgTracklets13_
Definition: QcdLowPtDQM.h:263
QcdLowPtDQM::hdNdEtaRawTrkl23_
std::vector< MonitorElement * > hdNdEtaRawTrkl23_
Definition: QcdLowPtDQM.h:325
QcdLowPtDQM::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: QcdLowPtDQM.cc:202
QcdLowPtDQM::hdNdEtaSubTrkl23_
std::vector< MonitorElement * > hdNdEtaSubTrkl23_
Definition: QcdLowPtDQM.h:327
qlpd::Cache
Definition: QcdLowPtDQM.h:26
QcdLowPtDQM::Vertex::zs_
double zs_
Definition: QcdLowPtDQM.h:121
QcdLowPtDQM::hClusterADC1_
std::vector< MonitorElement * > hClusterADC1_
Definition: QcdLowPtDQM.h:339
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:321
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:233
QcdLowPtDQM::Tracklet::p1
const Pixel & p1() const
Definition: QcdLowPtDQM.h:84
QcdLowPtDQM::sigPhiCut_
double sigPhiCut_
Definition: QcdLowPtDQM.h:236
QcdLowPtDQM::hRawTrkEtaVtxZ12_
std::vector< MonitorElement * > hRawTrkEtaVtxZ12_
Definition: QcdLowPtDQM.h:295
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
QcdLowPtDQM::dqmBeginRun
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
Definition: QcdLowPtDQM.cc:113
QcdLowPtDQM::hTrkRawDphi12_
std::vector< MonitorElement * > hTrkRawDphi12_
Definition: QcdLowPtDQM.h:304
QcdLowPtDQM::Pixel::y
double y() const
Definition: QcdLowPtDQM.h:67
QcdLowPtDQM::print
void print(int level, const std::string &msg)
Definition: QcdLowPtDQM.h:216
QcdLowPtDQM::Pixel::sizex_
double sizex_
Definition: QcdLowPtDQM.h:72
QcdLowPtDQM::hClusterYSize3_
std::vector< MonitorElement * > hClusterYSize3_
Definition: QcdLowPtDQM.h:337
w
const double w
Definition: UKUtility.cc:23
QcdLowPtDQM::hEvtCountsPerEta12_
std::vector< TH1F * > hEvtCountsPerEta12_
Definition: QcdLowPtDQM.h:259
qlpd
Definition: QcdLowPtDQM.h:25
QcdLowPtDQM::Tracklet::i2
int i2() const
Definition: QcdLowPtDQM.h:82
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:16
QcdLowPtDQM::Pixel::eta_
double eta_
Definition: QcdLowPtDQM.h:71
QcdLowPtDQM::btracklets12_
std::vector< Tracklet > btracklets12_
Definition: QcdLowPtDQM.h:251
dumpMFGeometry_cfg.prod
prod
Definition: dumpMFGeometry_cfg.py:24
QcdLowPtDQM::fillPixelClusterInfos
void fillPixelClusterInfos(const edm::Event &iEvent, int which=12)
Definition: QcdLowPtDQM.cc:1131
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:33
QcdLowPtDQM::NsigTracklets23_
std::vector< TH3F * > NsigTracklets23_
Definition: QcdLowPtDQM.h:267
QcdLowPtDQM::hNhitsL1_
std::vector< MonitorElement * > hNhitsL1_
Definition: QcdLowPtDQM.h:277
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:312
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:280
QcdLowPtDQM::trackletV12_
Vertex trackletV12_
Definition: QcdLowPtDQM.h:254
QcdLowPtDQM::hRawTrkEtaVtxZ23_
std::vector< MonitorElement * > hRawTrkEtaVtxZ23_
Definition: QcdLowPtDQM.h:299
Point3DBase< float, GlobalTag >
QcdLowPtDQM::hClusterYSize2_
std::vector< MonitorElement * > hClusterYSize2_
Definition: QcdLowPtDQM.h:335
QcdLowPtDQM::hClusterADC3_
std::vector< MonitorElement * > hClusterADC3_
Definition: QcdLowPtDQM.h:343
QcdLowPtDQM::repSummary_
MonitorElement * repSummary_
Definition: QcdLowPtDQM.h:275
QcdLowPtDQM::repSumMap_
MonitorElement * repSumMap_
Definition: QcdLowPtDQM.h:274
QcdLowPtDQM::Vertex::x
double x() const
Definition: QcdLowPtDQM.h:99
QcdLowPtDQM::trackletV23_
Vertex trackletV23_
Definition: QcdLowPtDQM.h:256
QcdLowPtDQM::trackletV13_
Vertex trackletV13_
Definition: QcdLowPtDQM.h:255
QcdLowPtDQM::Vertex::y
double y() const
Definition: QcdLowPtDQM.h:100
testProducerWithPsetDescEmpty_cfi.y2
y2
Definition: testProducerWithPsetDescEmpty_cfi.py:30
QcdLowPtDQM::hltTrgUsedNames_
std::vector< std::string > hltTrgUsedNames_
Definition: QcdLowPtDQM.h:246
QcdLowPtDQM::hdNdEtaTrklets13_
std::vector< MonitorElement * > hdNdEtaTrklets13_
Definition: QcdLowPtDQM.h:323
QcdLowPtDQM::Pixel::y_
double y_
Definition: QcdLowPtDQM.h:71
QcdLowPtDQM::hdNdEtaTrklets23_
std::vector< MonitorElement * > hdNdEtaTrklets23_
Definition: QcdLowPtDQM.h:329
QcdLowPtDQM::usePixelQ_
bool usePixelQ_
Definition: QcdLowPtDQM.h:243
edm::ParameterSet
Definition: ParameterSet.h:47
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
QcdLowPtDQM::hdNdEtaHitsL2_
std::vector< MonitorElement * > hdNdEtaHitsL2_
Definition: QcdLowPtDQM.h:287
Event.h
QcdLowPtDQM::bpix3_
std::vector< Pixel > bpix3_
Definition: QcdLowPtDQM.h:250
QcdLowPtDQM::hRawTrkEtaVtxZ13_
std::vector< MonitorElement * > hRawTrkEtaVtxZ13_
Definition: QcdLowPtDQM.h:297
QcdLowPtDQM::hNhitsL3z_
std::vector< MonitorElement * > hNhitsL3z_
Definition: QcdLowPtDQM.h:284
QcdLowPtDQM::Tracklet::p2_
Pixel p2_
Definition: QcdLowPtDQM.h:90
QcdLowPtDQM::Tracklet
Definition: QcdLowPtDQM.h:74
QcdLowPtDQM::tkGeomToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tkGeomToken_
Definition: QcdLowPtDQM.h:223
QcdLowPtDQM::AlphaTracklets12_
TH3F * AlphaTracklets12_
Definition: QcdLowPtDQM.h:261
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:313
QcdLowPtDQM::bkgEtaCut_
double bkgEtaCut_
Definition: QcdLowPtDQM.h:237
QcdLowPtDQM::Tracklet::deta
double deta() const
Definition: QcdLowPtDQM.h:79
QcdLowPtDQM::hClusterADC2_
std::vector< MonitorElement * > hClusterADC2_
Definition: QcdLowPtDQM.h:341
QcdLowPtDQM::print
void print(int level, const char *msg)
Definition: QcdLowPtDQM.h:383
QcdLowPtDQM::sigEtaCut_
double sigEtaCut_
Definition: QcdLowPtDQM.h:235
iEvent
int iEvent
Definition: GenABIO.cc:224
QcdLowPtDQM::~QcdLowPtDQM
~QcdLowPtDQM() override
Definition: QcdLowPtDQM.cc:100
QcdLowPtDQM::hdNdEtaHitsL3_
std::vector< MonitorElement * > hdNdEtaHitsL3_
Definition: QcdLowPtDQM.h:288
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:232
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:96
QcdLowPtDQM::Vertex::set
void set(int n, double z, double zs)
Definition: QcdLowPtDQM.h:105
QcdLowPtDQM::hdNdPhiHitsL1_
std::vector< MonitorElement * > hdNdPhiHitsL1_
Definition: QcdLowPtDQM.h:289
edm::EventSetup
Definition: EventSetup.h:58
QcdLowPtDQM::Tracklet::deta_
double deta_
Definition: QcdLowPtDQM.h:92
QcdLowPtDQM::Vertex::z_
double z_
Definition: QcdLowPtDQM.h:121
HLTConfigProvider.h
QcdLowPtDQM::h2TrigCorr_
MonitorElement * h2TrigCorr_
Definition: QcdLowPtDQM.h:276
QcdLowPtDQM::Pixel::z_
double z_
Definition: QcdLowPtDQM.h:71
QcdLowPtDQM::fillTracklets
void fillTracklets(const edm::Event &iEvent, int which=12)
Definition: QcdLowPtDQM.cc:1184
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
QcdLowPtDQM::hltUsedResName_
std::string hltUsedResName_
Definition: QcdLowPtDQM.h:247
QcdLowPtDQM::Pixel::z
double z() const
Definition: QcdLowPtDQM.h:68
QcdLowPtDQM::bpix1_
std::vector< Pixel > bpix1_
Definition: QcdLowPtDQM.h:248
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:204
alignCSCRings.r
r
Definition: alignCSCRings.py:93
Geom
Definition: CoordinateSets.h:6
QcdLowPtDQM::Tracklet::i1
int i1() const
Definition: QcdLowPtDQM.h:81
DDAxes::phi
QcdLowPtDQM::hClusterYSize1_
std::vector< MonitorElement * > hClusterYSize1_
Definition: QcdLowPtDQM.h:333
QcdLowPtDQM::yieldAlphaHistogram
void yieldAlphaHistogram(int which=12)
Definition: QcdLowPtDQM.cc:1466
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:60
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:77
HLTConfigProvider
Definition: HLTConfigProvider.h:29
heppy_batch.val
val
Definition: heppy_batch.py:351
QcdLowPtDQM::hTrkRawDetaDphi23_
std::vector< MonitorElement * > hTrkRawDetaDphi23_
Definition: QcdLowPtDQM.h:309
QcdLowPtDQM::Vertex::n
int n() const
Definition: QcdLowPtDQM.h:98
QcdLowPtDQM::vertexZFromClusters
double vertexZFromClusters(const std::vector< Pixel > &pix) const
Definition: QcdLowPtDQM.cc:1428
HltBtagValidation_cff.Vertex
Vertex
Definition: HltBtagValidation_cff.py:32
QcdLowPtDQM::Pixel::phi_
double phi_
Definition: QcdLowPtDQM.h:71
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:317
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:19
QcdLowPtDQM::hEvtCountsPerEta13_
std::vector< TH1F * > hEvtCountsPerEta13_
Definition: QcdLowPtDQM.h:264
QcdLowPtDQM::analyze
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: QcdLowPtDQM.cc:691
QcdLowPtDQM::hTrkRawDetaDphi12_
std::vector< MonitorElement * > hTrkRawDetaDphi12_
Definition: QcdLowPtDQM.h:301
QcdLowPtDQM::Tracklet::p1_
Pixel p1_
Definition: QcdLowPtDQM.h:90
Frameworkfwd.h
QcdLowPtDQM::Pixel::phi
double phi() const
Definition: QcdLowPtDQM.h:63
QcdLowPtDQM::pixLayers_
int pixLayers_
Definition: QcdLowPtDQM.h:240
QcdLowPtDQM::Pixel::adc_
double adc_
Definition: QcdLowPtDQM.h:72
QcdLowPtDQM::Pixel::x
double x() const
Definition: QcdLowPtDQM.h:66
QcdLowPtDQM::getProductSafe
bool getProductSafe(const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
Definition: QcdLowPtDQM.h:362
QcdLowPtDQM::clusterVtxName_
std::string clusterVtxName_
Definition: QcdLowPtDQM.h:229
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
QcdLowPtDQM::hTrkVtxZ23_
std::vector< MonitorElement * > hTrkVtxZ23_
Definition: QcdLowPtDQM.h:294
QcdLowPtDQM::clusLayers_
int clusLayers_
Definition: QcdLowPtDQM.h:241
QcdLowPtDQM::hTrkRawDeta13_
std::vector< MonitorElement * > hTrkRawDeta13_
Definition: QcdLowPtDQM.h:307
QcdLowPtDQM::reallyPrint
void reallyPrint(int level, const char *msg)
Definition: QcdLowPtDQM.cc:1330
QcdLowPtDQM::tgeo_
const TrackerGeometry * tgeo_
Definition: QcdLowPtDQM.h:273
QcdLowPtDQM::hltTrgNames_
std::vector< std::string > hltTrgNames_
Definition: QcdLowPtDQM.h:227
dqm::implementation::IBooker
Definition: DQMStore.h:43
QcdLowPtDQM::Pixel::Pixel
Pixel(const GlobalPoint &p, double adc=0, double sx=0, double sy=0)
Definition: QcdLowPtDQM.h:50
QcdLowPtDQM::Tracklet::dphi_
double dphi_
Definition: QcdLowPtDQM.h:92
QcdLowPtDQM::hltProcNames_
std::vector< std::string > hltProcNames_
Definition: QcdLowPtDQM.h:226
QcdLowPtDQM::Pixel::x_
double x_
Definition: QcdLowPtDQM.h:71
QcdLowPtDQM::Vertex::xs_
double xs_
Definition: QcdLowPtDQM.h:121
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
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:268
QcdLowPtDQM::ZVCut_
double ZVCut_
Definition: QcdLowPtDQM.h:230
QcdLowPtDQM::tTopoToken_
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken_
Definition: QcdLowPtDQM.h:224
QcdLowPtDQM::hNhitsL2_
std::vector< MonitorElement * > hNhitsL2_
Definition: QcdLowPtDQM.h:278
QcdLowPtDQM::Vertex
Definition: QcdLowPtDQM.h:94
QcdLowPtDQM::QcdLowPtDQM
QcdLowPtDQM(const edm::ParameterSet &parameters)
Definition: QcdLowPtDQM.cc:47
event
Definition: event.py:1
QcdLowPtDQM::Pixel::sizey_
double sizey_
Definition: QcdLowPtDQM.h:72
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:249
QcdLowPtDQM::Vertex::zs
double zs() const
Definition: QcdLowPtDQM.h:104
QcdLowPtDQM::Vertex::z
double z() const
Definition: QcdLowPtDQM.h:101
QcdLowPtDQM::Tracklet::seti2
void seti2(int i2)
Definition: QcdLowPtDQM.h:87
QcdLowPtDQM::Vertex::x_
double x_
Definition: QcdLowPtDQM.h:121
QcdLowPtDQM::Tracklet::dphi
double dphi() const
Definition: QcdLowPtDQM.h:80
QcdLowPtDQM::hltConfig_
HLTConfigProvider hltConfig_
Definition: QcdLowPtDQM.h:272
QcdLowPtDQM::hTrkRawDetaDphi13_
std::vector< MonitorElement * > hTrkRawDetaDphi13_
Definition: QcdLowPtDQM.h:305
QcdLowPtDQM::hdNdEtaSubTrkl12_
std::vector< MonitorElement * > hdNdEtaSubTrkl12_
Definition: QcdLowPtDQM.h:315
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