CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 () const
 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 () const
 Dump the geometry. More...
 
void dumpLuts (short int lut_btic, const DTConfigManager *conf) const
 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 () const
 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 () const
 Return a copy of all the Sector Collector (Phi) triggers. More...
 
std::vector< DTSectCollThSegmSCThTrigs () const
 Return a copy of all the Sector Collector (Theta) triggers. More...
 
int size () const
 Size of the trigger units store. More...
 
int size1 () const
 Size of the sector collector store. More...
 
std::vector< DTTracoTrigDataTracoTrigs () const
 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 () const
 Return a copy of all the Trigger Server (Phi) triggers. More...
 
std::vector< DTChambThSegmTSThTrigs () const
 Return a copy of all the Trigger Server (Theta) triggers. More...
 
void updateES (const edm::EventSetup &iSetup)
 update the eventsetup info More...
 

Private Member Functions

DTSCTrigUnit const * constTrigUnit (DTChamberId sid) const
 Return a trigger unit - Muon numbering - const version. More...
 
DTSCTrigUnit const * constTrigUnit (int wheel, int stat, int sect) const
 Return a trigger unit - Muon numbering, MTTF numbering - const version. More...
 
DTSectColl const * SCUnit (DTSectCollId scid) const
 Return a SC unit - Muon numbering - const version. More...
 
DTSectColl const * SCUnit (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 54 of file DTTrig.h.

Member Typedef Documentation

typedef std::map<DTChamberId, DTDigiCollection, std::less<DTChamberId> > DTTrig::DTDigiMap

Definition at line 64 of file DTTrig.h.

typedef DTDigiMap::const_iterator DTTrig::DTDigiMap_const_iterator

Definition at line 66 of file DTTrig.h.

typedef DTDigiMap::iterator DTTrig::DTDigiMap_iterator

Definition at line 65 of file DTTrig.h.

typedef std::pair<TU_iterator, TU_iterator> DTTrig::Range

Definition at line 62 of file DTTrig.h.

typedef SCcontainer::const_iterator DTTrig::SC_const_iterator

Definition at line 61 of file DTTrig.h.

typedef SCcontainer::iterator DTTrig::SC_iterator

Definition at line 60 of file DTTrig.h.

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

Definition at line 59 of file DTTrig.h.

Definition at line 63 of file DTTrig.h.

typedef TUcontainer::const_iterator DTTrig::TU_const_iterator

Definition at line 58 of file DTTrig.h.

typedef TUcontainer::iterator DTTrig::TU_iterator

Definition at line 57 of file DTTrig.h.

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

Definition at line 56 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().

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

Member Function Documentation

TU_iterator DTTrig::begin ( void  )
inline

Begin of the trigger units store.

Definition at line 88 of file DTTrig.h.

References _cache.

88  { /*check();*/
89  return _cache.begin();
90  }
TUcontainer _cache
Definition: DTTrig.h:254
SC_iterator DTTrig::begin1 ( )
inline

Begin of the sector collector store.

Definition at line 115 of file DTTrig.h.

References _cache1.

115  { /*check();*/
116  return _cache1.begin();
117  }
SCcontainer _cache1
Definition: DTTrig.h:255
std::vector< DTBtiTrigData > DTTrig::BtiTrigs ( ) const

Return a copy of all the BTI triggers.

Definition at line 416 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().

416  {
417  /*check();*/
418  std::vector<DTBtiTrigData> trigs;
419  for (auto ptu = _cache.begin(); ptu != _cache.end(); ptu++) {
420  const DTSCTrigUnit& tu = (*ptu).second;
421  auto peb = tu.BtiTrigs()->end();
422  for (auto p = tu.BtiTrigs()->begin(); p != peb; p++) {
423  trigs.push_back(*p);
424  }
425  }
426  return trigs;
427 }
TUcontainer _cache
Definition: DTTrig.h:254
DTBtiCard * BtiTrigs() const
Return container of BTI triggers.
Definition: DTSCTrigUnit.h:84
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:38
const_iterator end() const
Get last cache element.
Definition: DTCache.h:41
Range DTTrig::cache ( )
inline

Begin of the trigger units store.

Definition at line 103 of file DTTrig.h.

References _cache.

103  { /*check();*/
104  return Range(_cache.begin(), _cache.end());
105  }
std::pair< TU_iterator, TU_iterator > Range
Definition: DTTrig.h:62
TUcontainer _cache
Definition: DTTrig.h:254
SCRange DTTrig::cache1 ( )
inline

Range of the sector collector store.

Definition at line 130 of file DTTrig.h.

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

130  { /*check();*/
131  return SCRange(_cache1.begin(), _cache1.end());
132  }
SCcontainer _cache1
Definition: DTTrig.h:255
std::pair< SC_iterator, SC_iterator > SCRange
Definition: DTTrig.h:63
DTChambPhSegm * DTTrig::chPhiSegm1 ( DTChamberId  sid,
int  step 
)

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

Definition at line 317 of file DTTrig.cc.

References trigUnit().

Referenced by cache1(), and chPhiSegm1().

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

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

Definition at line 293 of file DTTrig.cc.

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

293  {
294  if (unit == nullptr)
295  return nullptr;
296  if (unit->nPhiSegm(step) < 1)
297  return nullptr;
298  return const_cast<DTChambPhSegm*>(unit->phiSegment(step, 1));
299 }
step
Definition: StallMonitor.cc:94
const DTChambPhSegm * phiSegment(int step, int n)
Return output segments, phi view.
Definition: DTSCTrigUnit.h:129
int nPhiSegm(int step)
Number of Phi segments for a given step.
Definition: DTSCTrigUnit.h:126
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 327 of file DTTrig.cc.

References chPhiSegm1(), and trigUnit().

327  {
328  return chPhiSegm1(trigUnit(wheel, stat, sect), step);
329  // to make it transparent to the outside world
330  // return chSectCollSegm1(wheel,stat,sect,step);
331 }
DTChambPhSegm * chPhiSegm1(DTChamberId sid, int step)
Return the first phi track segment in req. chamber/step.
Definition: DTTrig.cc:317
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:247
step
Definition: StallMonitor.cc:94
DTChambPhSegm * DTTrig::chPhiSegm2 ( DTChamberId  sid,
int  step 
)

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

Definition at line 319 of file DTTrig.cc.

References trigUnit().

Referenced by cache1(), and chPhiSegm2().

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

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

Definition at line 301 of file DTTrig.cc.

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

301  {
302  if (unit == nullptr)
303  return nullptr;
304  if (unit->nPhiSegm(step) < 2)
305  return nullptr;
306  return const_cast<DTChambPhSegm*>(unit->phiSegment(step, 2));
307 }
step
Definition: StallMonitor.cc:94
const DTChambPhSegm * phiSegment(int step, int n)
Return output segments, phi view.
Definition: DTSCTrigUnit.h:129
int nPhiSegm(int step)
Number of Phi segments for a given step.
Definition: DTSCTrigUnit.h:126
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 333 of file DTTrig.cc.

References chPhiSegm2(), and trigUnit().

333  {
334  // if(stat==4&&(sect==3||sect==9)) {
335  // if hrizontal chambers of MB4 get first track of twin chamber (flag=1)
336  // return chPhiSegm1(trigUnit(wheel,stat,sect,1),step);
337  // } else {
338  return chPhiSegm2(trigUnit(wheel, stat, sect), step);
339  // to make it transparent to the outside world
340  // return chSectCollSegm2(wheel,stat,sect,step);
341  //}
342 }
DTChambPhSegm * chPhiSegm2(DTChamberId sid, int step)
Return the second phi track segment in req. chamber/step.
Definition: DTTrig.cc:319
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:247
step
Definition: StallMonitor.cc:94
DTSectCollPhSegm * DTTrig::chSectCollPhSegm1 ( DTSectColl unit,
int  step 
)

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

Definition at line 351 of file DTTrig.cc.

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

Referenced by cache1(), and chSectCollPhSegm1().

351  {
352  if (unit == nullptr)
353  return nullptr;
354  if (unit->nSegmPh(step) < 1)
355  return nullptr;
356  return const_cast<DTSectCollPhSegm*>(unit->SectCollPhSegment(step, 1));
357 }
int nSegmPh(int step)
Return number of DTSectCollPhi segments (SC step)
Definition: DTSectColl.cc:419
const DTSectCollPhSegm * SectCollPhSegment(int step, unsigned n)
Return requested Sector Collector Phi Segment 1st/2nd.
Definition: DTSectColl.cc:443
step
Definition: StallMonitor.cc:94
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 367 of file DTTrig.cc.

References chSectCollPhSegm1(), and SCUnit().

367  {
368  return chSectCollPhSegm1(const_cast<DTSectColl*>(SCUnit(wheel, sect)), step);
369 }
DTSectColl const * SCUnit(DTSectCollId scid) const
Return a SC unit - Muon numbering - const version.
Definition: DTTrig.cc:266
DTSectCollPhSegm * chSectCollPhSegm1(DTSectColl *unit, int step)
Return the first phi track segment in req. chamber/step [SC step].
Definition: DTTrig.cc:351
step
Definition: StallMonitor.cc:94
DTSectCollPhSegm * DTTrig::chSectCollPhSegm2 ( DTSectColl unit,
int  step 
)

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

Definition at line 359 of file DTTrig.cc.

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

Referenced by cache1(), and chSectCollPhSegm2().

359  {
360  if (unit == nullptr)
361  return nullptr;
362  if (unit->nSegmPh(step) < 2)
363  return nullptr;
364  return const_cast<DTSectCollPhSegm*>(unit->SectCollPhSegment(step, 2));
365 }
int nSegmPh(int step)
Return number of DTSectCollPhi segments (SC step)
Definition: DTSectColl.cc:419
const DTSectCollPhSegm * SectCollPhSegment(int step, unsigned n)
Return requested Sector Collector Phi Segment 1st/2nd.
Definition: DTSectColl.cc:443
step
Definition: StallMonitor.cc:94
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 371 of file DTTrig.cc.

References chSectCollPhSegm2(), and SCUnit().

371  {
372  // if(stat==4&&(sect==3||sect==9)) {
373  // if hrizontal chambers of MB4 get first track of twin chamber (flag=1)
374  //return chSectCollSegm1(trigUnit(wheel,stat,sect,1),step);
375  //} else {
376  return chSectCollPhSegm2(const_cast<DTSectColl*>(SCUnit(wheel, sect)), step);
377  //}
378 }
DTSectColl const * SCUnit(DTSectCollId scid) const
Return a SC unit - Muon numbering - const version.
Definition: DTTrig.cc:266
DTSectCollPhSegm * chSectCollPhSegm2(DTSectColl *unit, int step)
Return the second phi track segment in req. chamber/step [SC step].
Definition: DTTrig.cc:359
step
Definition: StallMonitor.cc:94
DTSectCollThSegm * DTTrig::chSectCollThSegm ( DTSectColl unit,
int  step 
)

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

Definition at line 380 of file DTTrig.cc.

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

Referenced by cache1(), and chSectCollThSegm().

380  {
381  if (unit == nullptr)
382  return nullptr;
383  if (unit->nSegmTh(step) < 1)
384  return nullptr;
385  return const_cast<DTSectCollThSegm*>(unit->SectCollThSegment(step));
386 }
int nSegmTh(int step)
Return number of DTSectCollTheta segments (SC step)
Definition: DTSectColl.cc:431
const DTSectCollThSegm * SectCollThSegment(int step)
Return requested Sector Collector Theta Segment.
Definition: DTSectColl.cc:454
step
Definition: StallMonitor.cc:94
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 388 of file DTTrig.cc.

References chSectCollThSegm(), and SCUnit().

388  {
389  return chSectCollThSegm(const_cast<DTSectColl*>(SCUnit(wheel, sect)), step);
390 }
DTSectColl const * SCUnit(DTSectCollId scid) const
Return a SC unit - Muon numbering - const version.
Definition: DTTrig.cc:266
DTSectCollThSegm * chSectCollThSegm(DTSectColl *unit, int step)
Return the theta track segment in req. chamber/step [SC step].
Definition: DTTrig.cc:380
step
Definition: StallMonitor.cc:94
DTChambThSegm * DTTrig::chThetaSegm ( DTChamberId  sid,
int  step 
)

Return the theta candidates in req. chamber/step.

Definition at line 321 of file DTTrig.cc.

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

Referenced by cache1(), and chThetaSegm().

321  {
322  if (sid.station() == 4)
323  return nullptr;
324  return chThetaSegm(trigUnit(sid), step);
325 }
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:247
DTChambThSegm * chThetaSegm(DTChamberId sid, int step)
Return the theta candidates in req. chamber/step.
Definition: DTTrig.cc:321
step
Definition: StallMonitor.cc:94
int station() const
Return the station number.
Definition: DTChamberId.h:42
DTChambThSegm * DTTrig::chThetaSegm ( DTSCTrigUnit unit,
int  step 
)

Return the theta candidates in req. chamber/step.

Definition at line 309 of file DTTrig.cc.

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

309  {
310  if (unit == nullptr)
311  return nullptr;
312  if (unit->nThetaSegm(step) < 1)
313  return nullptr;
314  return const_cast<DTChambThSegm*>(unit->thetaSegment(step, 1));
315 }
const DTChambThSegm * thetaSegment(int step, int n)
Return output segments, theta view.
Definition: DTSCTrigUnit.h:135
step
Definition: StallMonitor.cc:94
int nThetaSegm(int step)
Number of theta segments for a given step.
Definition: DTSCTrigUnit.h:132
DTChambThSegm * DTTrig::chThetaSegm ( int  wheel,
int  stat,
int  sect,
int  step 
)

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

Definition at line 344 of file DTTrig.cc.

References chThetaSegm(), and trigUnit().

344  {
345  if (stat == 4)
346  return nullptr;
347  return chThetaSegm(trigUnit(wheel, stat, sect), step);
348 }
DTSCTrigUnit * trigUnit(DTChamberId sid)
Return a trigger unit - Muon numbering.
Definition: DTTrig.cc:247
DTChambThSegm * chThetaSegm(DTChamberId sid, int step)
Return the theta candidates in req. chamber/step.
Definition: DTTrig.cc:321
step
Definition: StallMonitor.cc:94
void DTTrig::clear ( void  )

Clear the trigger units cache.

Definition at line 241 of file DTTrig.cc.

References _cache, and _cache1.

241  {
242  // Delete the map
243  _cache.clear();
244  _cache1.clear();
245 }
SCcontainer _cache1
Definition: DTTrig.h:255
TUcontainer _cache
Definition: DTTrig.h:254
GlobalVector DTTrig::CMSDirection ( const DTTrigData trig) const
inline

Direction of a trigger-data object in CMS frame.

Definition at line 232 of file DTTrig.h.

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

Referenced by DTTrigTest::analyze().

232  {
233  return constTrigUnit(trig->ChamberId())->CMSDirection(trig);
234  }
DTSCTrigUnit const * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:251
GlobalVector CMSDirection(const DTTrigData *trig) const
Direction of a trigger-data object in CMS frame.
Definition: DTTrig.h:232
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 224 of file DTTrig.h.

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

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

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

Return a trigger unit - Muon numbering - const version.

Definition at line 251 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().

251  {
252  // std::cout << " SC: running DTTrig::constTrigUnit(DTChamberId chid)" << std::endl;
253  TU_const_iterator it = _cache.find(chid);
254  if (it == _cache.end()) {
255  std::cout << "DTTrig::trigUnit: Trigger Unit not in the map: ";
256  std::cout << " wheel=" << chid.wheel();
257  std::cout << ", station=" << chid.station();
258  std::cout << ", sector=" << chid.sector();
259  std::cout << std::endl;
260  return nullptr;
261  }
262 
263  return &(*it).second;
264 }
TUcontainer _cache
Definition: DTTrig.h:254
TUcontainer::const_iterator TU_const_iterator
Definition: DTTrig.h:58
DTSCTrigUnit const * DTTrig::constTrigUnit ( int  wheel,
int  stat,
int  sect 
) const
private

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

Definition at line 288 of file DTTrig.cc.

References constTrigUnit().

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

Create the trigger units and store them in the cache.

Definition at line 64 of file DTTrig.cc.

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

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

64  {
65  // build up Sector Collectors and then
66  // build the trrigger units (one for each chamber)
67  for (int iwh = -2; iwh <= 2; iwh++) {
68  for (int ise = 1; ise <= 12; ise++) {
69  if (_debug) {
70  std::cout << "calling sectcollid wh sc " << iwh << " " << ise << std::endl;
71  }
72  DTSectCollId scid(iwh, ise);
73  {
74  SC_iterator it = _cache1.find(scid);
75  if (it != _cache1.end()) {
76  if (_debug) {
77  std::cout << "DTTrig::createTUs: Sector Collector unit already exists" << std::endl;
78  }
79  continue;
80  }
81  }
82  {
83  auto element = _cache1.emplace(scid, scid);
84  if (_debug) {
85  std::cout << " DTTrig::createTUs new SC sc = " << &(element.first->second) << " at scid.sector() "
86  << scid.sector() << " at scid.wheel() " << scid.wheel() << std::endl;
87  }
88  }
89  }
90  }
91 
93  iSetup.get<MuonGeometryRecord>().get(dtGeom);
94  for (std::vector<const DTChamber*>::const_iterator ich = dtGeom->chambers().begin(); ich != dtGeom->chambers().end();
95  ich++) {
96  const DTChamber* chamb = (*ich);
97  DTChamberId chid = chamb->id();
98  TU_iterator it = _cache.find(chid);
99  if (it != _cache.end()) {
100  if (_debug)
101  std::cout << "DTTrig::init: Trigger unit already exists" << std::endl;
102  continue;
103  }
104 
105  auto info = _cache.emplace(chid, chamb);
106  auto tru = &(info.first->second);
107 
108  //----------- add TU to corresponding SC
109  // returning correspondent SC id
110  DTSectCollId scid;
111  if (chid.sector() == 13) {
112  scid = DTSectCollId(chid.wheel(), 4);
113  } else if (chid.sector() == 14) {
114  scid = DTSectCollId(chid.wheel(), 10);
115  } else {
116  scid = DTSectCollId(chid.wheel(), chid.sector());
117  }
118 
119  SC_iterator it1 = _cache1.find(scid);
120 
121  if (it1 != _cache1.end()) {
122  auto& sc = (*it1).second;
123  if (_debug) {
124  std::cout << "DTTrig::init: adding TU in SC << "
125  << " sector = " << scid.sector() << " wheel = " << scid.wheel() << std::endl;
126  }
127  sc.addTU(tru);
128  } else {
129  std::cout << "DTTrig::createTUs: Trigger Unit not in the map: ";
130  }
131  }
132 }
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:60
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
static const TGPicture * info(bool iBackgroundIsBlack)
SCcontainer _cache1
Definition: DTTrig.h:255
bool _debug
Definition: DTTrig.h:258
TUcontainer _cache
Definition: DTTrig.h:254
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:57
DTChamberId id() const
Return the DTChamberId of this chamber.
Definition: DTChamber.cc:32
int sector() const
Definition: DTSectCollId.h:31
int wheel() const
Definition: DTSectCollId.h:30
int sector() const
Definition: DTChamberId.h:49
T get() const
Definition: EventSetup.h:73
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
void DTTrig::dumpGeom ( ) const

Dump the geometry.

Definition at line 394 of file DTTrig.cc.

References _cache.

Referenced by cache1().

394  {
395  /*check();*/
396  for (TU_const_iterator it = _cache.begin(); it != _cache.end(); it++) {
397  ((*it).second).dumpGeom();
398  }
399 }
TUcontainer _cache
Definition: DTTrig.h:254
void dumpGeom() const
Dump the geometry.
Definition: DTTrig.cc:394
TUcontainer::const_iterator TU_const_iterator
Definition: DTTrig.h:58
void DTTrig::dumpLuts ( short int  lut_btic,
const DTConfigManager conf 
) const

Dump the LUT files.

Definition at line 401 of file DTTrig.cc.

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

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

401  {
402  for (TU_const_iterator it = _cache.begin(); it != _cache.end(); it++) {
403  const DTSCTrigUnit& thisTU = (*it).second;
404 
405  // dump lut command file from geometry
406  thisTU.dumpLUT(lut_btic);
407 
408  // dump lut command file from parameters (DB or CMSSW)
409  DTChamberId chid = thisTU.statId();
410  conf->dumpLUTParam(chid);
411  }
412 
413  return;
414 }
void dumpLUTParam(DTChamberId &chambid) const
Dump luts string commands from configuration parameters.
TUcontainer _cache
Definition: DTTrig.h:254
void dumpLUT(short int btic) const
Dump the Lut file.
Definition: DTSCTrigUnit.h:117
TUcontainer::const_iterator TU_const_iterator
Definition: DTTrig.h:58
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTSCTrigUnit.h:72
TU_iterator DTTrig::end ( void  )
inline

End of the trigger units store.

Definition at line 93 of file DTTrig.h.

References _cache.

93  { /*check();*/
94  return _cache.end();
95  }
TUcontainer _cache
Definition: DTTrig.h:254
SC_iterator DTTrig::end1 ( )
inline

End of the sectoor collector store.

Definition at line 120 of file DTTrig.h.

References _cache1.

120  { /*check();*/
121  return _cache1.end();
122  }
SCcontainer _cache1
Definition: DTTrig.h:255
TU_iterator DTTrig::find ( DTChamberId  id)
inline

Find a trigger unit in the map.

Definition at line 98 of file DTTrig.h.

References _cache.

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

Find a Sector Collector in the map.

Definition at line 125 of file DTTrig.h.

References _cache1.

125  { /*check();*/
126  return _cache1.find(id);
127  }
SCcontainer _cache1
Definition: DTTrig.h:255
int DTTrig::getBXOffset ( ) const
inline

Get BX Offset.

Definition at line 196 of file DTTrig.h.

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

Referenced by DTTrigProd::produce().

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

Direction of a trigger-data object in chamber frame.

Definition at line 227 of file DTTrig.h.

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

227  {
228  return constTrigUnit(trig->ChamberId())->localDirection(trig);
229  }
DTSCTrigUnit const * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:251
LocalVector localDirection(const DTTrigData *trig) const
Direction of a trigger-data object in chamber frame.
Definition: DTTrig.h:227
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 219 of file DTTrig.h.

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

219  {
220  return constTrigUnit(trig->ChamberId())->localPosition(trig);
221  }
DTSCTrigUnit const * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:251
LocalPoint localPosition(const DTTrigData *trig) const
Coordinate of a trigger-data object in chamber frame.
Definition: DTTrig.h:219
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 237 of file DTTrig.h.

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

Referenced by print().

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

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

Definition at line 468 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().

468  {
469  /*check();*/
470  std::vector<DTSectCollPhSegm> trigs;
471  for (auto psc = _cache1.begin(); psc != _cache1.end(); psc++) {
472  // DTSCTrigUnit* tu = (*ptu).second;
473  //
474  // old SMDB:
475  // DTSectColl* tu = (*ptu).second;
476  // std::vector<DTChambPhSegm>::const_iterator p=0;
477  // std::vector<DTChambPhSegm>::const_iterator peb=tu->SCTrigs()->end();
478  // for(p=tu->SCTrigs()->begin();p!=peb;p++){
479  // trigs.push_back(*p);
480  // }
481 
482  const DTSectColl& sc = (*psc).second;
483  auto peb = sc.endPh();
484  for (auto p = sc.beginPh(); p != peb; p++) {
485  trigs.push_back(*p);
486  }
487  }
488  return trigs;
489 }
SCcontainer _cache1
Definition: DTTrig.h:255
std::vector< DTSectCollPhSegm >::const_iterator beginPh() const
Return iterator to the beghin of Phi cache.
Definition: DTSectColl.h:148
std::vector< DTSectCollPhSegm >::const_iterator endPh() const
Return iterator to the end of Phi cache.
Definition: DTSectColl.h:154
std::vector< DTSectCollThSegm > DTTrig::SCThTrigs ( ) const

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

Definition at line 491 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().

491  {
492  /*check();*/
493  std::vector<DTSectCollThSegm> trigs;
494  for (auto psc = _cache1.begin(); psc != _cache1.end(); psc++) {
495  const DTSectColl& sc = (*psc).second;
496  auto peb = sc.endTh();
497  for (auto p = sc.beginTh(); p != peb; p++) {
498  trigs.push_back(*p);
499  }
500  }
501  return trigs;
502 }
SCcontainer _cache1
Definition: DTTrig.h:255
std::vector< DTSectCollThSegm >::const_iterator endTh() const
Return iterator to the end of Theta cache.
Definition: DTSectColl.h:163
std::vector< DTSectCollThSegm >::const_iterator beginTh() const
Return iterator to the begni of Theta cache.
Definition: DTSectColl.h:157
DTSectColl const * DTTrig::SCUnit ( DTSectCollId  scid) const
private

Return a SC unit - Muon numbering - const version.

Definition at line 266 of file DTTrig.cc.

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

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

266  {
267  SC_const_iterator it = _cache1.find(scid);
268  if (it == _cache1.end()) {
269  std::cout << "DTTrig::SCUnit: Trigger Unit not in the map: ";
270  std::cout << " wheel=" << scid.wheel();
271  std::cout << ", sector=" << scid.sector();
272  std::cout << std::endl;
273  return nullptr;
274  }
275 
276  return &(*it).second;
277 }
SCcontainer _cache1
Definition: DTTrig.h:255
int sector() const
Definition: DTSectCollId.h:31
int wheel() const
Definition: DTSectCollId.h:30
SCcontainer::const_iterator SC_const_iterator
Definition: DTTrig.h:61
DTSectColl const * DTTrig::SCUnit ( int  wheel,
int  sect 
) const
private

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

Definition at line 283 of file DTTrig.cc.

References SCUnit().

283  {
284  sect++;
285  return SCUnit(DTSectCollId(wheel, sect));
286 }
DTSectColl const * SCUnit(DTSectCollId scid) const
Return a SC unit - Muon numbering - const version.
Definition: DTTrig.cc:266
int DTTrig::size ( void  ) const
inline

Size of the trigger units store.

Definition at line 85 of file DTTrig.h.

References _cache.

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

85 { return _cache.size(); }
TUcontainer _cache
Definition: DTTrig.h:254
int DTTrig::size1 ( ) const
inline

Size of the sector collector store.

Definition at line 110 of file DTTrig.h.

References _cache1.

110  { /*check();*/
111  return _cache1.size();
112  }
SCcontainer _cache1
Definition: DTTrig.h:255
std::vector< DTTracoTrigData > DTTrig::TracoTrigs ( ) const

Return a copy of all the TRACO triggers.

Definition at line 429 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().

429  {
430  std::vector<DTTracoTrigData> trigs;
431  /*check();*/
432  for (auto ptu = _cache.begin(); ptu != _cache.end(); ptu++) {
433  const DTSCTrigUnit& tu = (*ptu).second;
434  auto peb = tu.TracoTrigs()->end();
435  for (auto p = tu.TracoTrigs()->begin(); p != peb; p++) {
436  trigs.push_back(*p);
437  }
438  }
439  return trigs;
440 }
TUcontainer _cache
Definition: DTTrig.h:254
DTTracoCard * TracoTrigs() const
Return container of TRACO triggers.
Definition: DTSCTrigUnit.h:87
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:38
const_iterator end() const
Get last cache element.
Definition: DTCache.h:41
void DTTrig::triggerReco ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)

Run the whole trigger reconstruction chain.

Definition at line 134 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, FastTimerService_cff::range, 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().

134  {
135  updateES(iSetup);
136  if (!_inputexist)
137  return;
138 
139  DTDigiMap digiMap;
140  //Sort digis by chamber so they can be used by BTIs
142  iEvent.getByLabel(_digitag, dtDigis);
143 
144  if (!dtDigis.isValid()) {
145  LogDebug("DTTrig") << "DTTrig::triggerReco DTDigiCollection with input tag " << _digitag
146  << "requested in configuration, but not found in the event." << std::endl;
147  _inputexist = false;
148  return;
149  }
150 
152 
153  for (detUnitIt = dtDigis->begin(); detUnitIt != dtDigis->end(); ++detUnitIt) {
154  const DTLayerId& layId = (*detUnitIt).first;
155  const DTChamberId chambId = layId.superlayerId().chamberId();
156  const DTDigiCollection::Range& range = (*detUnitIt).second;
157  digiMap[chambId].put(range, layId);
158  }
159 
160  //Run reconstruct for single trigger subsystem (Bti, Traco TS)
161  for (TU_iterator it = _cache.begin(); it != _cache.end(); it++) {
162  DTSCTrigUnit& thisTU = (*it).second;
163  if (thisTU.BtiTrigs()->size() > 0) {
164  thisTU.BtiTrigs()->clearCache();
165  thisTU.TSThTrigs()->clearCache();
166  thisTU.TracoTrigs()->clearCache();
167  thisTU.TSPhTrigs()->clearCache();
168  }
169  DTChamberId chid = thisTU.statId();
170  DTDigiMap_iterator dmit = digiMap.find(chid);
171  if (dmit != digiMap.end()) {
172  thisTU.BtiTrigs()->reconstruct((*dmit).second);
173  if (thisTU.BtiTrigs()->size() > 0) {
174  thisTU.TSThTrigs()->reconstruct();
175  thisTU.TracoTrigs()->reconstruct();
176  if (thisTU.TracoTrigs()->size() > 0)
177  thisTU.TSPhTrigs()->reconstruct();
178  }
179  }
180  }
181  //Run reconstruct for Sector Collector
182  for (SC_iterator it = _cache1.begin(); it != _cache1.end(); it++) {
183  DTSectColl& sectcoll = (*it).second;
184  DTSectCollId scid = (*it).first;
185  if (sectcoll.sizePh() > 0 || sectcoll.sizeTh() > 0)
186  sectcoll.clearCache();
187  bool mustreco = false;
188  for (int i = 1; i < 5; i++) {
189  if (sectcoll.getTSPhi(i)->size() > 0) {
190  mustreco = true;
191  break;
192  }
193  }
194  for (int i = 1; i < 4; i++) {
195  if (sectcoll.getTSTheta(i)->size() > 0) {
196  mustreco = true;
197  break;
198  }
199  }
200  if (scid.sector() == 4 || scid.sector() == 10) {
201  if (sectcoll.getTSPhi(5)->size() > 0)
202  mustreco = true;
203  }
204  if (mustreco)
205  sectcoll.reconstruct();
206  }
207 }
#define LogDebug(id)
void reconstruct() override
Load BTIs triggers and run TSTheta algoritm.
Definition: DTTSTheta.h:81
virtual void reconstruct(const DTDigiCollection dtDigis)
Definition: DTBtiCard.h:101
void clearCache()
Clear all traco stuff (cache & map)
Definition: DTTracoCard.cc:61
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:60
void reconstruct() override
Load Trigger Units triggers and run Sector Collector algorithm.
Definition: DTSectColl.h:178
void reconstruct() override
Load TRACO triggers and run TSPhi algorithm.
Definition: DTTSPhi.h:80
SCcontainer _cache1
Definition: DTTrig.h:255
std::map< DTChamberId, DTDigiCollection, std::less< DTChamberId > > DTDigiMap
Definition: DTTrig.h:64
DTChamberId chamberId() const
Return the corresponding ChamberId.
DTTSTheta * TSThTrigs() const
Return the chamber Trigger Server (Theta)
Definition: DTSCTrigUnit.h:93
void clearCache()
Clear all BTI stuff (map & cache)
Definition: DTBtiCard.cc:85
DTTSPhi * TSPhTrigs() const
Return the chamber Trigger Server (Phi)
Definition: DTSCTrigUnit.h:90
TUcontainer _cache
Definition: DTTrig.h:254
DTSuperLayerId superlayerId() const
Return the corresponding SuperLayerId.
Definition: DTLayerId.h:45
void reconstruct() override
Load BTIs triggers and run TRACOs algorithm.
Definition: DTTracoCard.h:101
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:57
DTBtiCard * BtiTrigs() const
Return container of BTI triggers.
Definition: DTSCTrigUnit.h:84
void updateES(const edm::EventSetup &iSetup)
update the eventsetup info
Definition: DTTrig.cc:209
int sizeTh() const
Return Theta cache size.
Definition: DTSectColl.h:160
edm::InputTag _digitag
Definition: DTTrig.h:257
bool isValid() const
Definition: HandleBase.h:70
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:488
int sizePh() const
Return Phi cache size.
Definition: DTSectColl.h:151
DTDigiMap::iterator DTDigiMap_iterator
Definition: DTTrig.h:65
int sector() const
Definition: DTSectCollId.h:31
DTTracoCard * TracoTrigs() const
Return container of TRACO triggers.
Definition: DTSCTrigUnit.h:87
std::pair< const_iterator, const_iterator > Range
void clearCache()
Local position in chamber of a trigger-data object.
Definition: DTSectColl.h:172
bool _inputexist
Definition: DTTrig.h:259
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTSCTrigUnit.h:72
void clearCache()
Clear cache vector.
Definition: DTCache.h:47
DTTSPhi * getTSPhi(int istat) const
Return TSPhi.
Definition: DTSectColl.h:69
int size() const
Get cache vector&#39;s size.
Definition: DTCache.h:44
DTTSTheta * getTSTheta(int istat) const
Return TSTheta.
Definition: DTSectColl.h:72
DTSCTrigUnit * DTTrig::trigUnit ( DTChamberId  sid)

Return a trigger unit - Muon numbering.

Definition at line 247 of file DTTrig.cc.

References constTrigUnit().

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

247  { /*check();*/
248  return const_cast<DTSCTrigUnit*>(constTrigUnit(chid));
249 }
DTSCTrigUnit const * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:251
DTSCTrigUnit * DTTrig::trigUnit ( int  wheel,
int  stat,
int  sect 
)

Return a trigger unit - Muon numbering, MTTF numbering.

Definition at line 279 of file DTTrig.cc.

References constTrigUnit().

279  {
280  return const_cast<DTSCTrigUnit*>(constTrigUnit(wheel, stat, sect));
281 }
DTSCTrigUnit const * constTrigUnit(DTChamberId sid) const
Return a trigger unit - Muon numbering - const version.
Definition: DTTrig.cc:251
std::vector< DTChambPhSegm > DTTrig::TSPhTrigs ( ) const

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

Definition at line 442 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().

442  {
443  /*check();*/
444  std::vector<DTChambPhSegm> trigs;
445  for (auto ptu = _cache.begin(); ptu != _cache.end(); ptu++) {
446  const DTSCTrigUnit& tu = (*ptu).second;
447  auto peb = tu.TSPhTrigs()->end();
448  for (auto p = tu.TSPhTrigs()->begin(); p != peb; p++) {
449  trigs.push_back(*p);
450  }
451  }
452  return trigs;
453 }
DTTSPhi * TSPhTrigs() const
Return the chamber Trigger Server (Phi)
Definition: DTSCTrigUnit.h:90
TUcontainer _cache
Definition: DTTrig.h:254
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:38
const_iterator end() const
Get last cache element.
Definition: DTCache.h:41
std::vector< DTChambThSegm > DTTrig::TSThTrigs ( ) const

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

Definition at line 455 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().

455  {
456  /*check();*/
457  std::vector<DTChambThSegm> trigs;
458  for (auto ptu = _cache.begin(); ptu != _cache.end(); ptu++) {
459  const DTSCTrigUnit& tu = (*ptu).second;
460  auto peb = tu.TSThTrigs()->end();
461  for (auto p = tu.TSThTrigs()->begin(); p != peb; p++) {
462  trigs.push_back(*p);
463  }
464  }
465  return trigs;
466 }
DTTSTheta * TSThTrigs() const
Return the chamber Trigger Server (Theta)
Definition: DTSCTrigUnit.h:93
TUcontainer _cache
Definition: DTTrig.h:254
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:38
const_iterator end() const
Get last cache element.
Definition: DTCache.h:41
void DTTrig::updateES ( const edm::EventSetup iSetup)

update the eventsetup info

Definition at line 209 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().

209  {
210  // Check for updatets in config
212  edm::ESHandle<DTGeometry> geomHandle;
213 
214  if (iSetup.get<DTConfigManagerRcd>().cacheIdentifier() != _configid) {
215  if (_debug)
216  std::cout << "DTTrig::updateES updating DTTPG configuration" << std::endl;
217 
218  _configid = iSetup.get<DTConfigManagerRcd>().cacheIdentifier();
219  iSetup.get<DTConfigManagerRcd>().get(confHandle);
220  _conf_manager = confHandle.product();
221  for (TU_iterator it = _cache.begin(); it != _cache.end(); it++) {
222  (*it).second.setConfig(_conf_manager);
223  }
224  for (SC_iterator it = _cache1.begin(); it != _cache1.end(); it++) {
225  (*it).second.setConfig(_conf_manager);
226  }
227  }
228 
229  if (iSetup.get<MuonGeometryRecord>().cacheIdentifier() != _configid) {
230  if (_debug)
231  std::cout << "DTTrig::updateES updating muon geometry" << std::endl;
232 
233  _geomid = iSetup.get<MuonGeometryRecord>().cacheIdentifier();
234  iSetup.get<MuonGeometryRecord>().get(geomHandle);
235  for (TU_iterator it = _cache.begin(); it != _cache.end(); it++) {
236  (*it).second.setGeom(geomHandle->chamber((*it).second.statId()));
237  }
238  }
239 }
unsigned long long cacheIdentifier() const
SCcontainer::iterator SC_iterator
Definition: DTTrig.h:60
SCcontainer _cache1
Definition: DTTrig.h:255
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
Definition: DTGeometry.cc:90
bool _debug
Definition: DTTrig.h:258
TUcontainer _cache
Definition: DTTrig.h:254
TUcontainer::iterator TU_iterator
Definition: DTTrig.h:57
unsigned long long _geomid
Definition: DTTrig.h:262
const DTConfigManager * _conf_manager
Definition: DTTrig.h:256
T get() const
Definition: EventSetup.h:73
T const * product() const
Definition: ESHandle.h:86
unsigned long long _configid
Definition: DTTrig.h:261

Member Data Documentation

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

Definition at line 256 of file DTTrig.h.

Referenced by getBXOffset(), and updateES().

unsigned long long DTTrig::_configid
private

Definition at line 261 of file DTTrig.h.

Referenced by updateES().

bool DTTrig::_debug
private

Definition at line 258 of file DTTrig.h.

Referenced by createTUs(), DTTrig(), and updateES().

edm::InputTag DTTrig::_digitag
private

Definition at line 257 of file DTTrig.h.

Referenced by DTTrig(), and triggerReco().

unsigned long long DTTrig::_geomid
private

Definition at line 262 of file DTTrig.h.

Referenced by updateES().

bool DTTrig::_inputexist
private

Definition at line 259 of file DTTrig.h.

Referenced by triggerReco().