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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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
 
edm::ESGetToken< L1MuTriggerScales, L1MuTriggerScalesRcdscalesToken
 
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 wantsInputProcessBlocks ()
 
static bool wantsProcessBlocks ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 18 of file CSCTFanalyzer.h.

Constructor & Destructor Documentation

◆ CSCTFanalyzer()

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

Definition at line 8 of file CSCTFanalyzer.cc.

8  : edm::EDAnalyzer() {
9  verbose = pset.getUntrackedParameter<unsigned int>("verbose", 0);
10  dataTrackProducer = pset.getUntrackedParameter<edm::InputTag>("dataTrackProducer", edm::InputTag("csctfDigis"));
11  emulTrackProducer = pset.getUntrackedParameter<edm::InputTag>("emulTrackProducer", edm::InputTag("csctfTrackDigis"));
12  lctProducer = pset.getUntrackedParameter<edm::InputTag>("lctProducer", edm::InputTag("csctfDigis"));
13  mbProducer = pset.getUntrackedParameter<edm::InputTag>("mbProducer", edm::InputTag("csctfDigis"));
14  scalesToken = esConsumes<L1MuTriggerScales, L1MuTriggerScalesRcd>();
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 }

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, HLT_FULL_cff::InputTag, lctProducer, mbProducer, nDataMuons, nEmulMuons, muonDTDigis_cfi::pset, scalesToken, ts, and verbose.

◆ ~CSCTFanalyzer()

CSCTFanalyzer::~CSCTFanalyzer ( void  )
inlineoverride

Definition at line 51 of file CSCTFanalyzer.h.

51 {}

Member Function Documentation

◆ analyze()

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

Implements edm::EDAnalyzer.

Definition at line 75 of file CSCTFanalyzer.cc.

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

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, MillePedeFileConverter_cfg::e, 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(), L1MuScale::getCenter(), edm::EventSetup::getHandle(), 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, scalesToken, csc::L1Track::sector(), csc::L1Track::setOutputLink(), jetUpdater_cfi::sort, relativeConstraints::station, tracks, ts, and verbose.

◆ beginJob()

void CSCTFanalyzer::beginJob ( void  )
inlineoverridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 48 of file CSCTFanalyzer.h.

48 {}

◆ endJob()

void CSCTFanalyzer::endJob ( void  )
overridevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 69 of file CSCTFanalyzer.cc.

69  {
70  tree->Write();
71  file->Write();
72  file->Close();
73 }

References file.

Member Data Documentation

◆ dataTrackProducer

edm::InputTag CSCTFanalyzer::dataTrackProducer
private

Definition at line 20 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dbx1

int CSCTFanalyzer::dbx1
private

Definition at line 26 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dbx2

int CSCTFanalyzer::dbx2
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dbx3

int CSCTFanalyzer::dbx3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dch1

int CSCTFanalyzer::dch1
private

Definition at line 26 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dch2

int CSCTFanalyzer::dch2
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dch3

int CSCTFanalyzer::dch3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ deta1

double CSCTFanalyzer::deta1
private

Definition at line 25 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ deta2

double CSCTFanalyzer::deta2
private

Definition at line 27 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ deta3

double CSCTFanalyzer::deta3
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dlcts1

int CSCTFanalyzer::dlcts1
private

Definition at line 33 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dlcts2

int CSCTFanalyzer::dlcts2
private

Definition at line 33 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dlcts3

int CSCTFanalyzer::dlcts3
private

Definition at line 33 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dmode1

int CSCTFanalyzer::dmode1
private

Definition at line 32 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dmode2

int CSCTFanalyzer::dmode2
private

Definition at line 32 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dmode3

int CSCTFanalyzer::dmode3
private

Definition at line 32 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dphi1

double CSCTFanalyzer::dphi1
private

Definition at line 25 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dphi2

double CSCTFanalyzer::dphi2
private

Definition at line 27 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dphi3

double CSCTFanalyzer::dphi3
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dpt1

int CSCTFanalyzer::dpt1
private

Definition at line 26 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dpt2

int CSCTFanalyzer::dpt2
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ dpt3

int CSCTFanalyzer::dpt3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ drank1

int CSCTFanalyzer::drank1
private

Definition at line 31 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ drank2

int CSCTFanalyzer::drank2
private

Definition at line 31 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ drank3

int CSCTFanalyzer::drank3
private

Definition at line 31 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ebx1

int CSCTFanalyzer::ebx1
private

Definition at line 35 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ebx2

int CSCTFanalyzer::ebx2
private

Definition at line 37 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ebx3

int CSCTFanalyzer::ebx3
private

Definition at line 39 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ech1

int CSCTFanalyzer::ech1
private

Definition at line 35 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ech2

int CSCTFanalyzer::ech2
private

Definition at line 37 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ech3

int CSCTFanalyzer::ech3
private

Definition at line 39 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ eeta1

double CSCTFanalyzer::eeta1
private

Definition at line 34 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ eeta2

double CSCTFanalyzer::eeta2
private

Definition at line 36 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ eeta3

double CSCTFanalyzer::eeta3
private

Definition at line 38 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ emode1

int CSCTFanalyzer::emode1
private

Definition at line 41 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ emode2

int CSCTFanalyzer::emode2
private

Definition at line 41 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ emode3

int CSCTFanalyzer::emode3
private

Definition at line 41 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ emulTrackProducer

edm::InputTag CSCTFanalyzer::emulTrackProducer
private

Definition at line 20 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ephi1

double CSCTFanalyzer::ephi1
private

Definition at line 34 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ephi2

double CSCTFanalyzer::ephi2
private

Definition at line 36 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ephi3

double CSCTFanalyzer::ephi3
private

Definition at line 38 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ept1

int CSCTFanalyzer::ept1
private

Definition at line 35 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ept2

int CSCTFanalyzer::ept2
private

Definition at line 37 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ ept3

int CSCTFanalyzer::ept3
private

Definition at line 39 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ erank1

int CSCTFanalyzer::erank1
private

Definition at line 40 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ erank2

int CSCTFanalyzer::erank2
private

Definition at line 40 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ erank3

int CSCTFanalyzer::erank3
private

Definition at line 40 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ file

TFile* CSCTFanalyzer::file
private

◆ lctProducer

edm::InputTag CSCTFanalyzer::lctProducer
private

Definition at line 20 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ mbProducer

edm::InputTag CSCTFanalyzer::mbProducer
private

Definition at line 20 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ nDataMuons

int CSCTFanalyzer::nDataMuons
private

Definition at line 24 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ nEmulMuons

int CSCTFanalyzer::nEmulMuons
private

Definition at line 24 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ scalesToken

edm::ESGetToken<L1MuTriggerScales, L1MuTriggerScalesRcd> CSCTFanalyzer::scalesToken
private

Definition at line 21 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ tree

TTree* CSCTFanalyzer::tree
private

◆ ts

const L1MuTriggerScales* CSCTFanalyzer::ts
private

Definition at line 43 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

◆ verbose

int CSCTFanalyzer::verbose
private
csc::L1Track::me4ID
unsigned me4ID() const
Definition: L1Track.h:43
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
CSCTFanalyzer::verbose
int verbose
Definition: CSCTFanalyzer.h:24
CSCTFanalyzer::erank2
int erank2
Definition: CSCTFanalyzer.h:40
CSCTFanalyzer::dch2
int dch2
Definition: CSCTFanalyzer.h:28
L1MuRegionalCand::ETA_LENGTH
Definition: L1MuRegionalCand.h:193
CSCTFanalyzer::ebx1
int ebx1
Definition: CSCTFanalyzer.h:35
CSCTFanalyzer::erank3
int erank3
Definition: CSCTFanalyzer.h:40
CSCTFanalyzer::ech1
int ech1
Definition: CSCTFanalyzer.h:35
edm::Handle::product
T const * product() const
Definition: Handle.h:70
CSCTFanalyzer::ebx3
int ebx3
Definition: CSCTFanalyzer.h:39
edm::InputTag::instance
std::string const & instance() const
Definition: InputTag.h:37
CSCTFanalyzer::ech3
int ech3
Definition: CSCTFanalyzer.h:39
CSCTFanalyzer::drank3
int drank3
Definition: CSCTFanalyzer.h:31
L1MuRegionalCand::phi_packed
unsigned phi_packed() const
return phi packed as in hardware
Definition: L1MuRegionalCand.h:86
relativeConstraints.station
station
Definition: relativeConstraints.py:67
CSCTFanalyzer::ephi1
double ephi1
Definition: CSCTFanalyzer.h:34
tree
Definition: tree.py:1
CSCTFanalyzer::scalesToken
edm::ESGetToken< L1MuTriggerScales, L1MuTriggerScalesRcd > scalesToken
Definition: CSCTFanalyzer.h:21
gather_cfg.cout
cout
Definition: gather_cfg.py:144
CSCTFanalyzer::emulTrackProducer
edm::InputTag emulTrackProducer
Definition: CSCTFanalyzer.h:20
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89285
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
CSCTFanalyzer::emode3
int emode3
Definition: CSCTFanalyzer.h:41
csc::L1Track::ptLUTAddress
unsigned ptLUTAddress() const
Definition: L1Track.h:58
csc::L1Track::mb1ID
unsigned mb1ID() const
Definition: L1Track.h:44
CSCTFanalyzer::deta3
double deta3
Definition: CSCTFanalyzer.h:29
CSCTFanalyzer::eeta2
double eeta2
Definition: CSCTFanalyzer.h:36
csc::L1Track::localPhi
unsigned localPhi() const
Definition: L1Track.h:37
CSCTFanalyzer::ept1
int ept1
Definition: CSCTFanalyzer.h:35
csc::L1Track::mode
unsigned mode(void) const
Definition: L1Track.h:90
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
CSCTFanalyzer::emode1
int emode1
Definition: CSCTFanalyzer.h:41
CSCTFanalyzer::drank1
int drank1
Definition: CSCTFanalyzer.h:31
csc::L1Track::me3ID
unsigned me3ID() const
Definition: L1Track.h:42
edm::Handle< CSCCorrelatedLCTDigiCollection >
CSCTFanalyzer::file
TFile * file
Definition: CSCTFanalyzer.h:23
CSCTFanalyzer::ts
const L1MuTriggerScales * ts
Definition: CSCTFanalyzer.h:43
csc::L1Track::endcap
unsigned endcap() const
Definition: L1Track.h:46
MuonDigiCollection::const_iterator
std::vector< DigiType >::const_iterator const_iterator
Definition: MuonDigiCollection.h:94
csc::L1Track::BX
int BX() const
Definition: L1Track.h:53
edm::EDAnalyzer
Definition: EDAnalyzer.h:28
csc::L1Track::outputLink
unsigned outputLink() const
Definition: L1Track.h:63
CSCTFanalyzer::dch1
int dch1
Definition: CSCTFanalyzer.h:26
csc::L1Track::sector
unsigned sector() const
Definition: L1Track.h:47
L1MuTriggerScales::getPhiScale
const L1MuScale * getPhiScale() const
get the phi scale
Definition: L1MuTriggerScales.h:175
edm::InputTag::label
std::string const & label() const
Definition: InputTag.h:36
csc
Definition: L1Track.h:19
CSCTFanalyzer::dphi3
double dphi3
Definition: CSCTFanalyzer.h:29
CSCTFanalyzer::mbProducer
edm::InputTag mbProducer
Definition: CSCTFanalyzer.h:20
CSCTFanalyzer::dlcts2
int dlcts2
Definition: CSCTFanalyzer.h:33
CSCTFanalyzer::deta1
double deta1
Definition: CSCTFanalyzer.h:25
CSCTFanalyzer::dmode2
int dmode2
Definition: CSCTFanalyzer.h:32
L1MuTriggerScales::getRegionalEtaScale
const L1MuScale * getRegionalEtaScale(int isys) const
get the regioanl muon trigger eta scale, isys = 0(DT), 1(bRPC), 2(CSC), 3(fwdRPC)
Definition: L1MuTriggerScales.h:158
CSCTFanalyzer::ephi3
double ephi3
Definition: CSCTFanalyzer.h:38
CSCTFanalyzer::dch3
int dch3
Definition: CSCTFanalyzer.h:30
edm::ESHandle
Definition: DTSurvey.h:22
L1MuScale::getLowEdge
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
CSCTFanalyzer::dlcts3
int dlcts3
Definition: CSCTFanalyzer.h:33
CSCTFanalyzer::dataTrackProducer
edm::InputTag dataTrackProducer
Definition: CSCTFanalyzer.h:20
CSCTFanalyzer::dmode3
int dmode3
Definition: CSCTFanalyzer.h:32
CSCTFanalyzer::emode2
int emode2
Definition: CSCTFanalyzer.h:41
CSCTFanalyzer::ech2
int ech2
Definition: CSCTFanalyzer.h:37
CSCTFanalyzer::ept2
int ept2
Definition: CSCTFanalyzer.h:37
CSCTFanalyzer::ephi2
double ephi2
Definition: CSCTFanalyzer.h:36
CSCTFanalyzer::lctProducer
edm::InputTag lctProducer
Definition: CSCTFanalyzer.h:20
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
CSCTFanalyzer::dphi2
double dphi2
Definition: CSCTFanalyzer.h:27
CSCTFanalyzer::dpt1
int dpt1
Definition: CSCTFanalyzer.h:26
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
CSCTFanalyzer::dbx2
int dbx2
Definition: CSCTFanalyzer.h:28
csc::L1Track::me2ID
unsigned me2ID() const
Definition: L1Track.h:41
CSCCorrelatedLCTDigiCollection
CSCTFanalyzer::dpt2
int dpt2
Definition: CSCTFanalyzer.h:28
CSCTFanalyzer::dbx1
int dbx1
Definition: CSCTFanalyzer.h:26
CSCTFanalyzer::nEmulMuons
int nEmulMuons
Definition: CSCTFanalyzer.h:24
CSCTFanalyzer::dbx3
int dbx3
Definition: CSCTFanalyzer.h:30
CSCTFanalyzer::eeta3
double eeta3
Definition: CSCTFanalyzer.h:38
CSCTFanalyzer::ept3
int ept3
Definition: CSCTFanalyzer.h:39
CSCTFanalyzer::dphi1
double dphi1
Definition: CSCTFanalyzer.h:25
csc::L1Track::rank
unsigned rank() const
Definition: L1Track.cc:120
CSCTFanalyzer::eeta1
double eeta1
Definition: CSCTFanalyzer.h:34
CSCTFanalyzer::deta2
double deta2
Definition: CSCTFanalyzer.h:27
L1MuRegionalCand::eta_packed
unsigned eta_packed() const
return eta packed as in hardware
Definition: L1MuRegionalCand.h:95
CSCTFanalyzer::dlcts1
int dlcts1
Definition: CSCTFanalyzer.h:33
CSCTriggerContainer< csc::L1Track >
CSCTriggerContainer::push_back
void push_back(const T &data)
Definition: CSCTriggerContainer.h:51
MuonDigiCollection::Range
std::pair< const_iterator, const_iterator > Range
Definition: MuonDigiCollection.h:95
csc::L1Track
Definition: L1Track.h:21
L1MuRegionalCand::pt_packed
unsigned pt_packed() const
return pt packed as in hardware
Definition: L1MuRegionalCand.h:89
mps_fire.result
result
Definition: mps_fire.py:311
CSCTFanalyzer::dpt3
int dpt3
Definition: CSCTFanalyzer.h:30
CSCTFanalyzer::drank2
int drank2
Definition: CSCTFanalyzer.h:31
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
DigiContainerIterator
Definition: MuonDigiCollection.h:30
CSCTFanalyzer::ebx2
int ebx2
Definition: CSCTFanalyzer.h:37
CSCTFanalyzer::nDataMuons
int nDataMuons
Definition: CSCTFanalyzer.h:24
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
CSCTFanalyzer::dmode1
int dmode1
Definition: CSCTFanalyzer.h:32
edm::InputTag
Definition: InputTag.h:15
CSCTFanalyzer::erank1
int erank1
Definition: CSCTFanalyzer.h:40
csc::L1Track::me1ID
unsigned me1ID() const
Definition: L1Track.h:40
CSCTriggerContainer::get
std::vector< T > get() const
Definition: CSCTriggerContainer.h:83
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
L1MuScale::getCenter
virtual float getCenter(unsigned packed) const =0
get the center of bin represented by packed
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
L1MuRegionalCand::charge_packed
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
Definition: L1MuRegionalCand.h:101