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