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 edm::EDAnalyzer {
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 
123  void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup);
124  void beginJob(void);
126  const edm::EventSetup &iSetup);
127  void beginRun(const edm::Run &r, const edm::EventSetup &iSetup);
128  void endJob(void);
129  void endRun(const edm::Run &r, const edm::EventSetup &iSetup);
131  const edm::EventSetup &iSetup);
132 
133  private:
134  void book1D(std::vector<MonitorElement *> &mes, const std::string &name,
135  const std::string &title, int nx, double x1, double x2,
136  bool sumw2 = 1, bool sbox = 1);
137  void book2D(std::vector<MonitorElement *> &mes, const std::string &name,
138  const std::string &title, int nx, double x1, double x2, int ny,
139  double y1, double y2, bool sumw2 = 1, bool sbox = 1);
140  void create1D(std::vector<TH1F *> &mes, const std::string &name,
141  const std::string &title, int nx, double x1, double x2,
142  bool sumw2 = 1, bool sbox = 1);
143  void create2D(std::vector<TH2F *> &mes, const std::string &name,
144  const std::string &title, int nx, double x1, double x2, int ny,
145  double y1, double y2, bool sumw2 = 1, bool sbox = 1);
146  void createHistos();
147  void fill1D(std::vector<TH1F *> &hs, double val, double w = 1.);
148  void fill1D(std::vector<MonitorElement *> &mes, double val, double w = 1.);
149  void fill2D(std::vector<TH2F *> &hs, double valx, double valy, double w = 1.);
150  void fill2D(std::vector<MonitorElement *> &mes, double valx, double valy,
151  double w = 1.);
152  void fill3D(std::vector<TH3F *> &hs, int gbin, double w = 1.);
153  void filldNdeta(const TH3F *AlphaTracklets,
154  const std::vector<TH3F *> &NsigTracklets,
155  const std::vector<TH3F *> &NbkgTracklets,
156  const std::vector<TH1F *> &NEvsPerEta,
157  std::vector<MonitorElement *> &hdNdEtaRawTrkl,
158  std::vector<MonitorElement *> &hdNdEtaSubTrkl,
159  std::vector<MonitorElement *> &hdNdEtaTrklets);
160  void fillHltBits(const edm::Event &iEvent);
161  void fillPixels(const edm::Event &iEvent, const edm::EventSetup &iSetup);
162  void fillPixelClusterInfos(const edm::Event &iEvent, int which = 12);
163  void fillPixelClusterInfos(const double vz, const std::vector<Pixel> &pix,
164  std::vector<MonitorElement *> &hClusterYSize,
165  std::vector<MonitorElement *> &hClusterADC);
166  void fillTracklets(const edm::Event &iEvent, int which = 12);
167  void fillTracklets(std::vector<Tracklet> &tracklets,
168  const std::vector<Pixel> &pix1,
169  const std::vector<Pixel> &pix2, const Vertex &trackletV);
170  void fillTracklets(
171  const std::vector<Tracklet> &tracklets, const std::vector<Pixel> &pixels,
172  const Vertex &trackletV, const TH3F *AlphaTracklets,
173  std::vector<TH3F *> &NsigTracklets, std::vector<TH3F *> &NbkgTracklets,
174  std::vector<TH1F *> &eventpereta, std::vector<MonitorElement *> &detaphi,
175  std::vector<MonitorElement *> &deta, std::vector<MonitorElement *> &dphi,
176  std::vector<MonitorElement *> &etavsvtx);
177  template <typename TYPE>
179  const edm::Event &event) const;
180  template <typename TYPE>
182  const edm::Event &event) const;
183  void print(int level, const char *msg);
184  void print(int level, const std::string &msg) { print(level, msg.c_str()); }
185  void reallyPrint(int level, const char *msg);
186  void trackletVertexUnbinned(const edm::Event &iEvent, int which = 12);
187  void trackletVertexUnbinned(std::vector<Pixel> &pix1,
188  std::vector<Pixel> &pix2, Vertex &vtx);
189  double vertexZFromClusters(const std::vector<Pixel> &pix) const;
190  void yieldAlphaHistogram(int which = 12);
191 
192  std::string hltResName_; // HLT trigger results name
193  std::vector<std::string> hltProcNames_; // HLT process name(s)
194  std::vector<std::string> hltTrgNames_; // HLT trigger name(s)
195  std::string pixelName_; // pixel reconstructed hits name
196  std::string clusterVtxName_; // cluster vertex name
197  double ZVCut_; // Z vertex cut for selected events
198  double ZVEtaRegion_; // Z vertex eta region
199  double ZVVtxRegion_; // Z vertex vtx region
200  double dPhiVc_; // dPhi vertex cut for tracklet based vertex
201  double dZVc_; // dZ vertex cut for tracklet based vertex
202  double sigEtaCut_; // signal tracklet eta cut
203  double sigPhiCut_; // signal tracklet phi cut
204  double bkgEtaCut_; // bkg tracklet eta cut
205  double bkgPhiCut_; // bgk tracklet phi cut
206  int verbose_; // verbosity (0=debug,1=warn,2=error,3=throw)
207  int pixLayers_; // 12 for 12, 13 for 12 and 13, 23 for all
208  int clusLayers_; // 12 for 12, 13 for 12 and 13, 23 for all
209  bool useRecHitQ_; // if true use rec hit quality word
210  bool usePixelQ_; // if true use pixel hit quality word
211  std::vector<int> hltTrgBits_; // HLT trigger bit(s)
212  std::vector<bool> hltTrgDeci_; // HLT trigger descision(s)
213  std::vector<std::string> hltTrgUsedNames_; // HLT used trigger name(s)
214  std::string hltUsedResName_; // used HLT trigger results name
215  std::vector<Pixel> bpix1_; // barrel pixels layer 1
216  std::vector<Pixel> bpix2_; // barrel pixels layer 2
217  std::vector<Pixel> bpix3_; // barrel pixels layer 3
218  std::vector<Tracklet> btracklets12_; // barrel tracklets 12
219  std::vector<Tracklet> btracklets13_; // barrel tracklets 13
220  std::vector<Tracklet> btracklets23_; // barrel tracklets 23
221  Vertex trackletV12_; // reconstructed tracklet vertex 12
222  Vertex trackletV13_; // reconstructed tracklet vertex 13
223  Vertex trackletV23_; // reconstructed tracklet vertex 23
224  std::vector<TH3F *> NsigTracklets12_; // number of signal tracklets 12
225  std::vector<TH3F *> NbkgTracklets12_; // number of background tracklets 12
226  std::vector<TH1F *> hEvtCountsPerEta12_; // event count per tracklet12
227  // eta-vtx region
228  TH3F *AlphaTracklets12_; // alpha correction for tracklets 12
229  std::vector<TH3F *> NsigTracklets13_; // number of signal tracklets 13
230  std::vector<TH3F *> NbkgTracklets13_; // number of background tracklets 13
231  std::vector<TH1F *> hEvtCountsPerEta13_; // event count per tracklet13
232  // eta-vtx region
233  TH3F *AlphaTracklets13_; // alpha correction for tracklets 13
234  std::vector<TH3F *> NsigTracklets23_; // number of signal tracklets 23
235  std::vector<TH3F *> NbkgTracklets23_; // number of background tracklets 23
236  std::vector<TH1F *> hEvtCountsPerEta23_; // event count per tracklet23
237  // eta-vtx region
238  TH3F *AlphaTracklets23_; // alpha correction for tracklets 23
240  const TrackerGeometry *tgeo_; // tracker geometry
241  DQMStore *theDbe_; // dqm store
242  MonitorElement *repSumMap_; // report summary map
243  MonitorElement *repSummary_; // report summary
244  MonitorElement *h2TrigCorr_; // trigger correlation plot
245  std::vector<MonitorElement *> hNhitsL1_; // number of hits on layer 1
246  std::vector<MonitorElement *> hNhitsL2_; // number of hits on layer 2
247  std::vector<MonitorElement *> hNhitsL3_; // number of hits on layer 3
248  std::vector<MonitorElement *> hNhitsL1z_; // number of hits on layer 1
249  // (zoomed)
250  std::vector<MonitorElement *> hNhitsL2z_; // number of hits on layer 2
251  // (zoomed)
252  std::vector<MonitorElement *> hNhitsL3z_; // number of hits on layer 3
253  // (zoomed)
254  std::vector<MonitorElement *> hdNdEtaHitsL1_; // dN/dEta of hits on layer 1
255  std::vector<MonitorElement *> hdNdEtaHitsL2_; // dN/dEta of hits on layer 2
256  std::vector<MonitorElement *> hdNdEtaHitsL3_; // dN/dEta of hits on layer 3
257  std::vector<MonitorElement *> hdNdPhiHitsL1_; // dN/dPhi of hits on layer 1
258  std::vector<MonitorElement *> hdNdPhiHitsL2_; // dN/dPhi of hits on layer 2
259  std::vector<MonitorElement *> hdNdPhiHitsL3_; // dN/dPhi of hits on layer 3
260  std::vector<MonitorElement *> hTrkVtxZ12_; // tracklet z vertex 12 histograms
261  std::vector<MonitorElement *> hTrkVtxZ13_; // tracklet z vertex 13 histograms
262  std::vector<MonitorElement *> hTrkVtxZ23_; // tracklet z vertex 23 histograms
263  std::vector<MonitorElement *> hRawTrkEtaVtxZ12_; // tracklet eta vs z vertex
264  // 12 histograms
265  std::vector<MonitorElement *> hRawTrkEtaVtxZ13_; // tracklet eta vs z vertex
266  // 13 histograms
267  std::vector<MonitorElement *> hRawTrkEtaVtxZ23_; // tracklet eta vs z vertex
268  // 23 histograms
269  std::vector<MonitorElement *> hTrkRawDetaDphi12_; // tracklet12 Deta/Dphi
270  // distribution
271  std::vector<MonitorElement *> hTrkRawDeta12_; // tracklet12 Deta distribution
272  std::vector<MonitorElement *> hTrkRawDphi12_; // tracklet12 Dphi distribution
273  std::vector<MonitorElement *> hTrkRawDetaDphi13_; // tracklet13 Deta/Dphi
274  // distribution
275  std::vector<MonitorElement *> hTrkRawDeta13_; // tracklet13 Deta distribution
276  std::vector<MonitorElement *> hTrkRawDphi13_; // tracklet13 Dphi distribution
277  std::vector<MonitorElement *> hTrkRawDetaDphi23_; // tracklet23 Deta/Dphi
278  // distribution
279  std::vector<MonitorElement *> hTrkRawDeta23_; // tracklet23 Deta distribution
280  std::vector<MonitorElement *> hTrkRawDphi23_; // tracklet23 Dphi distribution
281  std::vector<MonitorElement *> hdNdEtaRawTrkl12_; // dN/dEta from raw
282  // tracklets 12
283  std::vector<MonitorElement *> hdNdEtaSubTrkl12_; // dN/dEta from beta
284  // tracklets 12
285  std::vector<MonitorElement *> hdNdEtaTrklets12_; // dN/dEta corrected by
286  // alpha 12
287  std::vector<MonitorElement *> hdNdEtaRawTrkl13_; // dN/dEta from raw
288  // tracklets 13
289  std::vector<MonitorElement *> hdNdEtaSubTrkl13_; // dN/dEta from beta
290  // tracklets 13
291  std::vector<MonitorElement *> hdNdEtaTrklets13_; // dN/dEta corrected by
292  // alpha 13
293  std::vector<MonitorElement *> hdNdEtaRawTrkl23_; // dN/dEta from raw
294  // tracklets 23
295  std::vector<MonitorElement *> hdNdEtaSubTrkl23_; // dN/dEta from beta
296  // tracklets 23
297  std::vector<MonitorElement *> hdNdEtaTrklets23_; // dN/dEta corrected by
298  // alpha 23
299  std::vector<MonitorElement *> hClusterVertexZ_; // cluster z vertex
300  // histograms
301  std::vector<MonitorElement *> hClusterYSize1_; // cluster y size histograms
302  // on layer 1
303  std::vector<MonitorElement *> hClusterYSize2_; // cluster y size histograms
304  // on layer 2
305  std::vector<MonitorElement *> hClusterYSize3_; // cluster y size histograms
306  // on layer 3
307  std::vector<MonitorElement *> hClusterADC1_; // cluster adc histograms on
308  // layer 1
309  std::vector<MonitorElement *> hClusterADC2_; // cluster adc histograms on
310  // layer 2
311  std::vector<MonitorElement *> hClusterADC3_; // cluster adc histograms on
312  // layer 3
313 };
314 
315 //--------------------------------------------------------------------------------------------------
316 template <typename TYPE>
319  const edm::Event &event) const {
320  // Try to access data collection from EDM file. We check if we really get just
321  // one
322  // product with the given name. If not we throw an exception.
323 
324  event.getByLabel(edm::InputTag(name), prod);
325  if (!prod.isValid())
327  "QcdLowPtDQM::GetProduct()\n")
328  << "Collection with label " << name << " is not valid" << std::endl;
329 }
330 
331 //--------------------------------------------------------------------------------------------------
332 template <typename TYPE>
335  const edm::Event &event) const {
336  // Try to safely access data collection from EDM file. We check if we really
337  // get just one
338  // product with the given name. If not, we return false.
339 
340  if (name.size() == 0) return false;
341 
342  try {
343  event.getByLabel(edm::InputTag(name), prod);
344  if (!prod.isValid()) return false;
345  }
346  catch (...) {
347  return false;
348  }
349  return true;
350 }
351 
352 //--------------------------------------------------------------------------------------------------
353 inline void QcdLowPtDQM::print(int level, const char *msg) {
354  // Print out message if it
355 
356  if (level >= verbose_) reallyPrint(level, msg);
357 }
358 #endif
359 
360 /* Local Variables: */
361 /* show-trailing-whitespace: t */
362 /* truncate-lines: t */
363 /* End: */
double x() const
Definition: QcdLowPtDQM.h: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:193
dictionary parameters
Definition: Parameters.py:2
std::vector< MonitorElement * > hdNdPhiHitsL2_
Definition: QcdLowPtDQM.h:258
double sizey() const
Definition: QcdLowPtDQM.h:53
double ZVEtaRegion_
Definition: QcdLowPtDQM.h:198
double ZVCut_
Definition: QcdLowPtDQM.h:197
QcdLowPtDQM(const edm::ParameterSet &parameters)
Definition: QcdLowPtDQM.cc:49
std::vector< Tracklet > btracklets23_
Definition: QcdLowPtDQM.h:220
std::vector< MonitorElement * > hNhitsL3_
Definition: QcdLowPtDQM.h:247
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:273
HLTConfigProvider hltConfig_
Definition: QcdLowPtDQM.h:239
double y() const
Definition: QcdLowPtDQM.h:55
std::vector< TH3F * > NbkgTracklets12_
Definition: QcdLowPtDQM.h:225
int n() const
Definition: QcdLowPtDQM.h:92
std::vector< MonitorElement * > hdNdEtaRawTrkl13_
Definition: QcdLowPtDQM.h:287
std::vector< MonitorElement * > hdNdEtaRawTrkl23_
Definition: QcdLowPtDQM.h:293
double dZVc_
Definition: QcdLowPtDQM.h:201
double ys() const
Definition: QcdLowPtDQM.h:97
double z() const
Definition: QcdLowPtDQM.h:95
std::string pixelName_
Definition: QcdLowPtDQM.h:195
void trackletVertexUnbinned(const edm::Event &iEvent, int which=12)
std::vector< bool > hltTrgDeci_
Definition: QcdLowPtDQM.h:212
void createHistos()
Definition: QcdLowPtDQM.cc:344
std::string hltResName_
Definition: QcdLowPtDQM.h:192
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup)
Definition: QcdLowPtDQM.cc:125
std::vector< MonitorElement * > hRawTrkEtaVtxZ12_
Definition: QcdLowPtDQM.h:263
std::vector< TH3F * > NsigTracklets12_
Definition: QcdLowPtDQM.h:224
void book2D(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:290
void print(int level, const std::string &msg)
Definition: QcdLowPtDQM.h:184
std::vector< TH1F * > hEvtCountsPerEta12_
Definition: QcdLowPtDQM.h:226
double phi() const
Definition: QcdLowPtDQM.h:51
std::vector< MonitorElement * > hNhitsL2z_
Definition: QcdLowPtDQM.h:250
Pixel(const GlobalPoint &p, double adc=0, double sx=0, double sy=0)
Definition: QcdLowPtDQM.h:38
std::vector< TH3F * > NsigTracklets23_
Definition: QcdLowPtDQM.h:234
std::vector< MonitorElement * > hTrkRawDeta23_
Definition: QcdLowPtDQM.h:279
std::vector< MonitorElement * > hdNdEtaHitsL1_
Definition: QcdLowPtDQM.h:254
std::vector< MonitorElement * > hdNdEtaSubTrkl23_
Definition: QcdLowPtDQM.h:295
std::vector< MonitorElement * > hClusterADC1_
Definition: QcdLowPtDQM.h:307
void beginLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &iSetup)
Definition: QcdLowPtDQM.cc:162
std::vector< TH3F * > NsigTracklets13_
Definition: QcdLowPtDQM.h:229
bool useRecHitQ_
Definition: QcdLowPtDQM.h:209
std::vector< MonitorElement * > hRawTrkEtaVtxZ23_
Definition: QcdLowPtDQM.h:267
std::vector< MonitorElement * > hClusterYSize2_
Definition: QcdLowPtDQM.h:303
double dPhiVc_
Definition: QcdLowPtDQM.h:200
double sigPhiCut_
Definition: QcdLowPtDQM.h:203
MonitorElement * repSummary_
Definition: QcdLowPtDQM.h:243
TH3F * AlphaTracklets13_
Definition: QcdLowPtDQM.h:233
Vertex trackletV13_
Definition: QcdLowPtDQM.h:222
std::vector< MonitorElement * > hTrkVtxZ12_
Definition: QcdLowPtDQM.h:260
void beginRun(const edm::Run &r, const edm::EventSetup &iSetup)
Definition: QcdLowPtDQM.cc:168
std::vector< MonitorElement * > hTrkVtxZ13_
Definition: QcdLowPtDQM.h:261
std::vector< TH3F * > NbkgTracklets13_
Definition: QcdLowPtDQM.h:230
std::vector< Tracklet > btracklets12_
Definition: QcdLowPtDQM.h:218
bool usePixelQ_
Definition: QcdLowPtDQM.h:210
std::vector< MonitorElement * > hTrkRawDeta12_
Definition: QcdLowPtDQM.h:271
std::vector< MonitorElement * > hdNdEtaHitsL2_
Definition: QcdLowPtDQM.h:255
std::vector< MonitorElement * > hdNdEtaSubTrkl13_
Definition: QcdLowPtDQM.h:289
void fill3D(std::vector< TH3F * > &hs, int gbin, double w=1.)
Definition: QcdLowPtDQM.cc:816
int iEvent
Definition: GenABIO.cc:230
void getProduct(const std::string name, edm::Handle< TYPE > &prod, const edm::Event &event) const
Definition: QcdLowPtDQM.h:317
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:242
std::vector< MonitorElement * > hClusterVertexZ_
Definition: QcdLowPtDQM.h:299
std::vector< std::string > hltTrgUsedNames_
Definition: QcdLowPtDQM.h:213
double eta() const
Definition: QcdLowPtDQM.h:76
std::vector< MonitorElement * > hNhitsL1_
Definition: QcdLowPtDQM.h:245
std::vector< MonitorElement * > hTrkRawDphi23_
Definition: QcdLowPtDQM.h:280
std::vector< Pixel > bpix3_
Definition: QcdLowPtDQM.h:217
void beginJob(void)
Definition: QcdLowPtDQM.cc:147
std::vector< MonitorElement * > hNhitsL1z_
Definition: QcdLowPtDQM.h:248
std::vector< MonitorElement * > hTrkRawDphi12_
Definition: QcdLowPtDQM.h:272
Vertex trackletV23_
Definition: QcdLowPtDQM.h:223
std::vector< MonitorElement * > hClusterYSize3_
Definition: QcdLowPtDQM.h:305
void endRun(const edm::Run &r, const edm::EventSetup &iSetup)
Definition: QcdLowPtDQM.cc:755
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:309
bool isValid() const
Definition: HandleBase.h:76
void fillHltBits(const edm::Event &iEvent)
Definition: QcdLowPtDQM.cc:826
void fillPixelClusterInfos(const edm::Event &iEvent, int which=12)
Definition: QcdLowPtDQM.cc:950
std::vector< MonitorElement * > hdNdEtaTrklets23_
Definition: QcdLowPtDQM.h:297
double zs() const
Definition: QcdLowPtDQM.h:98
void fill2D(std::vector< TH2F * > &hs, double valx, double valy, double w=1.)
Definition: QcdLowPtDQM.cc:794
double rho() const
Definition: QcdLowPtDQM.h:50
Vertex trackletV12_
Definition: QcdLowPtDQM.h:221
std::vector< MonitorElement * > hTrkRawDetaDphi12_
Definition: QcdLowPtDQM.h:269
void fillTracklets(const edm::Event &iEvent, int which=12)
std::vector< MonitorElement * > hClusterADC3_
Definition: QcdLowPtDQM.h:311
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:333
double bkgEtaCut_
Definition: QcdLowPtDQM.h:204
const Pixel & p2() const
Definition: QcdLowPtDQM.h:78
void print(int level, const char *msg)
Definition: QcdLowPtDQM.h:353
double sigEtaCut_
Definition: QcdLowPtDQM.h:202
std::string clusterVtxName_
Definition: QcdLowPtDQM.h:196
std::vector< MonitorElement * > hdNdEtaTrklets13_
Definition: QcdLowPtDQM.h:291
double y() const
Definition: QcdLowPtDQM.h:94
std::vector< MonitorElement * > hTrkRawDetaDphi23_
Definition: QcdLowPtDQM.h:277
double ZVVtxRegion_
Definition: QcdLowPtDQM.h:199
std::vector< MonitorElement * > hdNdPhiHitsL1_
Definition: QcdLowPtDQM.h:257
double x() const
Definition: QcdLowPtDQM.h:54
std::vector< MonitorElement * > hdNdEtaTrklets12_
Definition: QcdLowPtDQM.h:285
std::vector< MonitorElement * > hRawTrkEtaVtxZ13_
Definition: QcdLowPtDQM.h:265
MonitorElement * h2TrigCorr_
Definition: QcdLowPtDQM.h:244
std::vector< MonitorElement * > hNhitsL3z_
Definition: QcdLowPtDQM.h:252
TH3F * AlphaTracklets12_
Definition: QcdLowPtDQM.h:228
std::vector< MonitorElement * > hdNdEtaRawTrkl12_
Definition: QcdLowPtDQM.h:281
std::vector< MonitorElement * > hClusterADC2_
Definition: QcdLowPtDQM.h:309
std::vector< MonitorElement * > hdNdEtaHitsL3_
Definition: QcdLowPtDQM.h:256
std::vector< MonitorElement * > hClusterYSize1_
Definition: QcdLowPtDQM.h:301
void yieldAlphaHistogram(int which=12)
const TrackerGeometry * tgeo_
Definition: QcdLowPtDQM.h:240
Tracklet(const Pixel &p1, const Pixel &p2)
Definition: QcdLowPtDQM.h:65
std::vector< Pixel > bpix2_
Definition: QcdLowPtDQM.h:216
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:637
void book1D(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:272
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:326
DQMStore * theDbe_
Definition: QcdLowPtDQM.h:241
void endJob(void)
Definition: QcdLowPtDQM.cc:632
std::string hltUsedResName_
Definition: QcdLowPtDQM.h:214
std::vector< Pixel > bpix1_
Definition: QcdLowPtDQM.h:215
TH3F * AlphaTracklets23_
Definition: QcdLowPtDQM.h:238
std::vector< TH1F * > hEvtCountsPerEta23_
Definition: QcdLowPtDQM.h:236
tuple level
Definition: testEve_cfg.py:34
double adc() const
Definition: QcdLowPtDQM.h:48
virtual ~QcdLowPtDQM()
Definition: QcdLowPtDQM.cc:110
std::vector< MonitorElement * > hTrkRawDeta13_
Definition: QcdLowPtDQM.h:275
std::vector< MonitorElement * > hdNdPhiHitsL3_
Definition: QcdLowPtDQM.h:259
void fill1D(std::vector< TH1F * > &hs, double val, double w=1.)
Definition: QcdLowPtDQM.cc:773
std::vector< std::string > hltTrgNames_
Definition: QcdLowPtDQM.h:194
std::vector< MonitorElement * > hTrkRawDphi13_
Definition: QcdLowPtDQM.h:276
std::vector< TH1F * > hEvtCountsPerEta13_
Definition: QcdLowPtDQM.h:231
std::vector< Tracklet > btracklets13_
Definition: QcdLowPtDQM.h:219
std::vector< MonitorElement * > hdNdEtaSubTrkl12_
Definition: QcdLowPtDQM.h:283
double xs() const
Definition: QcdLowPtDQM.h:96
std::vector< TH3F * > NbkgTracklets23_
Definition: QcdLowPtDQM.h:235
std::vector< MonitorElement * > hNhitsL2_
Definition: QcdLowPtDQM.h:246
std::vector< int > hltTrgBits_
Definition: QcdLowPtDQM.h:211
Definition: Run.h:41
void endLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &iSetup)
Definition: QcdLowPtDQM.cc:736
double bkgPhiCut_
Definition: QcdLowPtDQM.h:205
std::vector< MonitorElement * > hTrkVtxZ23_
Definition: QcdLowPtDQM.h:262
Definition: DDAxes.h:10
void reallyPrint(int level, const char *msg)
void fillPixels(const edm::Event &iEvent, const edm::EventSetup &iSetup)
Definition: QcdLowPtDQM.cc:857