test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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:
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
def which
Definition: eostools.py:335
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
void set(int n, double x, double y, double z, double xs, double ys, double zs)
Definition: QcdLowPtDQM.h:104
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
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
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:75
void fillHltBits(const edm::Event &iEvent)
Definition: QcdLowPtDQM.cc:778
void fillPixelClusterInfos(const edm::Event &iEvent, int which=12)
Definition: QcdLowPtDQM.cc:899
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
void set(int n, double z, double zs)
Definition: QcdLowPtDQM.h:99
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
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
std::vector< TH1F * > hEvtCountsPerEta23_
Definition: QcdLowPtDQM.h:232
tuple level
Definition: testEve_cfg.py:34
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: 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