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