CMS 3D CMS Logo

DTTrigTest.cc
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
13 //
14 //--------------------------------------------------
15 
16 // This class's header
18 
19 // Framework related classes
22 
25 
26 // Trigger and DataFormats headers
31 
32 // ROOT headers
33 #include "TROOT.h"
34 #include "TTree.h"
35 #include "TFile.h"
36 
37 // Collaborating classes
39 #include <CLHEP/Vector/LorentzVector.h>
40 
41 // C++ headers
42 #include <iostream>
43 #include <cmath>
44 #include <ctime>
45 
46 using namespace std;
47 using namespace edm;
48 
49 const double DTTrigTest::my_TtoTDC = 32. / 25.;
50 
51 DTTrigTest::DTTrigTest(const ParameterSet& pset) : my_trig(nullptr) {
52  my_debug = pset.getUntrackedParameter<bool>("debug");
53  string outputfile = pset.getUntrackedParameter<string>("outputFileName");
54  if (my_debug)
55  cout << "[DTTrigTest] Creating rootfile " << outputfile << endl;
56  my_rootfile = new TFile(outputfile.c_str(), "RECREATE");
57  my_tree = new TTree("h1", "GMT", 0);
58  my_params = pset;
59  if (my_debug)
60  cout << "[DTTrigTest] Constructor executed!!!" << endl;
62 }
63 
65  if (my_trig != nullptr)
66  delete my_trig;
67  delete my_rootfile;
68  if (my_debug)
69  cout << "[DTTrigTest] Destructor executed!!!" << endl;
70 }
71 
73  if (my_debug)
74  cout << "[DTTrigTest] Writing Tree and Closing File" << endl;
75  my_tree->Write();
76  delete my_tree;
77  my_rootfile->Close();
78 }
79 
80 //void DTTrigTest::beginJob(const EventSetup & iEventSetup){
82  // get DTConfigManager
83  // ESHandle< DTConfigManager > confManager ;
84  // iEventSetup.get< DTConfigManagerRcd >().get( confManager ) ;
85 
86  //for testing purpose....
87  //DTBtiId btiid(1,1,1,1,1);
88  //confManager->getDTConfigBti(btiid)->print();
89 
90  // my_trig = new DTTrig(my_params);
91 
92  // my_trig->createTUs(iEventSetup);
93  // if (my_debug)
94  // cout << "[DTTrigTest] TU's Created" << endl;
95 
96  // BOOKING of the tree's varables
97  // GENERAL block branches
98  my_tree->Branch("Run", &runn, "Run/I");
99  my_tree->Branch("Event", &eventn, "Event/I");
100  my_tree->Branch("Weight", &weight, "Weight/F");
101  // GEANT block branches
102  my_tree->Branch("Ngen", &ngen, "Ngen/I");
103  my_tree->Branch("Pxgen", pxgen, "Pxgen[Ngen]/F");
104  my_tree->Branch("Pygen", pygen, "Pygen[Ngen]/F");
105  my_tree->Branch("Pzgen", pzgen, "Pzgen[Ngen]/F");
106  my_tree->Branch("Ptgen", ptgen, "Ptgen[Ngen]/F");
107  my_tree->Branch("Etagen", etagen, "Etagen[Ngen]/F");
108  my_tree->Branch("Phigen", phigen, "Phigen[Ngen]/F");
109  my_tree->Branch("Chagen", chagen, "Chagen[Ngen]/I");
110  my_tree->Branch("Vxgen", vxgen, "Vxgen[Ngen]/F");
111  my_tree->Branch("Vygen", vygen, "Vygen[Ngen]/F");
112  my_tree->Branch("Vzgen", vzgen, "Vzgen[Ngen]/F");
113  // L1MuDTBtiChipS block
114  my_tree->Branch("Nbti", &nbti, "Nbti/I");
115  my_tree->Branch("bwh", bwh, "bwh[Nbti]/I");
116  my_tree->Branch("bstat", bstat, "bstat[Nbti]/I");
117  my_tree->Branch("bsect", bsect, "bsect[Nbti]/I");
118  my_tree->Branch("bsl", bsl, "bsl[Nbti]/I");
119  my_tree->Branch("bnum", bnum, "bnum[Nbti]/I");
120  my_tree->Branch("bbx", bbx, "bbx[Nbti]/I");
121  my_tree->Branch("bcod", bcod, "bcod[Nbti]/I");
122  my_tree->Branch("bk", bk, "bk[Nbti]/I");
123  my_tree->Branch("bx", bx, "bx[Nbti]/I");
124  my_tree->Branch("bposx", bposx, "bposx[Nbti]/F");
125  my_tree->Branch("bposy", bposy, "bposy[Nbti]/F");
126  my_tree->Branch("bposz", bposz, "bposz[Nbti]/F");
127  my_tree->Branch("bdirx", bdirx, "bdirx[Nbti]/F");
128  my_tree->Branch("bdiry", bdiry, "bdiry[Nbti]/F");
129  my_tree->Branch("bdirz", bdirz, "bdirz[Nbti]/F");
130  // L1MuDTTracoChipS block
131  my_tree->Branch("Ntraco", &ntraco, "Ntraco/I");
132  my_tree->Branch("twh", twh, "twh[Ntraco]/I");
133  my_tree->Branch("tstat", tstat, "tstat[Ntraco]/I");
134  my_tree->Branch("tsect", tsect, "tsect[Ntraco]/I");
135  my_tree->Branch("tnum", tnum, "tnum[Ntraco]/I");
136  my_tree->Branch("tbx", tbx, "tbx[Ntraco]/I");
137  my_tree->Branch("tcod", tcod, "tcod[Ntraco]/I");
138  my_tree->Branch("tk", tk, "tk[Ntraco]/I");
139  my_tree->Branch("tx", tx, "tx[Ntraco]/I");
140  my_tree->Branch("tposx", tposx, "tposx[Ntraco]/F");
141  my_tree->Branch("tposy", tposy, "tposy[Ntraco]/F");
142  my_tree->Branch("tposz", tposz, "tposz[Ntraco]/F");
143  my_tree->Branch("tdirx", tdirx, "tdirx[Ntraco]/F");
144  my_tree->Branch("tdiry", tdiry, "tdiry[Ntraco]/F");
145  my_tree->Branch("tdirz", tdirz, "tdirz[Ntraco]/F");
146  // TSPHI block
147  my_tree->Branch("Ntsphi", &ntsphi, "Ntsphi/I");
148  my_tree->Branch("swh", swh, "swh[Ntsphi]/I");
149  my_tree->Branch("sstat", sstat, "sstat[Ntsphi]/I");
150  my_tree->Branch("ssect", ssect, "ssect[Ntsphi]/I");
151  my_tree->Branch("sbx", sbx, "sbx[Ntsphi]/I");
152  my_tree->Branch("scod", scod, "scod[Ntsphi]/I");
153  my_tree->Branch("sphi", sphi, "sphi[Ntsphi]/I");
154  my_tree->Branch("sphib", sphib, "sphib[Ntsphi]/I");
155  my_tree->Branch("sposx", sposx, "sposx[Ntsphi]/F");
156  my_tree->Branch("sposy", sposy, "sposy[Ntsphi]/F");
157  my_tree->Branch("sposz", sposz, "sposz[Ntsphi]/F");
158  my_tree->Branch("sdirx", sdirx, "sdirx[Ntsphi]/F");
159  my_tree->Branch("sdiry", sdiry, "sdiry[Ntsphi]/F");
160  my_tree->Branch("sdirz", sdirz, "sdirz[Ntsphi]/F");
161  // TSTHETA block
162  my_tree->Branch("Ntstheta", &ntstheta, "Ntstheta/I");
163  my_tree->Branch("thwh", thwh, "thwh[Ntstheta]/I");
164  my_tree->Branch("thstat", thstat, "thstat[Ntstheta]/I");
165  my_tree->Branch("thsect", thsect, "thsect[Ntstheta]/I");
166  my_tree->Branch("thbx", thbx, "thbx[Ntstheta]/I");
167  my_tree->Branch("thcode", thcode, "thcode[Ntstheta][7]/I");
168  my_tree->Branch("thpos", thpos, "thpos[Ntstheta][7]/I");
169  my_tree->Branch("thqual", thqual, "thqual[Ntstheta][7]/I");
170  // SC PHI block
171  my_tree->Branch("Nscphi", &nscphi, "Nscphi/I");
172  my_tree->Branch("scphwh", scphwh, "scphwh[Nscphi]/I");
173  my_tree->Branch("scphstat", scphstat, "scphstat[Nscphi]/I");
174  my_tree->Branch("scphsect", scphsect, "scphsect[Nscphi]/I");
175  my_tree->Branch("scphbx", scphbx, "scphbx[Nscphi]/I");
176  my_tree->Branch("scphcod", scphcod, "scphcod[Nscphi]/I");
177  my_tree->Branch("scphphi", scphphi, "scphphi[Nscphi]/I");
178  my_tree->Branch("scphphib", scphphib, "scphphib[Nscphi]/I");
179  my_tree->Branch("scphposx", scphposx, "scphposx[Nscphi]/F");
180  my_tree->Branch("scphposy", scphposy, "scphposy[Nscphi]/F");
181  my_tree->Branch("scphposz", scphposz, "scphposz[Nscphi]/F");
182  my_tree->Branch("scphdirx", scphdirx, "scphdirx[Nscphi]/F");
183  my_tree->Branch("scphdiry", scphdiry, "scphdiry[Nscphi]/F");
184  my_tree->Branch("scphdirz", scphdirz, "scphdirz[Nscphi]/F");
185  // SC THETA block
186  my_tree->Branch("Nsctheta", &nsctheta, "Nsctheta/I");
187  my_tree->Branch("scthwh", scthwh, "scthwh[Nsctheta]/I");
188  my_tree->Branch("scthstat", scthstat, "scthstat[Nsctheta]/I");
189  my_tree->Branch("scthsect", scthsect, "scthsect[Nsctheta]/I");
190  my_tree->Branch("scthbx", scthbx, "scthbx[Nsctheta]/I");
191  my_tree->Branch("scthcode", scthcode, "scthcode[Nsctheta][7]/I");
192  my_tree->Branch("scthpos", scthpos, "scthpos[Nsctheta][7]/I");
193  my_tree->Branch("scthqual", scthqual, "scthqual[Nsctheta][7]/I");
194 }
195 
196 void DTTrigTest::beginRun(const edm::Run& iRun, const edm::EventSetup& iEventSetup) {
197  if (!my_trig) {
198  my_trig->createTUs(iEventSetup);
199  if (my_debug)
200  cout << "[DTTrigTest] TU's Created" << endl;
201  }
202 }
203 
204 void DTTrigTest::analyze(const Event& iEvent, const EventSetup& iEventSetup) {
205  const int MAXGEN = 10;
206  const float ptcut = 1.0;
207  const float etacut = 2.4;
208  my_trig->triggerReco(iEvent, iEventSetup);
209  if (my_debug)
210  cout << "[DTTrigTest] Trigger algorithm executed for run " << iEvent.id().run() << " event " << iEvent.id().event()
211  << endl;
212 
213  // GENERAL Block
214  runn = iEvent.id().run();
215  eventn = iEvent.id().event();
216  weight = 1; // FIXME what to do with this varable?
217 
218  // GEANT Block
219  Handle<vector<SimTrack> > MyTracks;
220  Handle<vector<SimVertex> > MyVertexes;
221  iEvent.getByLabel("g4SimHits", MyTracks);
222  iEvent.getByLabel("g4SimHits", MyVertexes);
223  vector<SimTrack>::const_iterator itrack;
224  ngen = 0;
225  if (my_debug)
226  cout << "[DTTrigTest] Tracks found in the detector (not only muons) " << MyTracks->size() << endl;
227 
228  for (itrack = MyTracks->begin(); itrack != MyTracks->end(); itrack++) {
229  if (abs(itrack->type()) == 13) {
230  math::XYZTLorentzVectorD momentum = itrack->momentum();
231  float pt = momentum.Pt();
232  float eta = momentum.eta();
233  if (pt > ptcut && fabs(eta) < etacut) {
234  float phi = momentum.phi();
235  int charge = static_cast<int>(-itrack->type() / 13); //static_cast<int> (itrack->charge());
236  if (phi < 0)
237  phi = 2 * M_PI + phi;
238  int vtxindex = itrack->vertIndex();
239  float gvx = 0, gvy = 0, gvz = 0;
240  if (vtxindex > -1) {
241  gvx = MyVertexes->at(vtxindex).position().x();
242  gvy = MyVertexes->at(vtxindex).position().y();
243  gvz = MyVertexes->at(vtxindex).position().z();
244  }
245  if (ngen < MAXGEN) {
246  pxgen[ngen] = momentum.x();
247  pygen[ngen] = momentum.y();
248  pzgen[ngen] = momentum.z();
249  ptgen[ngen] = pt;
250  etagen[ngen] = eta;
251  phigen[ngen] = phi;
252  chagen[ngen] = charge;
253  vxgen[ngen] = gvx;
254  vygen[ngen] = gvy;
255  vzgen[ngen] = gvz;
256  ngen++;
257  }
258  }
259  }
260  }
261 
262  // L1 Local Trigger Block
263  // BTI
264  vector<DTBtiTrigData> btitrigs = my_trig->BtiTrigs();
265  vector<DTBtiTrigData>::const_iterator pbti;
266  int ibti = 0;
267  if (my_debug)
268  cout << "[DTTrigTest] " << btitrigs.size() << " BTI triggers found" << endl;
269 
270  for (pbti = btitrigs.begin(); pbti != btitrigs.end(); pbti++) {
271  if (ibti < 100) {
272  bwh[ibti] = pbti->wheel();
273  bstat[ibti] = pbti->station();
274  bsect[ibti] = pbti->sector();
275  bsl[ibti] = pbti->btiSL();
276  bnum[ibti] = pbti->btiNumber();
277  bbx[ibti] = pbti->step();
278  bcod[ibti] = pbti->code();
279  bk[ibti] = pbti->K();
280  bx[ibti] = pbti->X();
281  GlobalPoint pos = my_trig->CMSPosition(&(*pbti));
282  GlobalVector dir = my_trig->CMSDirection(&(*pbti));
283  bposx[ibti] = pos.x();
284  bposy[ibti] = pos.y();
285  bposz[ibti] = pos.z();
286  bdirx[ibti] = dir.x();
287  bdiry[ibti] = dir.y();
288  bdirz[ibti] = dir.z();
289  ibti++;
290  }
291  }
292  nbti = ibti;
293 
294  //TRACO
295  vector<DTTracoTrigData> tracotrigs = my_trig->TracoTrigs();
296  vector<DTTracoTrigData>::const_iterator ptc;
297  int itraco = 0;
298  if (my_debug)
299  cout << "[DTTrigTest] " << tracotrigs.size() << " TRACO triggers found" << endl;
300 
301  for (ptc = tracotrigs.begin(); ptc != tracotrigs.end(); ptc++) {
302  if (itraco < 80) {
303  twh[itraco] = ptc->wheel();
304  tstat[itraco] = ptc->station();
305  tsect[itraco] = ptc->sector();
306  tnum[itraco] = ptc->tracoNumber();
307  tbx[itraco] = ptc->step();
308  tcod[itraco] = ptc->code();
309  tk[itraco] = ptc->K();
310  tx[itraco] = ptc->X();
311  GlobalPoint pos = my_trig->CMSPosition(&(*ptc));
312  GlobalVector dir = my_trig->CMSDirection(&(*ptc));
313  tposx[itraco] = pos.x();
314  tposy[itraco] = pos.y();
315  tposz[itraco] = pos.z();
316  tdirx[itraco] = dir.x();
317  tdiry[itraco] = dir.y();
318  tdirz[itraco] = dir.z();
319  itraco++;
320  }
321  }
322  ntraco = itraco;
323 
324  //TSPHI
325  vector<DTChambPhSegm> tsphtrigs = my_trig->TSPhTrigs();
326  vector<DTChambPhSegm>::const_iterator ptsph;
327  int itsphi = 0;
328  if (my_debug)
329  cout << "[DTTrigTest] " << tsphtrigs.size() << " TSPhi triggers found" << endl;
330 
331  for (ptsph = tsphtrigs.begin(); ptsph != tsphtrigs.end(); ptsph++) {
332  if (itsphi < 40) {
333  swh[itsphi] = ptsph->wheel();
334  sstat[itsphi] = ptsph->station();
335  ssect[itsphi] = ptsph->sector();
336  sbx[itsphi] = ptsph->step();
337  scod[itsphi] = ptsph->oldCode();
338  sphi[itsphi] = ptsph->phi();
339  sphib[itsphi] = ptsph->phiB();
340  GlobalPoint pos = my_trig->CMSPosition(&(*ptsph));
341  GlobalVector dir = my_trig->CMSDirection(&(*ptsph));
342  sposx[itsphi] = pos.x();
343  sposy[itsphi] = pos.y();
344  sposz[itsphi] = pos.z();
345  sdirx[itsphi] = dir.x();
346  sdiry[itsphi] = dir.y();
347  sdirz[itsphi] = dir.z();
348  itsphi++;
349  }
350  }
351  ntsphi = itsphi;
352 
353  //TSTHETA
354  vector<DTChambThSegm> tsthtrigs = my_trig->TSThTrigs();
355  vector<DTChambThSegm>::const_iterator ptsth;
356  int itstheta = 0;
357  if (my_debug)
358  cout << "[DTTrigTest] " << tsthtrigs.size() << " TSTheta triggers found" << endl;
359 
360  for (ptsth = tsthtrigs.begin(); ptsth != tsthtrigs.end(); ptsth++) {
361  if (itstheta < 40) {
362  thwh[itstheta] = ptsth->ChamberId().wheel();
363  thstat[itstheta] = ptsth->ChamberId().station();
364  thsect[itstheta] = ptsth->ChamberId().sector();
365  thbx[itstheta] = ptsth->step();
366  for (int i = 0; i < 7; i++) {
367  thcode[itstheta][i] = ptsth->code(i);
368  thpos[itstheta][i] = ptsth->position(i);
369  thqual[itstheta][i] = ptsth->quality(i);
370  }
371  itstheta++;
372  }
373  }
374  ntstheta = itstheta;
375 
376  //SCPHI
377  vector<DTSectCollPhSegm> scphtrigs = my_trig->SCPhTrigs();
378  vector<DTSectCollPhSegm>::const_iterator pscph;
379  int iscphi = 0;
380  if (my_debug)
381  cout << "[DTTrigTest] " << scphtrigs.size() << " SectCollPhi triggers found" << endl;
382 
383  for (pscph = scphtrigs.begin(); pscph != scphtrigs.end(); pscph++) {
384  if (iscphi < 40) {
385  const DTChambPhSegm* seg = (*pscph).tsPhiTrig();
386  scphwh[iscphi] = pscph->wheel();
387  scphstat[iscphi] = pscph->station();
388  scphsect[iscphi] = pscph->sector();
389  scphbx[iscphi] = pscph->step();
390  scphcod[iscphi] = pscph->oldCode();
391  scphphi[iscphi] = pscph->phi();
392  scphphib[iscphi] = pscph->phiB();
395  scphposx[iscphi] = pos.x();
396  scphposy[iscphi] = pos.y();
397  scphposz[iscphi] = pos.z();
398  scphdirx[iscphi] = dir.x();
399  scphdiry[iscphi] = dir.y();
400  scphdirz[iscphi] = dir.z();
401  iscphi++;
402  }
403  }
404  nscphi = iscphi;
405 
406  //SCTHETA
407  vector<DTSectCollThSegm> scthtrigs = my_trig->SCThTrigs();
408  vector<DTSectCollThSegm>::const_iterator pscth;
409  int isctheta = 0;
410  if (my_debug)
411  cout << "[DTTrigTest] " << scthtrigs.size() << " SectCollTheta triggers found" << endl;
412 
413  for (pscth = scthtrigs.begin(); pscth != scthtrigs.end(); pscth++) {
414  if (isctheta < 40) {
415  scthwh[isctheta] = pscth->ChamberId().wheel();
416  scthstat[isctheta] = pscth->ChamberId().station();
417  scthsect[isctheta] = pscth->ChamberId().sector();
418  scthbx[isctheta] = pscth->step();
419  for (int i = 0; i < 7; i++) {
420  scthcode[isctheta][i] = pscth->code(i);
421  scthpos[isctheta][i] = pscth->position(i);
422  scthqual[isctheta][i] = pscth->quality(i);
423  }
424  isctheta++;
425  }
426  }
427  nsctheta = isctheta;
428 
429  //Fill the tree
430  my_tree->Fill();
431 }
Vector3DBase
Definition: Vector3DBase.h:8
DTTrigTest::scthsect
int scthsect[40]
Definition: DTTrigTest.h:170
DTTrigTest::tcod
int tcod[80]
Definition: DTTrigTest.h:114
DTTrigTest::tbx
int tbx[80]
Definition: DTTrigTest.h:113
writedatasetfile.outputfile
outputfile
Definition: writedatasetfile.py:27
DTTrig::TSThTrigs
std::vector< DTChambThSegm > TSThTrigs() const
Return a copy of all the Trigger Server (Theta) triggers.
Definition: DTTrig.cc:453
mps_fire.i
i
Definition: mps_fire.py:428
DTTrigTest::tposy
float tposy[100]
Definition: DTTrigTest.h:118
DTTrigTest::sposx
float sposx[100]
Definition: DTTrigTest.h:133
DTTrigTest::scphphib
int scphphib[40]
Definition: DTTrigTest.h:158
DTTrigTest::swh
int swh[40]
Definition: DTTrigTest.h:126
DTTrigTest::tdiry
float tdiry[100]
Definition: DTTrigTest.h:121
DTTrigTest::scphwh
int scphwh[40]
Definition: DTTrigTest.h:152
DTTrigTest::thqual
int thqual[40][7]
Definition: DTTrigTest.h:148
ESHandle.h
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
edm::Run
Definition: Run.h:45
DTTrigTest::bnum
int bnum[100]
Definition: DTTrigTest.h:95
DTTrigTest::thstat
int thstat[40]
Definition: DTTrigTest.h:143
DTTrigTest::scphposz
float scphposz[100]
Definition: DTTrigTest.h:161
DTTrigTest::beginRun
void beginRun(const edm::Run &iRun, const edm::EventSetup &iEventSetup) override
Create DTTrig instance and TUs.
Definition: DTTrigTest.cc:196
edm
HLT enums.
Definition: AlignableModifier.h:19
DTTrigTest::my_params
edm::ParameterSet my_params
Definition: DTTrigTest.h:64
DTTrigTest::scphdirz
float scphdirz[100]
Definition: DTTrigTest.h:164
DTTrigTest::runn
int runn
Definition: DTTrigTest.h:72
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
gather_cfg.cout
cout
Definition: gather_cfg.py:144
pos
Definition: PixelAliasList.h:18
DTTrigTest::sdirx
float sdirx[100]
Definition: DTTrigTest.h:136
DTTrigTest::bstat
int bstat[100]
Definition: DTTrigTest.h:92
DTTrigTest::scod
int scod[40]
Definition: DTTrigTest.h:130
DTTrigTest::vzgen
float vzgen[10]
Definition: DTTrigTest.h:87
DTTrigTest::scphposx
float scphposx[100]
Definition: DTTrigTest.h:159
DTTrigTest::nscphi
int nscphi
Definition: DTTrigTest.h:151
DTTrigTest::thwh
int thwh[40]
Definition: DTTrigTest.h:142
DTTrigTest::bwh
int bwh[100]
Definition: DTTrigTest.h:91
DTTrigTest::ngen
int ngen
Definition: DTTrigTest.h:77
edm::EDConsumerBase::consumesCollector
ConsumesCollector consumesCollector()
Use a ConsumesCollector to gather consumes information from helper functions.
Definition: EDConsumerBase.cc:47
DTTrig::SCPhTrigs
std::vector< DTSectCollPhSegm > SCPhTrigs() const
Return a copy of all the Sector Collector (Phi) triggers.
Definition: DTTrig.cc:466
bk
Definition: Breakpoints.cc:13
DTTrig::BtiTrigs
std::vector< DTBtiTrigData > BtiTrigs() const
Return a copy of all the BTI triggers.
Definition: DTTrig.cc:414
DTTrigTest::analyze
void analyze(const edm::Event &iEvent, const edm::EventSetup &iEventSetup) override
Analyze function executed on all the events.
Definition: DTTrigTest.cc:204
DTConfigManager.h
DTTrigTest::tnum
int tnum[80]
Definition: DTTrigTest.h:112
DTTrigTest::tposz
float tposz[100]
Definition: DTTrigTest.h:119
DTTrigTest::sstat
int sstat[40]
Definition: DTTrigTest.h:127
DTTrigTest::scphsect
int scphsect[40]
Definition: DTTrigTest.h:154
DTTrig::TracoTrigs
std::vector< DTTracoTrigData > TracoTrigs() const
Return a copy of all the TRACO triggers.
Definition: DTTrig.cc:427
edm::Handle
Definition: AssociativeIterator.h:50
DTTrigTest::my_rootfile
TFile * my_rootfile
Definition: DTTrigTest.h:69
DTTrigTest::sbx
int sbx[40]
Definition: DTTrigTest.h:129
DTTrigTest::etagen
float etagen[10]
Definition: DTTrigTest.h:82
DTTrigTest::nbti
int nbti
Definition: DTTrigTest.h:90
DTTrigTest::sphi
int sphi[40]
Definition: DTTrigTest.h:131
DTTrigTest::DTTrigTest
DTTrigTest(const edm::ParameterSet &pset)
Constructor.
Definition: DTTrigTest.cc:51
DTTrig::triggerReco
void triggerReco(const edm::Event &iEvent, const edm::EventSetup &iSetup)
Run the whole trigger reconstruction chain.
Definition: DTTrig.cc:132
DTTrigTest::sposz
float sposz[100]
Definition: DTTrigTest.h:135
DTTrig::TSPhTrigs
std::vector< DTChambPhSegm > TSPhTrigs() const
Return a copy of all the Trigger Server (Phi) triggers.
Definition: DTTrig.cc:440
DTTrigTest::twh
int twh[80]
Definition: DTTrigTest.h:109
DTTrigTest::tdirx
float tdirx[100]
Definition: DTTrigTest.h:120
DTTrigTest::sphib
int sphib[40]
Definition: DTTrigTest.h:132
DTTrigTest::bsect
int bsect[100]
Definition: DTTrigTest.h:93
PVValHelper::eta
Definition: PVValidationHelpers.h:70
DTTrigTest::pzgen
float pzgen[10]
Definition: DTTrigTest.h:80
DTTrigTest::scphstat
int scphstat[40]
Definition: DTTrigTest.h:153
DTTrigTest::beginJob
void beginJob() override
Create tree and Branches.
Definition: DTTrigTest.cc:81
DTTrigTest::pxgen
float pxgen[10]
Definition: DTTrigTest.h:78
DTTrigTest::scphphi
int scphphi[40]
Definition: DTTrigTest.h:157
DTTrigTest::chagen
int chagen[10]
Definition: DTTrigTest.h:84
DTTrigTest::tdirz
float tdirz[100]
Definition: DTTrigTest.h:122
DTTrigTest::scphposy
float scphposy[100]
Definition: DTTrigTest.h:160
DTTrigTest::my_tree
TTree * my_tree
Definition: DTTrigTest.h:67
DTSectCollThSegm.h
DTTrigTest::vygen
float vygen[10]
Definition: DTTrigTest.h:86
DTSectCollPhSegm.h
Point3DBase< float, GlobalTag >
DTTrig::CMSPosition
GlobalPoint CMSPosition(const DTTrigData *trig) const
Coordinate of a trigger-data object in CMS frame.
Definition: DTTrig.h:229
DTTrigTest::ssect
int ssect[40]
Definition: DTTrigTest.h:128
submitPVValidationJobs.ptcut
list ptcut
Definition: submitPVValidationJobs.py:682
DTTrigTest::tx
int tx[80]
Definition: DTTrigTest.h:116
DTTrigTest::tk
int tk[80]
Definition: DTTrigTest.h:115
DTTrigTest::scphbx
int scphbx[40]
Definition: DTTrigTest.h:155
DTTrigTest::sposy
float sposy[100]
Definition: DTTrigTest.h:134
DTTrigTest::ptgen
float ptgen[10]
Definition: DTTrigTest.h:81
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
DTTrigTest::scthstat
int scthstat[40]
Definition: DTTrigTest.h:169
DTTrigTest::nsctheta
int nsctheta
Definition: DTTrigTest.h:167
DTTrigTest::vxgen
float vxgen[10]
Definition: DTTrigTest.h:85
edm::ParameterSet
Definition: ParameterSet.h:47
DTTrigTest.h
DTTrigTest::my_debug
bool my_debug
Definition: DTTrigTest.h:61
MAXGEN
const int MAXGEN
Definition: L1PromptAnalysis.h:49
DTTrigTest::thcode
int thcode[40][7]
Definition: DTTrigTest.h:146
LorentzVector.h
DTTrigTest::bdirz
float bdirz[100]
Definition: DTTrigTest.h:105
iEvent
int iEvent
Definition: GenABIO.cc:224
DTTrigTest::thbx
int thbx[40]
Definition: DTTrigTest.h:145
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
DTTrigTest::sdiry
float sdiry[100]
Definition: DTTrigTest.h:137
DTTrig::SCThTrigs
std::vector< DTSectCollThSegm > SCThTrigs() const
Return a copy of all the Sector Collector (Theta) triggers.
Definition: DTTrig.cc:489
edm::EventSetup
Definition: EventSetup.h:58
DTTrigTest::phigen
float phigen[10]
Definition: DTTrigTest.h:83
DTTrigTest::bdiry
float bdiry[100]
Definition: DTTrigTest.h:104
DTTrigTest::sdirz
float sdirz[100]
Definition: DTTrigTest.h:138
DTTrigTest::my_TtoTDC
static const double my_TtoTDC
Definition: DTTrigTest.h:55
DTTrigTest::my_trig
DTTrig * my_trig
Definition: DTTrigTest.h:58
DTTrigTest::bcod
int bcod[100]
Definition: DTTrigTest.h:97
DDAxes::phi
DTTrigTest::bbx
int bbx[100]
Definition: DTTrigTest.h:96
DTTrigTest::ntsphi
int ntsphi
Definition: DTTrigTest.h:125
DTTrigTest::scphdiry
float scphdiry[100]
Definition: DTTrigTest.h:163
std
Definition: JetResolutionObject.h:76
DTTrigTest::bdirx
float bdirx[100]
Definition: DTTrigTest.h:103
DTTrigTest::eventn
int eventn
Definition: DTTrigTest.h:73
DTConfigManagerRcd.h
DTTrigTest::pygen
float pygen[10]
Definition: DTTrigTest.h:79
DTTrig::createTUs
void createTUs(const edm::EventSetup &iSetup)
Create the trigger units and store them in the cache.
Definition: DTTrig.cc:63
DTTrigTest::bsl
int bsl[100]
Definition: DTTrigTest.h:94
DTTrigTest::endJob
void endJob() override
Close Tree and write File.
Definition: DTTrigTest.cc:72
DTTrigTest::tsect
int tsect[80]
Definition: DTTrigTest.h:111
DTTrigTest::scphdirx
float scphdirx[100]
Definition: DTTrigTest.h:162
DTTrig
Definition: DTTrig.h:59
DTTrigTest::bposy
float bposy[100]
Definition: DTTrigTest.h:101
DTTrigTest::scthbx
int scthbx[40]
Definition: DTTrigTest.h:171
DTTrigTest::thpos
int thpos[40][7]
Definition: DTTrigTest.h:147
DTChambPhSegm
Definition: DTChambPhSegm.h:41
DTTrigTest::thsect
int thsect[40]
Definition: DTTrigTest.h:144
EventSetup.h
DTTrigTest::tposx
float tposx[100]
Definition: DTTrigTest.h:117
DTTrigTest::scthqual
int scthqual[40][7]
Definition: DTTrigTest.h:174
DTTrigTest::bposx
float bposx[100]
Definition: DTTrigTest.h:100
DTTrigTest::bx
int bx[100]
Definition: DTTrigTest.h:99
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
DTTrigTest::~DTTrigTest
~DTTrigTest() override
Destructor.
Definition: DTTrigTest.cc:64
edm::Event
Definition: Event.h:73
DTTrig::CMSDirection
GlobalVector CMSDirection(const DTTrigData *trig) const
Direction of a trigger-data object in CMS frame.
Definition: DTTrig.h:237
DTTrigTest::ntstheta
int ntstheta
Definition: DTTrigTest.h:141
DTTrigTest::scthpos
int scthpos[40][7]
Definition: DTTrigTest.h:173
DTTrigTest::ntraco
int ntraco
Definition: DTTrigTest.h:108
SimTrackContainer.h
DTTrigTest::bposz
float bposz[100]
Definition: DTTrigTest.h:102
DTTrigTest::scthwh
int scthwh[40]
Definition: DTTrigTest.h:168
DTTrigTest::scphcod
int scphcod[40]
Definition: DTTrigTest.h:156
SimVertexContainer.h
weight
Definition: weight.py:1
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
DTTrigTest::scthcode
int scthcode[40][7]
Definition: DTTrigTest.h:172
DTTrigTest::tstat
int tstat[80]
Definition: DTTrigTest.h:110