CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
CSCTFanalyzer Class Reference

#include <CSCTFanalyzer.h>

Inheritance diagram for CSCTFanalyzer:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

void analyze (edm::Event const &e, edm::EventSetup const &iSetup) override
 
void beginJob () override
 
 CSCTFanalyzer (edm::ParameterSet const &pset)
 
void endJob (void) override
 
 ~CSCTFanalyzer (void) override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

edm::InputTag dataTrackProducer
 
int dbx1
 
int dbx2
 
int dbx3
 
int dch1
 
int dch2
 
int dch3
 
double deta1
 
double deta2
 
double deta3
 
int dlcts1
 
int dlcts2
 
int dlcts3
 
int dmode1
 
int dmode2
 
int dmode3
 
double dphi1
 
double dphi2
 
double dphi3
 
int dpt1
 
int dpt2
 
int dpt3
 
int drank1
 
int drank2
 
int drank3
 
int ebx1
 
int ebx2
 
int ebx3
 
int ech1
 
int ech2
 
int ech3
 
double eeta1
 
double eeta2
 
double eeta3
 
int emode1
 
int emode2
 
int emode3
 
edm::InputTag emulTrackProducer
 
double ephi1
 
double ephi2
 
double ephi3
 
int ept1
 
int ept2
 
int ept3
 
int erank1
 
int erank2
 
int erank3
 
TFile * file
 
edm::InputTag lctProducer
 
edm::InputTag mbProducer
 
int nDataMuons
 
int nEmulMuons
 
TTree * tree
 
const L1MuTriggerScalests
 
int verbose
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 16 of file CSCTFanalyzer.h.

Constructor & Destructor Documentation

CSCTFanalyzer::CSCTFanalyzer ( edm::ParameterSet const &  pset)
explicit

Definition at line 9 of file CSCTFanalyzer.cc.

References dataTrackProducer, dbx1, dbx2, dbx3, dch1, dch2, dch3, deta1, deta2, deta3, dlcts1, dlcts2, dlcts3, dmode1, dmode2, dmode3, dphi1, dphi2, dphi3, dpt1, dpt2, dpt3, drank1, drank2, drank3, ebx1, ebx2, ebx3, ech1, ech2, ech3, eeta1, eeta2, eeta3, emode1, emode2, emode3, emulTrackProducer, ephi1, ephi2, ephi3, ept1, ept2, ept3, erank1, erank2, erank3, file, edm::ParameterSet::getUntrackedParameter(), HLT_2018_cff::InputTag, lctProducer, mbProducer, nDataMuons, nEmulMuons, and ts.

Referenced by beginJob().

9  : edm::EDAnalyzer() {
10  verbose = pset.getUntrackedParameter<unsigned int>("verbose", 0);
11  dataTrackProducer = pset.getUntrackedParameter<edm::InputTag>("dataTrackProducer", edm::InputTag("csctfDigis"));
12  emulTrackProducer = pset.getUntrackedParameter<edm::InputTag>("emulTrackProducer", edm::InputTag("csctfTrackDigis"));
13  lctProducer = pset.getUntrackedParameter<edm::InputTag>("lctProducer", edm::InputTag("csctfDigis"));
14  mbProducer = pset.getUntrackedParameter<edm::InputTag>("mbProducer", edm::InputTag("csctfDigis"));
15  file = new TFile("qwe.root", "RECREATE");
16  tree = new TTree("dy", "QWE");
17  tree->Branch("nDataMuons", &nDataMuons, "nDataMuons/I");
18  tree->Branch("dphi1", &dphi1, "dphi1/D");
19  tree->Branch("dphi2", &dphi2, "dphi2/D");
20  tree->Branch("dphi3", &dphi3, "dphi3/D");
21  tree->Branch("deta1", &deta1, "deta1/D");
22  tree->Branch("deta2", &deta2, "deta2/D");
23  tree->Branch("deta3", &deta3, "deta3/D");
24  tree->Branch("dpt1", &dpt1, "dpt1/I");
25  tree->Branch("dpt2", &dpt2, "dpt2/I");
26  tree->Branch("dpt3", &dpt3, "dpt3/I");
27  tree->Branch("dch1", &dch1, "dch1/I");
28  tree->Branch("dch2", &dch2, "dch2/I");
29  tree->Branch("dch3", &dch3, "dch3/I");
30  tree->Branch("dbx1", &dbx1, "dbx1/I");
31  tree->Branch("dbx2", &dbx2, "dbx2/I");
32  tree->Branch("dbx3", &dbx3, "dbx3/I");
33  tree->Branch("drank1", &drank1, "drank1/I");
34  tree->Branch("drank2", &drank2, "drank2/I");
35  tree->Branch("drank3", &drank3, "drank3/I");
36  tree->Branch("dmode1", &dmode1, "dmode1/I");
37  tree->Branch("dmode2", &dmode2, "dmode2/I");
38  tree->Branch("dmode3", &dmode3, "dmode3/I");
39  tree->Branch("dlcts1", &dlcts1, "dlcts1/I");
40  tree->Branch("dlcts2", &dlcts2, "dlcts2/I");
41  tree->Branch("dlcts3", &dlcts3, "dlcts3/I");
42 
43  tree->Branch("nEmulMuons", &nEmulMuons, "nEmulMuons/I");
44  tree->Branch("ephi1", &ephi1, "ephi1/D");
45  tree->Branch("ephi2", &ephi2, "ephi2/D");
46  tree->Branch("ephi3", &ephi3, "ephi3/D");
47  tree->Branch("eeta1", &eeta1, "eeta1/D");
48  tree->Branch("eeta2", &eeta2, "eeta2/D");
49  tree->Branch("eeta3", &eeta3, "eeta3/D");
50  tree->Branch("ept1", &ept1, "ept1/I");
51  tree->Branch("ept2", &ept2, "ept2/I");
52  tree->Branch("ept3", &ept3, "ept3/I");
53  tree->Branch("ech1", &ech1, "ech1/I");
54  tree->Branch("ech2", &ech2, "ech2/I");
55  tree->Branch("ech3", &ech3, "ech3/I");
56  tree->Branch("ebx1", &ebx1, "ebx1/I");
57  tree->Branch("ebx2", &ebx2, "ebx2/I");
58  tree->Branch("ebx3", &ebx3, "ebx3/I");
59  tree->Branch("erank1", &erank1, "erank1/I");
60  tree->Branch("erank2", &erank2, "erank2/I");
61  tree->Branch("erank3", &erank3, "erank3/I");
62  tree->Branch("emode1", &emode1, "emode1/I");
63  tree->Branch("emode2", &emode2, "emode2/I");
64  tree->Branch("emode3", &emode3, "emode3/I");
65 
66  ts = nullptr;
67 }
edm::InputTag mbProducer
Definition: CSCTFanalyzer.h:18
edm::InputTag lctProducer
Definition: CSCTFanalyzer.h:18
const L1MuTriggerScales * ts
Definition: CSCTFanalyzer.h:40
edm::InputTag emulTrackProducer
Definition: CSCTFanalyzer.h:18
Definition: tree.py:1
edm::InputTag dataTrackProducer
Definition: CSCTFanalyzer.h:18
CSCTFanalyzer::~CSCTFanalyzer ( void  )
inlineoverride

Definition at line 48 of file CSCTFanalyzer.h.

48 {}

Member Function Documentation

void CSCTFanalyzer::analyze ( edm::Event const &  e,
edm::EventSetup const &  iSetup 
)
overridevirtual

Implements edm::EDAnalyzer.

Definition at line 75 of file CSCTFanalyzer.cc.

References l1GtPatternGenerator_cfi::bx, csc::L1Track::BX(), L1MuRegionalCand::charge_packed(), gather_cfg::cout, dataTrackProducer, dbx1, dbx2, dbx3, dch1, dch2, dch3, TauDecayModes::dec, deta1, deta2, deta3, dlcts1, dlcts2, dlcts3, dmode1, dmode2, dmode3, dphi1, dphi2, dphi3, dpt1, dpt2, dpt3, drank1, drank2, drank3, ebx1, ebx2, ebx3, ech1, ech2, ech3, eeta1, eeta2, eeta3, emode1, emode2, emode3, emulTrackProducer, csc::L1Track::endcap(), ephi1, ephi2, ephi3, ept1, ept2, ept3, erank1, erank2, erank3, L1MuRegionalCand::ETA_LENGTH, L1MuRegionalCand::eta_packed(), CSCTriggerContainer< T >::get(), edm::EventSetup::get(), edm::Event::getByLabel(), L1MuScale::getCenter(), L1MuScale::getLowEdge(), L1MuTriggerScales::getPhiScale(), L1MuTriggerScales::getRegionalEtaScale(), edm::InputTag::instance(), edm::HandleBase::isValid(), edm::InputTag::label(), lctProducer, csc::L1Track::localPhi(), csc::L1Track::mb1ID(), mbProducer, csc::L1Track::me1ID(), csc::L1Track::me2ID(), csc::L1Track::me3ID(), csc::L1Track::me4ID(), csc::L1Track::mode(), nDataMuons, nEmulMuons, csc::L1Track::outputLink(), L1MuRegionalCand::phi_packed(), edm::Handle< T >::product(), edm::ESHandle< T >::product(), L1MuRegionalCand::pt_packed(), csc::L1Track::ptLUTAddress(), CSCTriggerContainer< T >::push_back(), csc::L1Track::rank(), mps_fire::result, csc::L1Track::sector(), csc::L1Track::setOutputLink(), relativeConstraints::station, PDWG_EXOHSCP_cff::tracks, and ts.

75  {
76  if (!ts) {
78  es.get<L1MuTriggerScalesRcd>().get(scales);
79  ts = scales.product();
80  }
81 
82  if (lctProducer.label() != "null") {
84  e.getByLabel(lctProducer.label(), lctProducer.instance(), LCTs);
85 
86  for (CSCCorrelatedLCTDigiCollection::DigiRangeIterator csc = LCTs.product()->begin(); csc != LCTs.product()->end();
87  csc++) {
88  int lctId = 0;
89 
90  CSCCorrelatedLCTDigiCollection::Range range1 = LCTs.product()->get((*csc).first);
91  for (CSCCorrelatedLCTDigiCollection::const_iterator lct = range1.first; lct != range1.second; lct++, lctId++) {
92  int station = (*csc).first.station() - 1;
93  int cscId = (*csc).first.triggerCscId() - 1;
94  int sector = (*csc).first.triggerSector() - 1 + ((*csc).first.endcap() == 1 ? 0 : 6);
95  //int subSector = CSCTriggerNumbering::triggerSubSectorFromLabels((*csc).first);
96  int tbin = lct->getBX();
97  //int fpga = ( subSector ? subSector-1 : station+1 );
98  if ((verbose & 1) == 1)
99  std::cout << "LCT in station=" << (station + 1) << " sector=" << (sector + 1) << " cscId=" << (cscId + 1)
100  << " bx=" << tbin << std::endl;
101  }
102  }
103  }
104 
105  if (mbProducer.label() != "null") {
107  e.getByLabel(mbProducer.label(), mbProducer.instance(), dtStubs);
108  if (dtStubs.isValid()) {
109  std::vector<csctf::TrackStub> vstubs = dtStubs->get();
110  for (std::vector<csctf::TrackStub>::const_iterator stub = vstubs.begin(); stub != vstubs.end(); stub++) {
111  //int dtSector =(stub->sector()-1)*2 + stub->subsector()-1;
112  //int dtEndcap = stub->endcap()-1;
113  std::cout << " DT data: tbin=" << stub->BX() << " (CSC) sector=" << stub->sector()
114  << " (CSC) subsector=" << stub->subsector() << " station=" << stub->station()
115  << " endcap=" << stub->endcap() << " phi=" << stub->phiPacked() << " phiBend=" << stub->getBend()
116  << " quality=" << stub->getQuality() << " id=" << stub->getMPCLink() << " mb_bxn=" << stub->cscid()
117  << std::endl;
118  }
119 
120  } else
121  edm::LogInfo("CSCTFAnalyzer") << " No valid CSCTriggerContainer<csctf::TrackStub> products found";
122  }
123 
124  nDataMuons = 0;
125  nEmulMuons = 0;
126  dphi1 = -1;
127  deta1 = -1;
128  dpt1 = -1;
129  dch1 = -1, dbx1 = -10;
130  dphi2 = -1;
131  deta2 = -1;
132  dpt2 = -1;
133  dch2 = -1, dbx2 = -10;
134  dphi3 = -1;
135  deta3 = -1;
136  dpt3 = -1;
137  dch3 = -1, dbx3 = -10;
138  drank1 = -1;
139  drank2 = -1;
140  drank3 = -1;
141  dmode1 = -1;
142  dmode2 = -1;
143  dmode3 = -1;
144  dlcts1 = 0;
145  dlcts2 = 0;
146  dlcts3 = 0;
147  ephi1 = -1;
148  eeta1 = -1;
149  ept1 = -1;
150  ech1 = -1, ebx1 = -10;
151  ephi2 = -1;
152  eeta2 = -1;
153  ept2 = -1;
154  ech2 = -1, ebx2 = -10;
155  ephi3 = -1;
156  eeta3 = -1;
157  ept3 = -1;
158  ech3 = -1, ebx3 = -10;
159  erank1 = -1;
160  erank2 = -1;
161  erank3 = -1;
162  emode1 = -1;
163  emode2 = -1;
164  emode3 = -1;
165 
166  if (dataTrackProducer.label() != "null") {
169  // Muon sorter emulation:
170  std::vector<csc::L1Track> result;
171  CSCTriggerContainer<csc::L1Track> stripped_tracks;
172  for (L1CSCTrackCollection::const_iterator tmp_trk = tracks->begin(); tmp_trk != tracks->end(); tmp_trk++) {
173  csc::L1Track qqq(tmp_trk->first);
174  qqq.setOutputLink(0);
175  CSCCorrelatedLCTDigiCollection qwe = tmp_trk->second;
176  for (CSCCorrelatedLCTDigiCollection::DigiRangeIterator csc = qwe.begin(); csc != qwe.end(); csc++) {
177  CSCCorrelatedLCTDigiCollection::Range range1 = qwe.get((*csc).first);
178  for (CSCCorrelatedLCTDigiCollection::const_iterator lct = range1.first; lct != range1.second; lct++)
179  qqq.setOutputLink(qqq.outputLink() | (1 << (*csc).first.station()));
180  }
181  stripped_tracks.push_back(qqq);
182  }
183  // First we sort and crop the incoming tracks based on their rank.
184  for (int bx = -3; bx <= 3; ++bx) { // switch back into signed BX
185  std::vector<csc::L1Track> tks = stripped_tracks.get(bx);
186  std::sort(tks.begin(), tks.end(), std::greater<csc::L1Track>());
187  if (tks.size() > 4)
188  tks.resize(4); // resize to max number of muons the MS can output
189  for (std::vector<csc::L1Track>::iterator itr = tks.begin(); itr != tks.end(); itr++) {
190  unsigned gbl_phi =
191  itr->localPhi() + ((itr->sector() - 1) * 24) + 6; // for now, convert using this.. LUT in the future
192  if (gbl_phi > 143)
193  gbl_phi -= 143;
194  itr->setPhiPacked(gbl_phi & 0xff);
195  unsigned eta_sign = (itr->endcap() == 1 ? 0 : 1);
196  int gbl_eta = itr->eta_packed() | eta_sign << (L1MuRegionalCand::ETA_LENGTH - 1);
197  itr->setEtaPacked(gbl_eta & 0x3f);
198  itr->setQualityPacked((itr->rank() >> 4) & 0x3);
199  itr->setPtPacked(itr->rank() & 0x1f);
200  if (!itr->empty())
201  result.push_back(*itr);
202  }
203  }
204  // for(std::vector<csc::L1Track>::const_iterator trk=result.begin(); trk!=result.end(); trk++){
205  for (L1CSCTrackCollection::const_iterator _trk = tracks->begin(); _trk != tracks->end(); _trk++) {
206  const csc::L1Track* trk = &(_trk->first);
207  switch (nDataMuons) {
208  case 0:
209  dphi1 = ts->getPhiScale()->getLowEdge(trk->phi_packed());
211  dpt1 = trk->pt_packed();
212  dch1 = trk->charge_packed();
213  dbx1 = trk->BX();
214  dmode1 = trk->mode();
215  drank1 = trk->rank();
216  dlcts1 = trk->outputLink();
217  break;
218  case 1:
219  dphi2 = ts->getPhiScale()->getLowEdge(trk->phi_packed());
221  dpt2 = trk->pt_packed();
222  dch2 = trk->charge_packed();
223  dbx2 = trk->BX();
224  dmode2 = trk->mode();
225  drank2 = trk->rank();
226  dlcts2 = trk->outputLink();
227  break;
228  case 2:
229  dphi3 = ts->getPhiScale()->getLowEdge(trk->phi_packed());
231  dpt3 = trk->pt_packed();
232  dch3 = trk->charge_packed();
233  dbx3 = trk->BX();
234  dmode3 = trk->mode();
235  drank3 = trk->rank();
236  dlcts3 = trk->outputLink();
237  break;
238  default:
239  break;
240  }
241  if ((verbose & 2) == 2)
242  std::cout << "Data: TRK in endcap=" << trk->endcap() << " sector=" << trk->sector() << " bx=" << trk->BX()
243  << " (rank=" << trk->rank() << " localPhi=" << trk->localPhi() << " etaPacked=" << trk->eta_packed()
244  << " me1D=" << trk->me1ID() << " me2D=" << trk->me2ID() << " me3D=" << trk->me3ID()
245  << " me4D=" << trk->me4ID() << " mb1D=" << trk->mb1ID() << " pTaddr=" << std::hex
246  << trk->ptLUTAddress() << std::dec << ")" << std::endl;
247  nDataMuons++;
248  }
249  }
250 
251  if (emulTrackProducer.label() != "null") {
254  for (L1CSCTrackCollection::const_iterator trk = tracks.product()->begin(); trk != tracks.product()->end(); trk++) {
255  switch (nEmulMuons) {
256  case 0:
257  ephi1 = trk->first.localPhi();
258  eeta1 = trk->first.eta_packed();
259  ept1 = trk->first.pt_packed();
260  ech1 = trk->first.charge_packed();
261  ebx1 = trk->first.BX();
262  break;
263  case 1:
264  ephi2 = trk->first.localPhi();
265  eeta2 = trk->first.eta_packed();
266  ept2 = trk->first.pt_packed();
267  ech2 = trk->first.charge_packed();
268  ebx2 = trk->first.BX();
269  break;
270  case 2:
271  ephi3 = trk->first.localPhi();
272  eeta3 = trk->first.eta_packed();
273  ept3 = trk->first.pt_packed();
274  ech3 = trk->first.charge_packed();
275  ebx3 = trk->first.BX();
276  break;
277  default:
278  break;
279  }
280  if ((verbose & 2) == 2)
281  std::cout << "Emulator: TRK in endcap=" << trk->first.endcap() << " sector=" << trk->first.sector()
282  << " bx=" << trk->first.BX() << " (rank=" << trk->first.rank()
283  << " localPhi=" << trk->first.localPhi() << " etaPacked=" << trk->first.eta_packed()
284  << " me1D=" << trk->first.me1ID() << " me2D=" << trk->first.me2ID() << " me3D=" << trk->first.me3ID()
285  << " me4D=" << trk->first.me4ID() << " mb1D=" << trk->first.mb1ID() << " pTaddr=" << std::hex
286  << trk->first.ptLUTAddress() << std::dec << ")" << std::endl;
287  nEmulMuons++;
288  }
289  }
290 
291  tree->Fill();
292 }
unsigned mode(void) const
Definition: L1Track.h:90
std::vector< T > get() const
unsigned me1ID() const
Definition: L1Track.h:40
unsigned me2ID() const
Definition: L1Track.h:41
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
edm::InputTag mbProducer
Definition: CSCTFanalyzer.h:18
virtual float getCenter(unsigned packed) const =0
get the center of bin represented by packed
void push_back(const T &data)
edm::InputTag lctProducer
Definition: CSCTFanalyzer.h:18
unsigned mb1ID() const
Definition: L1Track.h:44
const L1MuScale * getPhiScale() const
get the phi scale
unsigned ptLUTAddress() const
Definition: L1Track.h:58
unsigned eta_packed() const
return eta packed as in hardware
unsigned sector() const
Definition: L1Track.h:47
bool isValid() const
Definition: HandleBase.h:70
Definition: L1Track.h:19
unsigned rank() const
Definition: L1Track.cc:120
unsigned localPhi() const
Definition: L1Track.h:37
unsigned outputLink() const
Definition: L1Track.h:63
T const * product() const
Definition: Handle.h:69
std::pair< const_iterator, const_iterator > Range
std::vector< DigiType >::const_iterator const_iterator
std::string const & label() const
Definition: InputTag.h:36
const L1MuScale * getRegionalEtaScale(int isys) const
get the regioanl muon trigger eta scale, isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC) ...
const L1MuTriggerScales * ts
Definition: CSCTFanalyzer.h:40
unsigned endcap() const
Definition: L1Track.h:46
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
edm::InputTag emulTrackProducer
Definition: CSCTFanalyzer.h:18
unsigned me4ID() const
Definition: L1Track.h:43
Definition: tree.py:1
unsigned pt_packed() const
return pt packed as in hardware
T const * product() const
Definition: ESHandle.h:86
std::string const & instance() const
Definition: InputTag.h:37
edm::InputTag dataTrackProducer
Definition: CSCTFanalyzer.h:18
int BX() const
Definition: L1Track.h:53
unsigned me3ID() const
Definition: L1Track.h:42
unsigned phi_packed() const
return phi packed as in hardware
void CSCTFanalyzer::beginJob ( void  )
inlineoverridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 45 of file CSCTFanalyzer.h.

References CSCTFanalyzer(), and muonDTDigis_cfi::pset.

45 {}
void CSCTFanalyzer::endJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 69 of file CSCTFanalyzer.cc.

References file.

69  {
70  tree->Write();
71  file->Write();
72  file->Close();
73 }
Definition: tree.py:1

Member Data Documentation

edm::InputTag CSCTFanalyzer::dataTrackProducer
private

Definition at line 18 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dbx1
private

Definition at line 23 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dbx2
private

Definition at line 25 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dbx3
private

Definition at line 27 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dch1
private

Definition at line 23 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dch2
private

Definition at line 25 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dch3
private

Definition at line 27 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::deta1
private

Definition at line 22 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::deta2
private

Definition at line 24 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::deta3
private

Definition at line 26 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dlcts1
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dlcts2
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dlcts3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dmode1
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dmode2
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dmode3
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::dphi1
private

Definition at line 22 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::dphi2
private

Definition at line 24 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::dphi3
private

Definition at line 26 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dpt1
private

Definition at line 23 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dpt2
private

Definition at line 25 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dpt3
private

Definition at line 27 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::drank1
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::drank2
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::drank3
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ebx1
private

Definition at line 32 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ebx2
private

Definition at line 34 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ebx3
private

Definition at line 36 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ech1
private

Definition at line 32 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ech2
private

Definition at line 34 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ech3
private

Definition at line 36 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::eeta1
private

Definition at line 31 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::eeta2
private

Definition at line 33 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::eeta3
private

Definition at line 35 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::emode1
private

Definition at line 38 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::emode2
private

Definition at line 38 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::emode3
private

Definition at line 38 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

edm::InputTag CSCTFanalyzer::emulTrackProducer
private

Definition at line 18 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::ephi1
private

Definition at line 31 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::ephi2
private

Definition at line 33 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::ephi3
private

Definition at line 35 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ept1
private

Definition at line 32 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ept2
private

Definition at line 34 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ept3
private

Definition at line 36 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::erank1
private

Definition at line 37 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::erank2
private

Definition at line 37 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::erank3
private

Definition at line 37 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

TFile* CSCTFanalyzer::file
private

Definition at line 20 of file CSCTFanalyzer.h.

Referenced by CSCTFanalyzer(), and endJob().

edm::InputTag CSCTFanalyzer::lctProducer
private

Definition at line 18 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

edm::InputTag CSCTFanalyzer::mbProducer
private

Definition at line 18 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::nDataMuons
private

Definition at line 21 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::nEmulMuons
private

Definition at line 21 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

TTree* CSCTFanalyzer::tree
private
const L1MuTriggerScales* CSCTFanalyzer::ts
private

Definition at line 40 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::verbose
private