CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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

virtual void analyze (edm::Event const &e, edm::EventSetup const &iSetup)
 
virtual void beginJob ()
 
 CSCTFanalyzer (edm::ParameterSet const &pset)
 
virtual void endJob (void)
 
virtual ~CSCTFanalyzer (void)
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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 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(), lctProducer, mbProducer, nDataMuons, nEmulMuons, tree, and ts.

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=0;
67 }
edm::InputTag mbProducer
Definition: CSCTFanalyzer.h:18
edm::InputTag lctProducer
Definition: CSCTFanalyzer.h:18
const L1MuTriggerScales * ts
Definition: CSCTFanalyzer.h:34
edm::InputTag emulTrackProducer
Definition: CSCTFanalyzer.h:18
edm::InputTag dataTrackProducer
Definition: CSCTFanalyzer.h:18
virtual CSCTFanalyzer::~CSCTFanalyzer ( void  )
inlinevirtual

Definition at line 42 of file CSCTFanalyzer.h.

42 {}

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 75 of file CSCTFanalyzer.cc.

References 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< class >::product(), L1MuRegionalCand::pt_packed(), csc::L1Track::ptLUTAddress(), CSCTriggerContainer< T >::push_back(), csc::L1Track::rank(), query::result, csc::L1Track::sector(), csc::L1Track::setOutputLink(), python.multivaluedict::sort(), relativeConstraints::station, testEve_cfg::tracks, tree, 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(); 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)<<" bx="<<tbin<<std::endl;
99  }
100  }
101  }
102 
103  if( mbProducer.label() != "null" ){
105  e.getByLabel(mbProducer.label(),mbProducer.instance(),dtStubs);
106  if( dtStubs.isValid() ){
107  std::vector<csctf::TrackStub> vstubs = dtStubs->get();
108  for(std::vector<csctf::TrackStub>::const_iterator stub=vstubs.begin(); stub!=vstubs.end(); stub++){
109  //int dtSector =(stub->sector()-1)*2 + stub->subsector()-1;
110  //int dtEndcap = stub->endcap()-1;
111  std::cout<<" DT data: tbin="<<stub->BX()<<" (CSC) sector="<<stub->sector()<<" (CSC) subsector="<<stub->subsector()<<" station="<<stub->station()<<" endcap="<<stub->endcap()
112  <<" phi="<<stub->phiPacked()<<" phiBend="<<stub->getBend()<<" quality="<<stub->getQuality()<<" id="<<stub->getMPCLink()<<" mb_bxn="<<stub->cscid()<<std::cout;
113  }
114 
115  } else edm::LogInfo("CSCTFAnalyzer")<<" No valid CSCTriggerContainer<csctf::TrackStub> products found";
116  }
117 
118  nDataMuons = 0; nEmulMuons = 0;
119  dphi1=-1; deta1=-1; dpt1=-1; dch1=-1, dbx1=-10;
120  dphi2=-1; deta2=-1; dpt2=-1; dch2=-1, dbx2=-10;
121  dphi3=-1; deta3=-1; dpt3=-1; dch3=-1, dbx3=-10;
122  drank1=-1;drank2=-1;drank3=-1;
123  dmode1=-1;dmode2=-1;dmode3=-1;
124  dlcts1= 0;dlcts2= 0;dlcts3= 0;
125  ephi1=-1; eeta1=-1; ept1=-1; ech1=-1, ebx1=-10;
126  ephi2=-1; eeta2=-1; ept2=-1; ech2=-1, ebx2=-10;
127  ephi3=-1; eeta3=-1; ept3=-1; ech3=-1, ebx3=-10;
128  erank1=-1;erank2=-1;erank3=-1;
129  emode1=-1;emode2=-1;emode3=-1;
130 
131  if( dataTrackProducer.label() != "null" ){
134  // Muon sorter emulation:
135  std::vector<csc::L1Track> result;
136  CSCTriggerContainer<csc::L1Track> stripped_tracks;
137  for(L1CSCTrackCollection::const_iterator tmp_trk=tracks->begin(); tmp_trk!=tracks->end(); tmp_trk++){
138  csc::L1Track qqq(tmp_trk->first);
139  qqq.setOutputLink(0);
140  CSCCorrelatedLCTDigiCollection qwe = tmp_trk->second;
141  for(CSCCorrelatedLCTDigiCollection::DigiRangeIterator csc=qwe.begin(); csc!=qwe.end(); csc++){
142  CSCCorrelatedLCTDigiCollection::Range range1 = qwe.get((*csc).first);
143  for(CSCCorrelatedLCTDigiCollection::const_iterator lct=range1.first; lct!=range1.second; lct++)
144  qqq.setOutputLink( qqq.outputLink()|(1<<(*csc).first.station()) );
145  }
146  stripped_tracks.push_back(qqq);
147  }
148  // First we sort and crop the incoming tracks based on their rank.
149  for(int bx = -3; bx <= 3; ++bx){ // switch back into signed BX
150  std::vector<csc::L1Track> tks = stripped_tracks.get(bx);
151  std::sort(tks.begin(),tks.end(),std::greater<csc::L1Track>());
152  if(tks.size() > 4) tks.resize(4); // resize to max number of muons the MS can output
153  for(std::vector<csc::L1Track>::iterator itr=tks.begin(); itr!=tks.end(); itr++){
154  unsigned gbl_phi = itr->localPhi() + ((itr->sector() - 1)*24) + 6; // for now, convert using this.. LUT in the future
155  if(gbl_phi > 143) gbl_phi -= 143;
156  itr->setPhiPacked(gbl_phi & 0xff);
157  unsigned eta_sign = (itr->endcap() == 1 ? 0 : 1);
158  int gbl_eta = itr->eta_packed() | eta_sign << (L1MuRegionalCand::ETA_LENGTH - 1);
159  itr->setEtaPacked(gbl_eta & 0x3f);
160  itr->setQualityPacked((itr->rank()>>4) & 0x3);
161  itr->setPtPacked(itr->rank() & 0x1f);
162  if(!itr->empty()) result.push_back(*itr);
163  }
164  }
165 // for(std::vector<csc::L1Track>::const_iterator trk=result.begin(); trk!=result.end(); trk++){
166  for(L1CSCTrackCollection::const_iterator _trk=tracks->begin(); _trk!=tracks->end(); _trk++){ const csc::L1Track *trk = &(_trk->first);
167  switch(nDataMuons){
168  case 0:
169  dphi1 = ts->getPhiScale()->getLowEdge( trk->phi_packed() );
171  dpt1 = trk->pt_packed();
172  dch1 = trk->charge_packed();
173  dbx1 = trk->BX();
174  dmode1= trk->mode();
175  drank1= trk->rank();
176  dlcts1= trk->outputLink();
177  break;
178  case 1:
179  dphi2 = ts->getPhiScale()->getLowEdge( trk->phi_packed() );
181  dpt2 = trk->pt_packed();
182  dch2 = trk->charge_packed();
183  dbx2 = trk->BX();
184  dmode2= trk->mode();
185  drank2= trk->rank();
186  dlcts2= trk->outputLink();
187  break;
188  case 2:
189  dphi3 = ts->getPhiScale()->getLowEdge( trk->phi_packed() );
191  dpt3 = trk->pt_packed();
192  dch3 = trk->charge_packed();
193  dbx3 = trk->BX();
194  dmode3= trk->mode();
195  drank3= trk->rank();
196  dlcts3= trk->outputLink();
197  break;
198  default: break;
199  }
200  if( (verbose&2)==2 )
201  std::cout<<"Data: TRK in endcap="<<trk->endcap()<<" sector="<<trk->sector()<<" bx="<<trk->BX()
202  <<" (rank="<<trk->rank()
203  <<" localPhi="<<trk->localPhi()
204  <<" etaPacked="<<trk->eta_packed()
205  <<" me1D="<<trk->me1ID()
206  <<" me2D="<<trk->me2ID()
207  <<" me3D="<<trk->me3ID()
208  <<" me4D="<<trk->me4ID()
209  <<" mb1D="<<trk->mb1ID()
210  <<" pTaddr="<<std::hex<<trk->ptLUTAddress()<<std::dec
211  <<")"<<std::endl;
212  nDataMuons++;
213  }
214  }
215 
216  if( emulTrackProducer.label() != "null" ){
219  for(L1CSCTrackCollection::const_iterator trk=tracks.product()->begin(); trk!=tracks.product()->end(); trk++){
220  switch(nEmulMuons){
221  case 0:
222  ephi1 = trk->first.localPhi();
223  eeta1 = trk->first.eta_packed();
224  ept1 = trk->first.pt_packed();
225  ech1 = trk->first.charge_packed();
226  ebx1 = trk->first.BX();
227  break;
228  case 1:
229  ephi2 = trk->first.localPhi();
230  eeta2 = trk->first.eta_packed();
231  ept2 = trk->first.pt_packed();
232  ech2 = trk->first.charge_packed();
233  ebx2 = trk->first.BX();
234  break;
235  case 2:
236  ephi3 = trk->first.localPhi();
237  eeta3 = trk->first.eta_packed();
238  ept3 = trk->first.pt_packed();
239  ech3 = trk->first.charge_packed();
240  ebx3 = trk->first.BX();
241  break;
242  default: break;
243  }
244  if( (verbose&2)==2 )
245  std::cout<<"Emulator: TRK in endcap="<<trk->first.endcap()<<" sector="<<trk->first.sector()<<" bx="<<trk->first.BX()
246  <<" (rank="<<trk->first.rank()
247  <<" localPhi="<<trk->first.localPhi()
248  <<" etaPacked="<<trk->first.eta_packed()
249  <<" me1D="<<trk->first.me1ID()
250  <<" me2D="<<trk->first.me2ID()
251  <<" me3D="<<trk->first.me3ID()
252  <<" me4D="<<trk->first.me4ID()
253  <<" mb1D="<<trk->first.mb1ID()
254  <<" pTaddr="<<std::hex<<trk->first.ptLUTAddress()<<std::dec
255  <<")"<<std::endl;
256  nEmulMuons++;
257  }
258  }
259 
260  tree->Fill();
261 }
unsigned mode(void) const
Definition: L1Track.h:88
std::vector< T > get() const
unsigned me1ID() const
Definition: L1Track.h:38
unsigned me2ID() const
Definition: L1Track.h:39
virtual float getLowEdge(unsigned packed) const =0
get the low edge of bin represented by packed
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:42
tuple result
Definition: query.py:137
const L1MuScale * getPhiScale() const
get the phi scale
unsigned ptLUTAddress() const
Definition: L1Track.h:56
unsigned eta_packed() const
return eta packed as in hardware
unsigned sector() const
Definition: L1Track.h:45
bool isValid() const
Definition: HandleBase.h:76
unsigned rank() const
Definition: L1Track.cc:118
unsigned localPhi() const
Definition: L1Track.h:35
unsigned outputLink() const
Definition: L1Track.h:61
T const * product() const
Definition: Handle.h:81
tuple tracks
Definition: testEve_cfg.py:39
T const * product() const
Definition: ESHandle.h:86
std::vector< CSCCorrelatedLCTDigi >::const_iterator const_iterator
std::string const & label() const
Definition: InputTag.h:42
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:34
unsigned endcap() const
Definition: L1Track.h:44
edm::InputTag emulTrackProducer
Definition: CSCTFanalyzer.h:18
unsigned me4ID() const
Definition: L1Track.h:41
tuple cout
Definition: gather_cfg.py:121
std::pair< const_iterator, const_iterator > Range
unsigned pt_packed() const
return pt packed as in hardware
std::string const & instance() const
Definition: InputTag.h:43
edm::InputTag dataTrackProducer
Definition: CSCTFanalyzer.h:18
int BX() const
Definition: L1Track.h:51
unsigned me3ID() const
Definition: L1Track.h:40
unsigned phi_packed() const
return phi packed as in hardware
virtual void CSCTFanalyzer::beginJob ( void  )
inlinevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 39 of file CSCTFanalyzer.h.

39 {}
void CSCTFanalyzer::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 69 of file CSCTFanalyzer.cc.

References file, and tree.

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

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 22 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dbx2
private

Definition at line 23 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dbx3
private

Definition at line 24 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dch1
private

Definition at line 22 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dch2
private

Definition at line 23 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dch3
private

Definition at line 24 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 23 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::deta3
private

Definition at line 24 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dlcts1
private

Definition at line 27 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dlcts2
private

Definition at line 27 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dlcts3
private

Definition at line 27 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dmode1
private

Definition at line 26 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dmode2
private

Definition at line 26 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dmode3
private

Definition at line 26 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 23 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::dphi3
private

Definition at line 24 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dpt1
private

Definition at line 22 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dpt2
private

Definition at line 23 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::dpt3
private

Definition at line 24 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::drank1
private

Definition at line 25 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::drank2
private

Definition at line 25 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::drank3
private

Definition at line 25 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ebx1
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ebx2
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ebx3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ech1
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ech2
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ech3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::eeta1
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::eeta2
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::eeta3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::emode1
private

Definition at line 32 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::emode2
private

Definition at line 32 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::emode3
private

Definition at line 32 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 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::ephi2
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

double CSCTFanalyzer::ephi3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ept1
private

Definition at line 28 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ept2
private

Definition at line 29 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::ept3
private

Definition at line 30 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::erank1
private

Definition at line 31 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::erank2
private

Definition at line 31 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::erank3
private

Definition at line 31 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 34 of file CSCTFanalyzer.h.

Referenced by analyze(), and CSCTFanalyzer().

int CSCTFanalyzer::verbose
private