CMS 3D CMS Logo

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

#include <DTTrig.h>

Public Types

typedef std::map< DTChamberId, DTDigiCollection, std::less< DTChamberId > > DTDigiMap
 
typedef DTDigiMap::const_iterator DTDigiMap_const_iterator
 
typedef DTDigiMap::iterator DTDigiMap_iterator
 
typedef std::pair< TU_iterator, TU_iteratorRange
 
typedef SCcontainer::const_iterator SC_const_iterator
 
typedef SCcontainer::iterator SC_iterator
 
typedef std::map< DTSectCollId, DTSectColl *, std::less< DTSectCollId > > SCcontainer
 
typedef std::pair< SC_iterator, SC_iteratorSCRange
 
typedef TUcontainer::const_iterator TU_const_iterator
 
typedef TUcontainer::iterator TU_iterator
 
typedef std::map< DTChamberId, DTSCTrigUnit *, std::less< DTChamberId > > TUcontainer
 

Public Member Functions

TU_iterator begin ()
 Begin of the trigger units store. More...
 
SC_iterator begin1 ()
 Begin of the sector collector store. More...
 
std::vector< DTBtiTrigDataBtiTrigs ()
 Return a copy of all the BTI triggers. More...
 
Range cache ()
 Begin of the trigger units store. More...
 
SCRange cache1 ()
 Range of the sector collector store. More...
 
DTChambPhSegmchPhiSegm1 (DTChamberId sid, int step)
 Return the first phi track segment in req. chamber/step. More...
 
DTChambPhSegmchPhiSegm1 (DTSCTrigUnit *unit, int step)
 Return the first phi track segment in req. chamber/step. More...
 
DTChambPhSegmchPhiSegm1 (int wheel, int stat, int sect, int step)
 Return the first phi track segment in req. chamber/step, MTTF numbering. More...
 
DTChambPhSegmchPhiSegm2 (DTChamberId sid, int step)
 Return the second phi track segment in req. chamber/step. More...
 
DTChambPhSegmchPhiSegm2 (DTSCTrigUnit *unit, int step)
 Return the second phi track segment in req. chamber/step. More...
 
DTChambPhSegmchPhiSegm2 (int wheel, int stat, int sect, int step)
 Return the second phi track segment in req. chamber/step, MTTF numbering. More...
 
DTSectCollPhSegmchSectCollPhSegm1 (DTSectColl *unit, int step)
 Return the first phi track segment in req. chamber/step [SC step]. More...
 
DTSectCollPhSegmchSectCollPhSegm1 (int wheel, int sect, int step)
 Return the first phi track segment in req. chamber/step, [MTTF numbering & SC step]. More...
 
DTSectCollPhSegmchSectCollPhSegm2 (DTSectColl *unit, int step)
 Return the second phi track segment in req. chamber/step [SC step]. More...
 
DTSectCollPhSegmchSectCollPhSegm2 (int wheel, int sect, int step)
 Return the second phi track segment in req. chamber/step, [MTTF numbering & SC step]. More...
 
DTSectCollThSegmchSectCollThSegm (DTSectColl *unit, int step)
 Return the theta track segment in req. chamber/step [SC step]. More...
 
DTSectCollThSegmchSectCollThSegm (int wheel, int sect, int step)
 Return the theta track segment in req. chamber/step, [MTTF numbering & SC step]. More...
 
DTChambThSegmchThetaSegm (DTChamberId sid, int step)
 Return the theta candidates in req. chamber/step. More...
 
DTChambThSegmchThetaSegm (DTSCTrigUnit *unit, int step)
 Return the theta candidates in req. chamber/step. More...
 
DTChambThSegmchThetaSegm (int wheel, int stat, int sect, int step)
 Return the theta candidates in req. chamber/step, MTTF numbering. More...
 
void clear ()
 Clear the trigger units cache. More...
 
GlobalVector CMSDirection (const DTTrigData *trig) const
 Direction of a trigger-data object in CMS frame. More...
 
GlobalPoint CMSPosition (const DTTrigData *trig) const
 Coordinate of a trigger-data object in CMS frame. More...
 
void createTUs (const edm::EventSetup &iSetup)
 Create the trigger units and store them in the cache. More...
 
 DTTrig (const edm::ParameterSet &params, edm::ConsumesCollector &&ix)
 Constructors. More...
 
void dumpGeom ()
 Dump the geometry. More...
 
void dumpLuts (short int lut_btic, const DTConfigManager *conf)
 Dump the LUT files. More...
 
TU_iterator end ()
 End of the trigger units store. More...
 
SC_iterator end1 ()
 End of the sectoor collector store. More...
 
TU_iterator find (DTChamberId id)
 Find a trigger unit in the map. More...
 
SC_iterator find1 (DTSectCollId id)
 Find a Sector Collector in the map. More...
 
int getBXOffset ()
 Get BX Offset. More...
 
LocalVector localDirection (const DTTrigData *trig) const
 Direction of a trigger-data object in chamber frame. More...
 
LocalPoint localPosition (const DTTrigData *trig) const
 Coordinate of a trigger-data object in chamber frame. More...
 
void print (DTTrigData *trig) const
 Print a trigger-data object. More...
 
std::vector< DTSectCollPhSegmSCPhTrigs ()
 Return a copy of all the Sector Collector (Phi) triggers. More...
 
std::vector< DTSectCollThSegmSCThTrigs ()
 Return a copy of all the Sector Collector (Theta) triggers. More...
 
int size ()
 Size of the trigger units store. More...
 
int size1 ()
 Size of the sector collector store. More...
 
std::vector< DTTracoTrigDataTracoTrigs ()
 Return a copy of all the TRACO triggers. More...
 
void triggerReco (const edm::Event &iEvent, const edm::EventSetup &iSetup)
 Run the whole trigger reconstruction chain. More...
 
DTSCTrigUnittrigUnit (DTChamberId sid)
 Return a trigger unit - Muon numbering. More...
 
DTSCTrigUnittrigUnit (int wheel, int stat, int sect)
 Return a trigger unit - Muon numbering, MTTF numbering. More...
 
std::vector< DTChambPhSegmTSPhTrigs ()
 Return a copy of all the Trigger Server (Phi) triggers. More...
 
std::vector< DTChambThSegmTSThTrigs ()
 Return a copy of all the Trigger Server (Theta) triggers. More...
 
void updateES (const edm::EventSetup &iSetup)
 update the eventsetup info More...
 
 ~DTTrig ()
 Destructor. More...
 

Private Member Functions

DTSCTrigUnitconstTrigUnit (DTChamberId sid) const
 Return a trigger unit - Muon numbering - const version. More...
 
DTSCTrigUnitconstTrigUnit (int wheel, int stat, int sect) const
 Return a trigger unit - Muon numbering, MTTF numbering - const version. More...
 
DTSectCollSCUnit (DTSectCollId scid) const
 Return a SC unit - Muon numbering - const version. More...
 
DTSectCollSCUnit (int wheel, int sect) const
 Return a SC Unit Muon Numbering, MTTF numbering - const version. More...
 

Private Attributes

TUcontainer _cache
 
SCcontainer _cache1
 
const DTConfigManager_conf_manager
 
unsigned long long _configid
 
bool _debug
 
edm::InputTag _digitag
 
unsigned long long _geomid
 
bool _inputexist
 

Detailed Description

Steering routine for L1 trigger simulation in a muon barrel station

Author
C.Grandi

Definition at line 53 of file DTTrig.h.

Member Typedef Documentation

Definition at line 65 of file DTTrig.h.

typedef DTDigiMap::const_iterator DTTrig::DTDigiMap_const_iterator

Definition at line 67 of file DTTrig.h.

typedef DTDigiMap::iterator DTTrig::DTDigiMap_iterator

Definition at line 66 of file DTTrig.h.

Definition at line 63 of file DTTrig.h.

typedef SCcontainer::const_iterator DTTrig::SC_const_iterator

Definition at line 62 of file DTTrig.h.

typedef SCcontainer::iterator DTTrig::SC_iterator

Definition at line 61 of file DTTrig.h.

typedef std::map< DTSectCollId,DTSectColl*,std::less<DTSectCollId> > DTTrig::SCcontainer

Definition at line 60 of file DTTrig.h.

Definition at line 64 of file DTTrig.h.

typedef TUcontainer::const_iterator DTTrig::TU_const_iterator

Definition at line 59 of file DTTrig.h.

typedef TUcontainer::iterator DTTrig::TU_iterator

Definition at line 58 of file DTTrig.h.

typedef std::map< DTChamberId,DTSCTrigUnit*,std::less<DTChamberId> > DTTrig::TUcontainer

Definition at line 57 of file DTTrig.h.

Constructor & Destructor Documentation

DTTrig::DTTrig ( const edm::ParameterSet params,
edm::ConsumesCollector &&  ix 
)

Constructors.

Definition at line 50 of file DTTrig.cc.

References _debug, _digitag, gather_cfg::cout, edm::ParameterSet::getParameter(), and edm::ParameterSet::getUntrackedParameter().

50  :
51  _inputexist(true) , _configid(0) , _geomid(0) {
52 
53  // Set configuration parameters
54  _debug = params.getUntrackedParameter<bool>("debug");
55 
56  if(_debug){
57  std::cout << std::endl;
58  std::cout << "**** Initialization of DTTrigger ****" << std::endl;
59  }
60 
61  _digitag = params.getParameter<edm::InputTag>("digiTag");
62  iC.consumes<DTDigiCollection>(_digitag);
63 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
bool _debug
Definition: DTTrig.h:251
unsigned long long _geomid
Definition: DTTrig.h:255
edm::InputTag _digitag
Definition: DTTrig.h:250
bool _inputexist
Definition: DTTrig.h:252
unsigned long long _configid
Definition: DTTrig.h:254
DTTrig::~DTTrig ( )

Destructor.

Definition at line 69 of file DTTrig.cc.

References clear().

69  {
70 
71  clear();
72 
73 }
void clear()
Clear the trigger units cache.
Definition: DTTrig.cc:274

Member Function Documentation

TU_iterator DTTrig::begin ( void  )
inline

Begin of the trigger units store.

Definition at line 93 of file DTTrig.h.

References _cache.

93 { /*check();*/ return _cache.begin(); }
TUcontainer _cache
Definition: DTTrig.h:247
SC_iterator DTTrig::begin1 ( )
inline

Begin of the sector collector store.

Definition at line 110 of file DTTrig.h.

References _cache1.

110 { /*check();*/ return _cache1.begin(); }
SCcontainer _cache1
Definition: DTTrig.h:248
std::vector< DTBtiTrigData > DTTrig::BtiTrigs ( )

Return a copy of all the BTI triggers.

Definition at line 489 of file DTTrig.cc.

References _cache, DTCache< T, Coll >::begin(), DTSCTrigUnit::BtiTrigs(), DTCache< T, Coll >::end(), and AlCaHLTBitMon_ParallelJobs::p.

Referenced by DTTrigTest::analyze(), and getBXOffset().

489  {
490  /*check();*/
491  std::vector<DTBtiTrigData> trigs;
492  TU_iterator ptu;
493  for(ptu=_cache.begin();ptu!=_cache.end();ptu++) {
494  DTSCTrigUnit* tu = (*ptu).second;
495  std::vector<DTBtiTrigData>::const_iterator p; //p=0;
496  std::vector<DTBtiTrigData>::const_iterator peb=tu->BtiTrigs()->end();
497  for(p=tu->BtiTrigs()->begin();p!=peb;p++){
498  trigs.push_back(*p);
499  }
500  }
501  return trigs;
502 }
TUcontainer _cache
Definition: DTTrig.h:247
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:58
DTBtiCard * BtiTrigs() const
Return container of BTI triggers.
Definition: DTSCTrigUnit.h:88
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:40
const_iterator end() const
Get last cache element.
Definition: DTCache.h:43
Range DTTrig::cache ( )
inline

Begin of the trigger units store.

Definition at line 102 of file DTTrig.h.

References _cache.

102 { /*check();*/ return Range(_cache.begin(), _cache.end()); }
TUcontainer _cache
Definition: DTTrig.h:247
std::pair< TU_iterator, TU_iterator > Range
Definition: DTTrig.h:63
SCRange DTTrig::cache1 ( )
inline

Range of the sector collector store.

Definition at line 119 of file DTTrig.h.

References _cache1, chPhiSegm1(), chPhiSegm2(), chSectCollPhSegm1(), chSectCollPhSegm2(), chSectCollThSegm(), chThetaSegm(), dumpGeom(), dumpLuts(), trigUnit(), csvLumiCalc::unit, and makeMuonMisalignmentScenario::wheel.

119 { /*check();*/ return SCRange(_cache1.begin(), _cache1.end()); }
SCcontainer _cache1
Definition: DTTrig.h:248
std::pair< SC_iterator, SC_iterator > SCRange
Definition: DTTrig.h:64
DTChambPhSegm * DTTrig::chPhiSegm1 ( DTChamberId  sid,
int  step 
)

Return the first phi track segment in req. chamber/step.

Definition at line 370 of file DTTrig.cc.

References trigUnit().

Referenced by cache1(), and chPhiSegm1().

370  {
371  return chPhiSegm1(trigUnit(sid),step);
372 }
DTChambPhSegm * chPhiSegm1(DTChamberId sid, int step)
Return the first phi track segment in req. chamber/step.
Definition: DTTrig.cc:370
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:291
step
DTChambPhSegm * DTTrig::chPhiSegm1 ( DTSCTrigUnit unit,
int  step 
)

Return the first phi track segment in req. chamber/step.

Definition at line 349 of file DTTrig.cc.

References DTSCTrigUnit::nPhiSegm(), and DTSCTrigUnit::phiSegment().

349  {
350  if(unit==nullptr)return nullptr;
351  if(unit->nPhiSegm(step)<1)return nullptr;
352  return const_cast<DTChambPhSegm*>(unit->phiSegment(step,1));
353 }
step
const DTChambPhSegm * phiSegment(int step, int n)
Return output segments, phi view.
Definition: DTSCTrigUnit.h:144
int nPhiSegm(int step)
Number of Phi segments for a given step.
Definition: DTSCTrigUnit.h:140
DTChambPhSegm * DTTrig::chPhiSegm1 ( int  wheel,
int  stat,
int  sect,
int  step 
)

Return the first phi track segment in req. chamber/step, MTTF numbering.

Definition at line 386 of file DTTrig.cc.

References chPhiSegm1(), and trigUnit().

386  {
387  return chPhiSegm1(trigUnit(wheel,stat,sect),step);
388  // to make it transparent to the outside world
389  // return chSectCollSegm1(wheel,stat,sect,step);
390 
391 }
DTChambPhSegm * chPhiSegm1(DTChamberId sid, int step)
Return the first phi track segment in req. chamber/step.
Definition: DTTrig.cc:370
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:291
step
DTChambPhSegm * DTTrig::chPhiSegm2 ( DTChamberId  sid,
int  step 
)

Return the second phi track segment in req. chamber/step.

Definition at line 375 of file DTTrig.cc.

References trigUnit().

Referenced by cache1(), and chPhiSegm2().

375  {
376  return chPhiSegm2(trigUnit(sid),step);
377 }
DTChambPhSegm * chPhiSegm2(DTChamberId sid, int step)
Return the second phi track segment in req. chamber/step.
Definition: DTTrig.cc:375
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:291
step
DTChambPhSegm * DTTrig::chPhiSegm2 ( DTSCTrigUnit unit,
int  step 
)

Return the second phi track segment in req. chamber/step.

Definition at line 356 of file DTTrig.cc.

References DTSCTrigUnit::nPhiSegm(), and DTSCTrigUnit::phiSegment().

356  {
357  if(unit==nullptr)return nullptr;
358  if(unit->nPhiSegm(step)<2)return nullptr;
359  return const_cast<DTChambPhSegm*>(unit->phiSegment(step,2));
360 }
step
const DTChambPhSegm * phiSegment(int step, int n)
Return output segments, phi view.
Definition: DTSCTrigUnit.h:144
int nPhiSegm(int step)
Number of Phi segments for a given step.
Definition: DTSCTrigUnit.h:140
DTChambPhSegm * DTTrig::chPhiSegm2 ( int  wheel,
int  stat,
int  sect,
int  step 
)

Return the second phi track segment in req. chamber/step, MTTF numbering.

Definition at line 394 of file DTTrig.cc.

References chPhiSegm2(), and trigUnit().

394  {
395  // if(stat==4&&(sect==3||sect==9)) {
396  // if hrizontal chambers of MB4 get first track of twin chamber (flag=1)
397  // return chPhiSegm1(trigUnit(wheel,stat,sect,1),step);
398  // } else {
399  return chPhiSegm2(trigUnit(wheel,stat,sect),step);
400  // to make it transparent to the outside world
401  // return chSectCollSegm2(wheel,stat,sect,step);
402  //}
403 }
DTChambPhSegm * chPhiSegm2(DTChamberId sid, int step)
Return the second phi track segment in req. chamber/step.
Definition: DTTrig.cc:375
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:291
step
DTSectCollPhSegm * DTTrig::chSectCollPhSegm1 ( DTSectColl unit,
int  step 
)

Return the first phi track segment in req. chamber/step [SC step].

Definition at line 413 of file DTTrig.cc.

References DTSectColl::nSegmPh(), and DTSectColl::SectCollPhSegment().

Referenced by cache1(), and chSectCollPhSegm1().

413  {
414 
415  if(unit==nullptr)return nullptr;
416  if(unit->nSegmPh(step)<1)return nullptr;
417  return const_cast<DTSectCollPhSegm*>(unit->SectCollPhSegment(step,1));
418 }
int nSegmPh(int step)
Return number of DTSectCollPhi segments (SC step)
Definition: DTSectColl.cc:483
const DTSectCollPhSegm * SectCollPhSegment(int step, unsigned n)
Return requested Sector Collector Phi Segment 1st/2nd.
Definition: DTSectColl.cc:512
step
DTSectCollPhSegm * DTTrig::chSectCollPhSegm1 ( int  wheel,
int  sect,
int  step 
)

Return the first phi track segment in req. chamber/step, [MTTF numbering & SC step].

Definition at line 429 of file DTTrig.cc.

References chSectCollPhSegm1(), and SCUnit().

429  {
430 
431  return chSectCollPhSegm1(SCUnit(wheel,sect),step);
432 }
DTSectColl * SCUnit(DTSectCollId scid) const
Return a SC unit - Muon numbering - const version.
Definition: DTTrig.cc:315
DTSectCollPhSegm * chSectCollPhSegm1(DTSectColl *unit, int step)
Return the first phi track segment in req. chamber/step [SC step].
Definition: DTTrig.cc:413
step
DTSectCollPhSegm * DTTrig::chSectCollPhSegm2 ( DTSectColl unit,
int  step 
)

Return the second phi track segment in req. chamber/step [SC step].

Definition at line 421 of file DTTrig.cc.

References DTSectColl::nSegmPh(), and DTSectColl::SectCollPhSegment().

Referenced by cache1(), and chSectCollPhSegm2().

421  {
422  if(unit==nullptr)return nullptr;
423  if(unit->nSegmPh(step)<2)return nullptr;
424  return const_cast<DTSectCollPhSegm*>(unit->SectCollPhSegment(step,2));
425 }
int nSegmPh(int step)
Return number of DTSectCollPhi segments (SC step)
Definition: DTSectColl.cc:483
const DTSectCollPhSegm * SectCollPhSegment(int step, unsigned n)
Return requested Sector Collector Phi Segment 1st/2nd.
Definition: DTSectColl.cc:512
step
DTSectCollPhSegm * DTTrig::chSectCollPhSegm2 ( int  wheel,
int  sect,
int  step 
)

Return the second phi track segment in req. chamber/step, [MTTF numbering & SC step].

Definition at line 435 of file DTTrig.cc.

References chSectCollPhSegm2(), and SCUnit().

435  {
436  // if(stat==4&&(sect==3||sect==9)) {
437  // if hrizontal chambers of MB4 get first track of twin chamber (flag=1)
438  //return chSectCollSegm1(trigUnit(wheel,stat,sect,1),step);
439  //} else {
440  return chSectCollPhSegm2(SCUnit(wheel,sect),step);
441  //}
442 }
DTSectColl * SCUnit(DTSectCollId scid) const
Return a SC unit - Muon numbering - const version.
Definition: DTTrig.cc:315
DTSectCollPhSegm * chSectCollPhSegm2(DTSectColl *unit, int step)
Return the second phi track segment in req. chamber/step [SC step].
Definition: DTTrig.cc:421
step
DTSectCollThSegm * DTTrig::chSectCollThSegm ( DTSectColl unit,
int  step 
)

Return the theta track segment in req. chamber/step [SC step].

Definition at line 445 of file DTTrig.cc.

References DTSectColl::nSegmTh(), and DTSectColl::SectCollThSegment().

Referenced by cache1(), and chSectCollThSegm().

445  {
446 
447  if(unit==nullptr)return nullptr;
448  if(unit->nSegmTh(step)<1)return nullptr;
449  return const_cast<DTSectCollThSegm*>(unit->SectCollThSegment(step));
450 }
int nSegmTh(int step)
Return number of DTSectCollTheta segments (SC step)
Definition: DTSectColl.cc:497
const DTSectCollThSegm * SectCollThSegment(int step)
Return requested Sector Collector Theta Segment.
Definition: DTSectColl.cc:526
step
DTSectCollThSegm * DTTrig::chSectCollThSegm ( int  wheel,
int  sect,
int  step 
)

Return the theta track segment in req. chamber/step, [MTTF numbering & SC step].

Definition at line 453 of file DTTrig.cc.

References chSectCollThSegm(), and SCUnit().

453  {
454 
455  return chSectCollThSegm(SCUnit(wheel,sect),step);
456 }
DTSectColl * SCUnit(DTSectCollId scid) const
Return a SC unit - Muon numbering - const version.
Definition: DTTrig.cc:315
DTSectCollThSegm * chSectCollThSegm(DTSectColl *unit, int step)
Return the theta track segment in req. chamber/step [SC step].
Definition: DTTrig.cc:445
step
DTChambThSegm * DTTrig::chThetaSegm ( DTChamberId  sid,
int  step 
)

Return the theta candidates in req. chamber/step.

Definition at line 380 of file DTTrig.cc.

References DTChamberId::station(), and trigUnit().

Referenced by cache1(), and chThetaSegm().

380  {
381  if(sid.station()==4)return nullptr;
382  return chThetaSegm(trigUnit(sid),step);
383 }
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:291
DTChambThSegm * chThetaSegm(DTChamberId sid, int step)
Return the theta candidates in req. chamber/step.
Definition: DTTrig.cc:380
step
int station() const
Return the station number.
Definition: DTChamberId.h:51
DTChambThSegm * DTTrig::chThetaSegm ( DTSCTrigUnit unit,
int  step 
)

Return the theta candidates in req. chamber/step.

Definition at line 363 of file DTTrig.cc.

References DTSCTrigUnit::nThetaSegm(), and DTSCTrigUnit::thetaSegment().

363  {
364  if(unit==nullptr)return nullptr;
365  if(unit->nThetaSegm(step)<1)return nullptr;
366  return const_cast<DTChambThSegm*>(unit->thetaSegment(step,1));
367 }
const DTChambThSegm * thetaSegment(int step, int n)
Return output segments, theta view.
Definition: DTSCTrigUnit.h:152
step
int nThetaSegm(int step)
Number of theta segments for a given step.
Definition: DTSCTrigUnit.h:149
DTChambThSegm * DTTrig::chThetaSegm ( int  wheel,
int  stat,
int  sect,
int  step 
)

Return the theta candidates in req. chamber/step, MTTF numbering.

Definition at line 406 of file DTTrig.cc.

References chThetaSegm(), and trigUnit().

406  {
407  if(stat==4)return nullptr;
408  return chThetaSegm(trigUnit(wheel,stat,sect),step);
409 }
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:291
DTChambThSegm * chThetaSegm(DTChamberId sid, int step)
Return the theta candidates in req. chamber/step.
Definition: DTTrig.cc:380
step
void DTTrig::clear ( void  )

Clear the trigger units cache.

Definition at line 274 of file DTTrig.cc.

References _cache, and _cache1.

Referenced by ~DTTrig().

274  {
275  // Delete the map
276  for (TU_iterator it=_cache.begin();it!=_cache.end();it++){
277  // Delete all the trigger units
278  delete (*it).second;
279  }
280  _cache.clear();
281 
282  for (SC_iterator it=_cache1.begin();it!=_cache1.end();it++){
283  // Delete all the Sector Collectors
284  delete (*it).second;
285  }
286  _cache1.clear();
287 
288 }
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:61
SCcontainer _cache1
Definition: DTTrig.h:248
TUcontainer _cache
Definition: DTTrig.h:247
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:58
GlobalVector DTTrig::CMSDirection ( const DTTrigData trig) const
inline

Direction of a trigger-data object in CMS frame.

Definition at line 221 of file DTTrig.h.

References DTTrigData::ChamberId(), and constTrigUnit().

Referenced by DTTrigTest::analyze().

221  {
222  return constTrigUnit(trig->ChamberId())->CMSDirection(trig);
223  }
DTSCTrigUnit * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:299
GlobalVector CMSDirection(const DTTrigData *trig) const
Direction of a trigger-data object in CMS frame.
Definition: DTTrig.h:221
virtual DTChamberId ChamberId() const =0
Identifier of the associated chamber.
GlobalPoint DTTrig::CMSPosition ( const DTTrigData trig) const
inline

Coordinate of a trigger-data object in CMS frame.

Definition at line 211 of file DTTrig.h.

References DTTrigData::ChamberId(), and constTrigUnit().

Referenced by DTTrigTest::analyze().

211  {
212  return constTrigUnit(trig->ChamberId())->CMSPosition(trig);
213  }
DTSCTrigUnit * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:299
GlobalPoint CMSPosition(const DTTrigData *trig) const
Coordinate of a trigger-data object in CMS frame.
Definition: DTTrig.h:211
virtual DTChamberId ChamberId() const =0
Identifier of the associated chamber.
DTSCTrigUnit * DTTrig::constTrigUnit ( DTChamberId  sid) const
private

Return a trigger unit - Muon numbering - const version.

Definition at line 299 of file DTTrig.cc.

References _cache, gather_cfg::cout, DTChamberId::sector(), DTChamberId::station(), and DTChamberId::wheel().

Referenced by CMSDirection(), CMSPosition(), constTrigUnit(), localDirection(), localPosition(), print(), and trigUnit().

299  {
300 // std::cout << " SC: running DTTrig::constTrigUnit(DTChamberId chid)" << std::endl;
301  TU_const_iterator it = _cache.find(chid);
302  if ( it == _cache.end()) {
303  std::cout << "DTTrig::trigUnit: Trigger Unit not in the map: ";
304  std::cout << " wheel=" << chid.wheel() ;
305  std::cout << ", station=" << chid.station();
306  std::cout << ", sector=" << chid.sector();
307  std::cout << std::endl;
308  return nullptr;
309  }
310 
311  return (*it).second;
312 }
TUcontainer _cache
Definition: DTTrig.h:247
TUcontainer::const_iterator TU_const_iterator
Definition: DTTrig.h:59
DTSCTrigUnit * DTTrig::constTrigUnit ( int  wheel,
int  stat,
int  sect 
) const
private

Return a trigger unit - Muon numbering, MTTF numbering - const version.

Definition at line 341 of file DTTrig.cc.

References constTrigUnit().

341  {
342  sect++; // offset 1 for sector number ([0,11] --> [1,12])
343  return constTrigUnit(DTChamberId(wheel,stat,sect));
344 
345 }
DTSCTrigUnit * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:299
void DTTrig::createTUs ( const edm::EventSetup iSetup)

Create the trigger units and store them in the cache.

Definition at line 76 of file DTTrig.cc.

References _cache, _cache1, _debug, DTSectColl::addTU(), DTGeometry::chambers(), gather_cfg::cout, edm::EventSetup::get(), DTChamber::id(), SimDataFormats::CaloAnalysis::sc, DTSectCollId::sector(), DTChamberId::sector(), DTSectCollId::wheel(), and DTChamberId::wheel().

Referenced by DTTrigProd::beginRun(), and DTTrigTest::beginRun().

76  {
77 
78  // build up Sector Collectors and then
79  // build the trrigger units (one for each chamber)
80  for(int iwh=-2;iwh<=2;iwh++){
81  for(int ise=1;ise<=12;ise++){
82  if(_debug){
83  std::cout << "calling sectcollid wh sc " << iwh << " " << ise << std::endl;}
84  DTSectCollId scid(iwh,ise);
85  SC_iterator it = _cache1.find(scid);
86  if ( it != _cache1.end()) {
87  if(_debug){
88  std::cout << "DTTrig::createTUs: Sector Collector unit already exists"<<std::endl;
89  }
90  continue;
91  }
92  DTSectColl* sc;
93  sc = new DTSectColl(scid);
94  if(_debug){
95  std::cout << " DTTrig::createTUs new SC sc = " << sc
96  << " at scid.sector() " << scid.sector()
97  << " at scid.wheel() " << scid.wheel()
98  << std::endl;
99  }
100  _cache1[scid] = sc;
101  }
102  }
103 
105  iSetup.get<MuonGeometryRecord>().get(dtGeom);
106  for (std::vector<const DTChamber*>::const_iterator ich=dtGeom->chambers().begin(); ich!=dtGeom->chambers().end();ich++){
107 
108  const DTChamber* chamb = (*ich);
109  DTChamberId chid = chamb->id();
110  TU_iterator it = _cache.find(chid);
111  if ( it != _cache.end()) {
112  if (_debug) std::cout << "DTTrig::init: Trigger unit already exists" << std::endl;
113  continue;
114  }
115 
116  DTSCTrigUnit* tru = new DTSCTrigUnit(chamb);
117  _cache[chid] = tru;
118 
119  //----------- add TU to corresponding SC
120  // returning correspondent SC id
121  DTSectCollId scid;
122  if(chid.sector()==13) {
123  scid = DTSectCollId(chid.wheel(), 4);}
124  else if(chid.sector()==14) {
125  scid = DTSectCollId(chid.wheel(), 10);}
126  else {
127  scid = DTSectCollId(chid.wheel(), chid.sector() );}
128 
129  SC_iterator it1 = _cache1.find(scid);
130 
131  if ( it1 != _cache1.end()) {
132 
133  DTSectColl* sc = (*it1).second;
134  if(_debug) {
135  std::cout << "DTTrig::init: adding TU in SC << "
136  << " sector = " << scid.sector()
137  << " wheel = " << scid.wheel()
138  << std::endl;
139  }
140  sc->addTU(tru);
141  }
142  else {
143  std::cout << "DTTrig::createTUs: Trigger Unit not in the map: ";
144  }
145 
146  }
147 
148 }
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:61
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
SCcontainer _cache1
Definition: DTTrig.h:248
bool _debug
Definition: DTTrig.h:251
TUcontainer _cache
Definition: DTTrig.h:247
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:58
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:33
int sector() const
Definition: DTSectCollId.h:41
void addTU(DTSCTrigUnit *tru)
Add a Trigger Unit to the Sector Collector.
Definition: DTSectColl.cc:128
const T & get() const
Definition: EventSetup.h:59
int wheel() const
Definition: DTSectCollId.h:40
int sector() const
Definition: DTChamberId.h:61
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:45
void DTTrig::dumpGeom ( )

Dump the geometry.

Definition at line 462 of file DTTrig.cc.

References _cache.

Referenced by cache1().

462  {
463  /*check();*/
464  for (TU_const_iterator it=_cache.begin();it!=_cache.end();it++){
465  ((*it).second)->dumpGeom();
466  }
467 }
TUcontainer _cache
Definition: DTTrig.h:247
void dumpGeom()
Dump the geometry.
Definition: DTTrig.cc:462
TUcontainer::const_iterator TU_const_iterator
Definition: DTTrig.h:59
void DTTrig::dumpLuts ( short int  lut_btic,
const DTConfigManager conf 
)

Dump the LUT files.

Definition at line 470 of file DTTrig.cc.

References _cache, DTSCTrigUnit::dumpLUT(), DTConfigManager::dumpLUTParam(), and DTSCTrigUnit::statId().

Referenced by DTTrigProd::beginRun(), and cache1().

470  {
471  for (TU_const_iterator it=_cache.begin();it!=_cache.end();it++){
472 
473  DTSCTrigUnit* thisTU = (*it).second;
474 
475  // dump lut command file from geometry
476  thisTU->dumpLUT(lut_btic);
477 
478  // dump lut command file from parameters (DB or CMSSW)
479  DTChamberId chid = thisTU->statId();
480  conf->dumpLUTParam(chid);
481 
482  }
483 
484  return;
485 
486 }
void dumpLUTParam(DTChamberId &chambid) const
Dump luts string commands from configuration parameters.
TUcontainer _cache
Definition: DTTrig.h:247
void dumpLUT(short int btic) const
Dump the Lut file.
Definition: DTSCTrigUnit.h:131
TUcontainer::const_iterator TU_const_iterator
Definition: DTTrig.h:59
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTSCTrigUnit.h:76
TU_iterator DTTrig::end ( void  )
inline

End of the trigger units store.

Definition at line 96 of file DTTrig.h.

References _cache.

96 { /*check();*/ return _cache.end(); }
TUcontainer _cache
Definition: DTTrig.h:247
SC_iterator DTTrig::end1 ( )
inline

End of the sectoor collector store.

Definition at line 113 of file DTTrig.h.

References _cache1.

113 { /*check();*/ return _cache1.end(); }
SCcontainer _cache1
Definition: DTTrig.h:248
TU_iterator DTTrig::find ( DTChamberId  id)
inline

Find a trigger unit in the map.

Definition at line 99 of file DTTrig.h.

References _cache.

99 { /*check();*/ return _cache.find(id); }
TUcontainer _cache
Definition: DTTrig.h:247
SC_iterator DTTrig::find1 ( DTSectCollId  id)
inline

Find a Sector Collector in the map.

Definition at line 116 of file DTTrig.h.

References _cache1.

116 { /*check();*/ return _cache1.find(id); }
SCcontainer _cache1
Definition: DTTrig.h:248
int DTTrig::getBXOffset ( )
inline

Get BX Offset.

Definition at line 183 of file DTTrig.h.

References _conf_manager, BtiTrigs(), DTConfigManager::getBXOffset(), SCPhTrigs(), SCThTrigs(), TracoTrigs(), TSPhTrigs(), and TSThTrigs().

Referenced by DTTrigProd::produce().

183 { return _conf_manager->getBXOffset(); }
int getBXOffset() const
Get BX Offset for a given vdrift config.
const DTConfigManager * _conf_manager
Definition: DTTrig.h:249
LocalVector DTTrig::localDirection ( const DTTrigData trig) const
inline

Direction of a trigger-data object in chamber frame.

Definition at line 216 of file DTTrig.h.

References DTTrigData::ChamberId(), and constTrigUnit().

216  {
217  return constTrigUnit(trig->ChamberId())->localDirection(trig);
218  }
DTSCTrigUnit * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:299
LocalVector localDirection(const DTTrigData *trig) const
Direction of a trigger-data object in chamber frame.
Definition: DTTrig.h:216
virtual DTChamberId ChamberId() const =0
Identifier of the associated chamber.
LocalPoint DTTrig::localPosition ( const DTTrigData trig) const
inline

Coordinate of a trigger-data object in chamber frame.

Definition at line 206 of file DTTrig.h.

References DTTrigData::ChamberId(), and constTrigUnit().

206  {
207  return constTrigUnit(trig->ChamberId())->localPosition(trig);
208  }
LocalPoint localPosition(const DTTrigData *trig) const
Coordinate of a trigger-data object in chamber frame.
Definition: DTTrig.h:206
DTSCTrigUnit * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:299
virtual DTChamberId ChamberId() const =0
Identifier of the associated chamber.
void DTTrig::print ( DTTrigData trig) const
inline

Print a trigger-data object.

Definition at line 226 of file DTTrig.h.

References DTTrigData::ChamberId(), constTrigUnit(), and SCUnit().

226  {
227  constTrigUnit(trig->ChamberId())->print(trig);
228  }
void print(DTTrigData *trig) const
Print a trigger-data object.
Definition: DTTrig.h:226
DTSCTrigUnit * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:299
virtual DTChamberId ChamberId() const =0
Identifier of the associated chamber.
std::vector< DTSectCollPhSegm > DTTrig::SCPhTrigs ( )

Return a copy of all the Sector Collector (Phi) triggers.

Definition at line 553 of file DTTrig.cc.

References _cache1, DTSectColl::beginPh(), DTSectColl::endPh(), AlCaHLTBitMon_ParallelJobs::p, and SimDataFormats::CaloAnalysis::sc.

Referenced by DTTrigTest::analyze(), getBXOffset(), and DTTrigProd::produce().

553  {
554  /*check();*/
555  std::vector<DTSectCollPhSegm> trigs;
556  // SC_iterator ptu;
557  SC_iterator psc;
558  for(psc=_cache1.begin();psc!=_cache1.end();psc++) {
559  // DTSCTrigUnit* tu = (*ptu).second;
560  //
561  // old SMDB:
562  // DTSectColl* tu = (*ptu).second;
563  // std::vector<DTChambPhSegm>::const_iterator p=0;
564  // std::vector<DTChambPhSegm>::const_iterator peb=tu->SCTrigs()->end();
565  // for(p=tu->SCTrigs()->begin();p!=peb;p++){
566  // trigs.push_back(*p);
567  // }
568 
569  DTSectColl* sc = (*psc).second;
570  std::vector<DTSectCollPhSegm>::const_iterator p;
571  std::vector<DTSectCollPhSegm>::const_iterator peb=sc->endPh();
572  for(p=sc->beginPh();p!=peb;p++){
573  trigs.push_back(*p);
574  }
575 
576  }
577  return trigs;
578 }
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:61
SCcontainer _cache1
Definition: DTTrig.h:248
std::vector< DTSectCollPhSegm >::const_iterator endPh()
Return iterator to the end of Phi cache.
Definition: DTSectColl.h:156
std::vector< DTSectCollPhSegm >::const_iterator beginPh()
Return iterator to the beghin of Phi cache.
Definition: DTSectColl.h:150
std::vector< DTSectCollThSegm > DTTrig::SCThTrigs ( )

Return a copy of all the Sector Collector (Theta) triggers.

Definition at line 582 of file DTTrig.cc.

References _cache1, DTSectColl::beginTh(), DTSectColl::endTh(), AlCaHLTBitMon_ParallelJobs::p, and SimDataFormats::CaloAnalysis::sc.

Referenced by DTTrigTest::analyze(), getBXOffset(), and DTTrigProd::produce().

582  {
583  /*check();*/
584  std::vector<DTSectCollThSegm> trigs;
585  SC_iterator psc;
586  for(psc=_cache1.begin();psc!=_cache1.end();psc++) {
587  DTSectColl* sc = (*psc).second;
588  std::vector<DTSectCollThSegm>::const_iterator p; //p=0;
589  std::vector<DTSectCollThSegm>::const_iterator peb=sc->endTh();
590  for(p=sc->beginTh();p!=peb;p++){
591  trigs.push_back(*p);
592  }
593 
594  }
595  return trigs;
596 }
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:61
SCcontainer _cache1
Definition: DTTrig.h:248
std::vector< DTSectCollThSegm >::const_iterator beginTh()
Return iterator to the begni of Theta cache.
Definition: DTSectColl.h:159
std::vector< DTSectCollThSegm >::const_iterator endTh()
Return iterator to the end of Theta cache.
Definition: DTSectColl.h:165
DTSectColl * DTTrig::SCUnit ( DTSectCollId  scid) const
private

Return a SC unit - Muon numbering - const version.

Definition at line 315 of file DTTrig.cc.

References _cache1, gather_cfg::cout, DTSectCollId::sector(), and DTSectCollId::wheel().

Referenced by chSectCollPhSegm1(), chSectCollPhSegm2(), chSectCollThSegm(), print(), and SCUnit().

315  {
316 SC_const_iterator it = _cache1.find(scid);
317  if ( it == _cache1.end()) {
318  std::cout << "DTTrig::SCUnit: Trigger Unit not in the map: ";
319  std::cout << " wheel=" << scid.wheel() ;
320  std::cout << ", sector=" << scid.sector();
321  std::cout << std::endl;
322  return nullptr;
323  }
324 
325  return (*it).second;
326 }
SCcontainer _cache1
Definition: DTTrig.h:248
int sector() const
Definition: DTSectCollId.h:41
int wheel() const
Definition: DTSectCollId.h:40
SCcontainer::const_iterator SC_const_iterator
Definition: DTTrig.h:62
DTSectColl * DTTrig::SCUnit ( int  wheel,
int  sect 
) const
private

Return a SC Unit Muon Numbering, MTTF numbering - const version.

Definition at line 334 of file DTTrig.cc.

References SCUnit().

334  {
335  sect++;
336  return SCUnit(DTSectCollId(wheel,sect));
337 }
DTSectColl * SCUnit(DTSectCollId scid) const
Return a SC unit - Muon numbering - const version.
Definition: DTTrig.cc:315
int DTTrig::size ( void  )
inline

Size of the trigger units store.

Definition at line 90 of file DTTrig.h.

References _cache.

Referenced by ntupleDataFormat._Collection::__iter__(), and ntupleDataFormat._Collection::__len__().

90 { return _cache.size(); }
TUcontainer _cache
Definition: DTTrig.h:247
int DTTrig::size1 ( )
inline

Size of the sector collector store.

Definition at line 107 of file DTTrig.h.

References _cache1.

107 { /*check();*/ return _cache1.size(); }
SCcontainer _cache1
Definition: DTTrig.h:248
std::vector< DTTracoTrigData > DTTrig::TracoTrigs ( )

Return a copy of all the TRACO triggers.

Definition at line 505 of file DTTrig.cc.

References _cache, DTCache< T, Coll >::begin(), DTCache< T, Coll >::end(), AlCaHLTBitMon_ParallelJobs::p, and DTSCTrigUnit::TracoTrigs().

Referenced by DTTrigTest::analyze(), and getBXOffset().

505  {
506  std::vector<DTTracoTrigData> trigs;
507  TU_iterator ptu;
508  /*check();*/
509  for(ptu=_cache.begin();ptu!=_cache.end();ptu++) {
510  DTSCTrigUnit* tu = (*ptu).second;
511  std::vector<DTTracoTrigData>::const_iterator p; //p=0;
512  std::vector<DTTracoTrigData>::const_iterator peb=tu->TracoTrigs()->end();
513  for(p=tu->TracoTrigs()->begin();p!=peb;p++){
514  trigs.push_back(*p);
515  }
516  }
517  return trigs;
518 }
TUcontainer _cache
Definition: DTTrig.h:247
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:58
DTTracoCard * TracoTrigs() const
Return container of TRACO triggers.
Definition: DTSCTrigUnit.h:91
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:40
const_iterator end() const
Get last cache element.
Definition: DTCache.h:43
void DTTrig::triggerReco ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)

Run the whole trigger reconstruction chain.

Definition at line 152 of file DTTrig.cc.

References _cache, _cache1, _digitag, _inputexist, DTSCTrigUnit::BtiTrigs(), DTSuperLayerId::chamberId(), DTCache< T, Coll >::clearCache(), DTTracoCard::clearCache(), DTBtiCard::clearCache(), DTSectColl::clearCache(), edm::Event::getByLabel(), DTSectColl::getTSPhi(), DTSectColl::getTSTheta(), mps_fire::i, edm::HandleBase::isValid(), LogDebug, DTTSPhi::reconstruct(), DTTSTheta::reconstruct(), DTBtiCard::reconstruct(), DTTracoCard::reconstruct(), DTSectColl::reconstruct(), DTSectCollId::sector(), DTCache< T, Coll >::size(), DTSectColl::sizePh(), DTSectColl::sizeTh(), DTSCTrigUnit::statId(), DTLayerId::superlayerId(), DTSCTrigUnit::TracoTrigs(), DTSCTrigUnit::TSPhTrigs(), DTSCTrigUnit::TSThTrigs(), and updateES().

Referenced by DTTrigTest::analyze(), and DTTrigProd::produce().

152  {
153 
154  updateES(iSetup);
155  if (!_inputexist) return;
156 
157  DTDigiMap digiMap;
158  //Sort digis by chamber so they can be used by BTIs
160  iEvent.getByLabel(_digitag, dtDigis);
161 
162  if (!dtDigis.isValid()) {
163  LogDebug("DTTrig")
164  << "DTTrig::triggerReco DTDigiCollection with input tag " << _digitag
165  << "requested in configuration, but not found in the event." << std::endl;
166  _inputexist = false;
167  return;
168  }
169 
171 
172  for (detUnitIt=dtDigis->begin();
173  detUnitIt!=dtDigis->end();
174  ++detUnitIt){
175 
176  const DTLayerId& layId = (*detUnitIt).first;
177  const DTChamberId chambId=layId.superlayerId().chamberId();
178  const DTDigiCollection::Range& range = (*detUnitIt).second;
179  digiMap[chambId].put(range,layId);
180 
181  }
182 
183  //Run reconstruct for single trigger subsystem (Bti, Traco TS)
184  for (TU_iterator it=_cache.begin();it!=_cache.end();it++){
185  DTSCTrigUnit* thisTU=(*it).second;
186  if (thisTU->BtiTrigs()->size()>0){
187  thisTU->BtiTrigs()->clearCache();
188  thisTU->TSThTrigs()->clearCache();
189  thisTU->TracoTrigs()->clearCache();
190  thisTU->TSPhTrigs()->clearCache();
191  }
192  DTChamberId chid=thisTU->statId();
193  DTDigiMap_iterator dmit = digiMap.find(chid);
194  if (dmit !=digiMap.end()){
195  thisTU->BtiTrigs()->reconstruct((*dmit).second);
196  if(thisTU->BtiTrigs()->size()>0){
197  thisTU->TSThTrigs()->reconstruct();
198  thisTU->TracoTrigs()->reconstruct();
199  if(thisTU->TracoTrigs()->size()>0)
200  thisTU->TSPhTrigs()->reconstruct();
201  }
202  }
203  }
204  //Run reconstruct for Sector Collector
205  for (SC_iterator it=_cache1.begin();it!=_cache1.end();it++){
206  DTSectColl* sectcoll = (*it).second;
207  DTSectCollId scid = (*it).first;
208  if (sectcoll->sizePh()>0 || sectcoll->sizeTh()>0)
209  sectcoll->clearCache();
210  bool mustreco = false;
211  for (int i=1;i<5;i++) {
212  if (sectcoll->getTSPhi(i)->size()>0) {
213  mustreco = true;
214  break;
215  }
216  }
217  for (int i=1;i<4;i++) {
218  if (sectcoll->getTSTheta(i)->size()>0) {
219  mustreco = true;
220  break;
221  }
222  }
223  if (scid.sector()==4 || scid.sector()==10){
224  if (sectcoll->getTSPhi(5)->size()>0)
225  mustreco = true;
226  }
227  if (mustreco)
228  sectcoll->reconstruct();
229  }
230 
231 }
#define LogDebug(id)
int sizePh()
Return Phi cache size.
Definition: DTSectColl.h:153
void reconstruct() override
Load BTIs triggers and run TSTheta algoritm.
Definition: DTTSTheta.h:83
virtual void reconstruct(const DTDigiCollection dtDigis)
Definition: DTBtiCard.h:102
void clearCache()
Clear all traco stuff (cache & map)
Definition: DTTracoCard.cc:70
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:61
void reconstruct() override
Load Trigger Units triggers and run Sector Collector algorithm.
Definition: DTSectColl.h:177
void reconstruct() override
Load TRACO triggers and run TSPhi algorithm.
Definition: DTTSPhi.h:82
SCcontainer _cache1
Definition: DTTrig.h:248
DTChamberId chamberId() const
Return the corresponding ChamberId.
DTTSTheta * TSThTrigs() const
Return the chamber Trigger Server (Theta)
Definition: DTSCTrigUnit.h:97
void clearCache()
Clear all BTI stuff (map & cache)
Definition: DTBtiCard.cc:95
int sizeTh()
Return Theta cache size.
Definition: DTSectColl.h:162
DTTSPhi * TSPhTrigs() const
Return the chamber Trigger Server (Phi)
Definition: DTSCTrigUnit.h:94
TUcontainer _cache
Definition: DTTrig.h:247
DTSuperLayerId superlayerId() const
Return the corresponding SuperLayerId.
Definition: DTLayerId.h:59
void reconstruct() override
Load BTIs triggers and run TRACOs algorithm.
Definition: DTTracoCard.h:105
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:58
DTBtiCard * BtiTrigs() const
Return container of BTI triggers.
Definition: DTSCTrigUnit.h:88
void updateES(const edm::EventSetup &iSetup)
update the eventsetup info
Definition: DTTrig.cc:234
edm::InputTag _digitag
Definition: DTTrig.h:250
bool isValid() const
Definition: HandleBase.h:74
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:475
DTDigiMap::iterator DTDigiMap_iterator
Definition: DTTrig.h:66
int sector() const
Definition: DTSectCollId.h:41
DTTracoCard * TracoTrigs() const
Return container of TRACO triggers.
Definition: DTSCTrigUnit.h:91
void clearCache()
Local position in chamber of a trigger-data object.
Definition: DTSectColl.h:174
std::map< DTChamberId, DTDigiCollection, std::less< DTChamberId > > DTDigiMap
Definition: DTTrig.h:65
bool _inputexist
Definition: DTTrig.h:252
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTSCTrigUnit.h:76
std::pair< const_iterator, const_iterator > Range
void clearCache()
Clear cache vector.
Definition: DTCache.h:49
DTTSPhi * getTSPhi(int istat) const
Return TSPhi.
Definition: DTSectColl.h:71
int size() const
Get cache vector&#39;s size.
Definition: DTCache.h:46
DTTSTheta * getTSTheta(int istat) const
Return TSTheta.
Definition: DTSectColl.h:74
DTSCTrigUnit * DTTrig::trigUnit ( DTChamberId  sid)

Return a trigger unit - Muon numbering.

Definition at line 291 of file DTTrig.cc.

References constTrigUnit().

Referenced by cache1(), chPhiSegm1(), chPhiSegm2(), and chThetaSegm().

291  {
292  /*check();*/ return constTrigUnit(chid);
293 
294 }
DTSCTrigUnit * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:299
DTSCTrigUnit * DTTrig::trigUnit ( int  wheel,
int  stat,
int  sect 
)

Return a trigger unit - Muon numbering, MTTF numbering.

Definition at line 329 of file DTTrig.cc.

References constTrigUnit().

329  {
330  return constTrigUnit(wheel, stat, sect);
331 }
DTSCTrigUnit * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:299
std::vector< DTChambPhSegm > DTTrig::TSPhTrigs ( )

Return a copy of all the Trigger Server (Phi) triggers.

Definition at line 521 of file DTTrig.cc.

References _cache, DTCache< T, Coll >::begin(), DTCache< T, Coll >::end(), AlCaHLTBitMon_ParallelJobs::p, and DTSCTrigUnit::TSPhTrigs().

Referenced by DTTrigTest::analyze(), and getBXOffset().

521  {
522  /*check();*/
523  std::vector<DTChambPhSegm> trigs;
524  TU_iterator ptu;
525  for(ptu=_cache.begin();ptu!=_cache.end();ptu++) {
526  DTSCTrigUnit* tu = (*ptu).second;
527  std::vector<DTChambPhSegm>::const_iterator p; //p=0;
528  std::vector<DTChambPhSegm>::const_iterator peb=tu->TSPhTrigs()->end();
529  for(p=tu->TSPhTrigs()->begin();p!=peb;p++){
530  trigs.push_back(*p);
531  }
532  }
533  return trigs;
534 }
DTTSPhi * TSPhTrigs() const
Return the chamber Trigger Server (Phi)
Definition: DTSCTrigUnit.h:94
TUcontainer _cache
Definition: DTTrig.h:247
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:58
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:40
const_iterator end() const
Get last cache element.
Definition: DTCache.h:43
std::vector< DTChambThSegm > DTTrig::TSThTrigs ( )

Return a copy of all the Trigger Server (Theta) triggers.

Definition at line 537 of file DTTrig.cc.

References _cache, DTCache< T, Coll >::begin(), DTCache< T, Coll >::end(), AlCaHLTBitMon_ParallelJobs::p, and DTSCTrigUnit::TSThTrigs().

Referenced by DTTrigTest::analyze(), and getBXOffset().

537  {
538  /*check();*/
539  std::vector<DTChambThSegm> trigs;
540  TU_iterator ptu;
541  for(ptu=_cache.begin();ptu!=_cache.end();ptu++) {
542  DTSCTrigUnit* tu = (*ptu).second;
543  std::vector<DTChambThSegm>::const_iterator p; //p=0;
544  std::vector<DTChambThSegm>::const_iterator peb=tu->TSThTrigs()->end();
545  for(p=tu->TSThTrigs()->begin();p!=peb;p++){
546  trigs.push_back(*p);
547  }
548  }
549  return trigs;
550 }
DTTSTheta * TSThTrigs() const
Return the chamber Trigger Server (Theta)
Definition: DTSCTrigUnit.h:97
TUcontainer _cache
Definition: DTTrig.h:247
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:58
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:40
const_iterator end() const
Get last cache element.
Definition: DTCache.h:43
void DTTrig::updateES ( const edm::EventSetup iSetup)

update the eventsetup info

Definition at line 234 of file DTTrig.cc.

References _cache, _cache1, _conf_manager, _configid, _debug, _geomid, edm::eventsetup::EventSetupRecord::cacheIdentifier(), DTGeometry::chamber(), gather_cfg::cout, edm::EventSetup::get(), and edm::ESHandle< T >::product().

Referenced by triggerReco().

234  {
235 
236  // Check for updatets in config
238  edm::ESHandle<DTGeometry> geomHandle;
239 
240  if (iSetup.get<DTConfigManagerRcd>().cacheIdentifier()!=_configid) {
241 
242  if (_debug)
243  std::cout << "DTTrig::updateES updating DTTPG configuration" << std::endl;
244 
245  _configid = iSetup.get<DTConfigManagerRcd>().cacheIdentifier();
246  iSetup.get<DTConfigManagerRcd>().get(confHandle);
247  _conf_manager = confHandle.product();
248  for (TU_iterator it=_cache.begin();it!=_cache.end();it++){
249  (*it).second->setConfig(_conf_manager);
250  }
251  for (SC_iterator it=_cache1.begin();it!=_cache1.end();it++){
252  (*it).second->setConfig(_conf_manager);
253  }
254 
255  }
256 
257  if (iSetup.get<MuonGeometryRecord>().cacheIdentifier()!=_configid) {
258 
259  if (_debug)
260  std::cout << "DTTrig::updateES updating muon geometry" << std::endl;
261 
262  _geomid = iSetup.get<MuonGeometryRecord>().cacheIdentifier();
263  iSetup.get<MuonGeometryRecord>().get(geomHandle);
264  for (TU_iterator it=_cache.begin();it!=_cache.end();it++){
265  (*it).second->setGeom(geomHandle->chamber((*it).second->statId()));
266  }
267 
268  }
269 
270 }
unsigned long long cacheIdentifier() const
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:61
SCcontainer _cache1
Definition: DTTrig.h:248
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
Definition: DTGeometry.cc:99
bool _debug
Definition: DTTrig.h:251
TUcontainer _cache
Definition: DTTrig.h:247
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:58
unsigned long long _geomid
Definition: DTTrig.h:255
const T & get() const
Definition: EventSetup.h:59
const DTConfigManager * _conf_manager
Definition: DTTrig.h:249
T const * product() const
Definition: ESHandle.h:86
unsigned long long _configid
Definition: DTTrig.h:254

Member Data Documentation

TUcontainer DTTrig::_cache
private
SCcontainer DTTrig::_cache1
private
const DTConfigManager* DTTrig::_conf_manager
private

Definition at line 249 of file DTTrig.h.

Referenced by getBXOffset(), and updateES().

unsigned long long DTTrig::_configid
private

Definition at line 254 of file DTTrig.h.

Referenced by updateES().

bool DTTrig::_debug
private
edm::InputTag DTTrig::_digitag
private

Definition at line 250 of file DTTrig.h.

Referenced by DTTrig(), and triggerReco().

unsigned long long DTTrig::_geomid
private

Definition at line 255 of file DTTrig.h.

Referenced by updateES().

bool DTTrig::_inputexist
private

Definition at line 252 of file DTTrig.h.

Referenced by triggerReco().