CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
DTTracoCard Class Reference

#include <DTTracoCard.h>

Inheritance diagram for DTTracoCard:
DTCache< T, Coll > DTGeomSupplier

Public Member Functions

void clearCache ()
 Clear all traco stuff (cache & map) More...
 
const DTConfigLUTsconfig_luts () const
 Return LUTS config for this chamber (=minicrate) More...
 
bool debug ()
 Return TU debug flag. More...
 
 DTTracoCard (DTTrigGeom *, DTBtiCard *, DTTSTheta *)
 Constructor. More...
 
DTTracoChipgetTRACO (int n) const
 Returns the required DTTracoChip. Return 0 if it doesn't exist. More...
 
DTTracoChipgetTRACO (const DTTracoId &tracoid) const
 Returns the required DTTracoChip. Return 0 if it doesn't exist. More...
 
LocalVector localDirection (const DTTrigData *) const override
 NEWGEO Local direction in chamber of a trigger-data object. More...
 
LocalPoint localPosition (const DTTrigData *) const override
 NEWGEO Local position in chamber of a trigger-data object. More...
 
bool lutFromDBFlag ()
 Return lut computation option (DB/geometry) More...
 
void reconstruct () override
 Load BTIs triggers and run TRACOs algorithm. More...
 
void setConfig (const DTConfigManager *conf)
 Set configuration. More...
 
DTTracoTrigstoreTrigger (DTTracoTrigData)
 
std::vector< DTTracoChip * > tracoList ()
 Returns the active TRACO list. More...
 
DTTSThetaTSTh () const
 Return TSTheta. More...
 
bool useAcceptParamFlag ()
 Return acceptance flag. More...
 
 ~DTTracoCard () override
 Destructor. More...
 
- Public Member Functions inherited from DTCache< T, Coll >
const_iterator begin () const
 Get first cache element. More...
 
void clearCache ()
 Clear cache vector. More...
 
 DTCache ()
 Constructor. More...
 
const_iterator end () const
 Get last cache element. More...
 
int size () const
 Get cache vector's size. More...
 
virtual ~DTCache ()
 Destructor. More...
 
- Public Member Functions inherited from DTGeomSupplier
DTChamberId ChamberId () const
 Identifier of the associated chamber. More...
 
GlobalVector CMSDirection (const DTTrigData *trig) const
 CMS direction in chamber of a trigger -data object. More...
 
GlobalPoint CMSPosition (const DTTrigData *trig) const
 CMS position in chamber of a trigger-data object. More...
 
 DTGeomSupplier (DTTrigGeom *geom)
 Constructor. More...
 
DTTrigGeomgeom () const
 Associated geometry. More...
 
virtual void print (const DTTrigData *trig) const
 Print a trigger-data object with also local and global position/direction. More...
 
int sector () const
 Return sector number. More...
 
const DTChamberstat () const
 Associated chamber. More...
 
int station () const
 Return station number. More...
 
int wheel () const
 Return wheel number. More...
 
virtual ~DTGeomSupplier ()
 Destructor. More...
 

Private Member Functions

DTTracoChipactiveGetTRACO (int)
 Returns the required DTTracoChip. Create it if it doesn't exist. More...
 
DTTracoChipactiveGetTRACO (const DTTracoId &tracoid)
 Returns the required DTTracoChip. Create it if it doesn't exist. More...
 
DTConfigTracoconfig_traco (const DTTracoId &tracoid) const
 Return single TRACO config. More...
 
void loadTRACO ()
 store BTI triggers in TRACO's More...
 
void localClear ()
 clear the TRACO map More...
 
void runTRACO ()
 run TRACO algorithm More...
 

Private Attributes

DTBtiCard_bticard
 
const DTConfigLUTs_conf_luts
 
ConfTracoMap _conf_traco_map
 
bool _debug
 
bool _flag_acc
 
bool _lut_from_db
 
TRACOContainer _tracomap
 
DTTSTheta_tstheta
 

Additional Inherited Members

- Public Types inherited from DTCache< T, Coll >
typedef
my_collection::const_iterator 
const_iterator
 
typedef my_collection::iterator iterator
 
typedef Coll my_collection
 
typedef T my_type
 
- Protected Attributes inherited from DTCache< T, Coll >
my_collection _cache
 
- Protected Attributes inherited from DTGeomSupplier
DTTrigGeom_geom
 

Detailed Description

Contains active DTTracoChips

Author
C. Grandi, S. Vanini

Modifications: III/07 : SV configuration with DTConfigManager

Definition at line 58 of file DTTracoCard.h.

Constructor & Destructor Documentation

DTTracoCard::DTTracoCard ( DTTrigGeom geo,
DTBtiCard bticard,
DTTSTheta tstheta 
)

Constructor.

Definition at line 48 of file DTTracoCard.cc.

49  : DTGeomSupplier(geo), _bticard(bticard), _tstheta(tstheta) {}
DTTSTheta * _tstheta
Definition: DTTracoCard.h:137
DTBtiCard * _bticard
Definition: DTTracoCard.h:136
DTGeomSupplier(DTTrigGeom *geom)
Constructor.
DTTracoCard::~DTTracoCard ( )
override

Destructor.

Definition at line 55 of file DTTracoCard.cc.

References localClear().

55 { localClear(); }
void localClear()
clear the TRACO map
Definition: DTTracoCard.cc:84

Member Function Documentation

DTTracoChip * DTTracoCard::activeGetTRACO ( int  n)
private

Returns the required DTTracoChip. Create it if it doesn't exist.

Definition at line 270 of file DTTracoCard.cc.

References _tracomap, config_traco(), DTGeomSupplier::geom(), dqmiodumpmetadata::n, and DTTrigGeom::statId().

Referenced by loadTRACO(), and storeTrigger().

270  {
271  // the traco identifier
272  DTChamberId sid = geom()->statId();
273  DTTracoId _id = DTTracoId(sid, n);
274 
275  DTTracoChip *traco = nullptr;
276  TRACO_iter ptraco = _tracomap.find(n);
277  if (ptraco != _tracomap.end()) {
278  traco = (*ptraco).second;
279  } else {
280  traco = new DTTracoChip(this, n, config_traco(_id));
281  _tracomap[n] = traco;
282  }
283  return traco;
284 }
DTTrigGeom * geom() const
Associated geometry.
TRACOContainer _tracomap
Definition: DTTracoCard.h:139
TRACOContainer::iterator TRACO_iter
Definition: DTTracoCard.h:52
DTConfigTraco * config_traco(const DTTracoId &tracoid) const
Return single TRACO config.
Definition: DTTracoCard.cc:436
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:53
DTTracoChip* DTTracoCard::activeGetTRACO ( const DTTracoId tracoid)
inlineprivate

Returns the required DTTracoChip. Create it if it doesn't exist.

Definition at line 127 of file DTTracoCard.h.

References activeGetTRACO(), and DTTracoId::traco().

Referenced by activeGetTRACO().

127 { return activeGetTRACO(tracoid.traco()); }
DTTracoChip * activeGetTRACO(int)
Returns the required DTTracoChip. Create it if it doesn&#39;t exist.
Definition: DTTracoCard.cc:270
int traco() const
Returns the traco.
Definition: DTTracoId.h:59
void DTTracoCard::clearCache ( )

Clear all traco stuff (cache & map)

Definition at line 61 of file DTTracoCard.cc.

References DTCache< T, Coll >::clearCache(), and localClear().

Referenced by reconstruct(), and DTTrig::triggerReco().

61  {
63  localClear();
64 }
void localClear()
clear the TRACO map
Definition: DTTracoCard.cc:84
void clearCache()
Clear cache vector.
Definition: DTCache.h:47
const DTConfigLUTs* DTTracoCard::config_luts ( ) const
inline

Return LUTS config for this chamber (=minicrate)

Definition at line 108 of file DTTracoCard.h.

References _conf_luts.

Referenced by DTTracoChip::DTTracoChip().

108 { return _conf_luts; }
const DTConfigLUTs * _conf_luts
Definition: DTTracoCard.h:142
DTConfigTraco * DTTracoCard::config_traco ( const DTTracoId tracoid) const
private

Return single TRACO config.

Definition at line 436 of file DTTracoCard.cc.

References _conf_traco_map, gather_cfg::cout, DTTracoId::sector(), DTTracoId::station(), DTTracoId::traco(), and DTTracoId::wheel().

Referenced by activeGetTRACO(), localDirection(), and localPosition().

436  {
437  // loop on map to find traco
438  ConfTracoMap::const_iterator titer = _conf_traco_map.find(tracoid);
439  if (titer == _conf_traco_map.end()) {
440  std::cout << "DTTracoCard::config_traco : TRACO (" << tracoid.wheel() << "," << tracoid.sector() << ","
441  << tracoid.station() << "," << tracoid.traco() << ") not found, return 0" << std::endl;
442  return nullptr;
443  }
444 
445  return const_cast<DTConfigTraco *>(&(*titer).second);
446 }
int sector() const
Returns sector number.
Definition: DTTracoId.h:57
int traco() const
Returns the traco.
Definition: DTTracoId.h:59
ConfTracoMap _conf_traco_map
Definition: DTTracoCard.h:140
int station() const
Returns station number.
Definition: DTTracoId.h:55
int wheel() const
Returns wheel number.
Definition: DTTracoId.h:53
tuple cout
Definition: gather_cfg.py:144
bool DTTracoCard::debug ( )
inline

Return TU debug flag.

Definition at line 74 of file DTTracoCard.h.

References _debug.

Referenced by loadTRACO(), localDirection(), and runTRACO().

74 { return _debug; }
DTTracoChip * DTTracoCard::getTRACO ( int  n) const

Returns the required DTTracoChip. Return 0 if it doesn't exist.

Definition at line 286 of file DTTracoCard.cc.

References _tracomap.

Referenced by DTTracoChip::setFlag().

286  {
287  TRACO_const_iter ptraco = _tracomap.find(n);
288  if (ptraco == _tracomap.end())
289  return nullptr;
290  return (*ptraco).second;
291 }
TRACOContainer _tracomap
Definition: DTTracoCard.h:139
TRACOContainer::const_iterator TRACO_const_iter
Definition: DTTracoCard.h:51
DTTracoChip* DTTracoCard::getTRACO ( const DTTracoId tracoid) const
inline

Returns the required DTTracoChip. Return 0 if it doesn't exist.

Definition at line 83 of file DTTracoCard.h.

References getTRACO(), and DTTracoId::traco().

Referenced by getTRACO().

83 { return getTRACO(tracoid.traco()); }
DTTracoChip * getTRACO(int n) const
Returns the required DTTracoChip. Return 0 if it doesn&#39;t exist.
Definition: DTTracoCard.cc:286
int traco() const
Returns the traco.
Definition: DTTracoId.h:59
void DTTracoCard::loadTRACO ( )
private

store BTI triggers in TRACO's

Definition at line 92 of file DTTracoCard.cc.

References _bticard, _flag_acc, activeGetTRACO(), DTTracoChip::add_btiT(), DTCache< T, Coll >::begin(), reco::ceil(), DTConfigBti::CH(), DTConfigBti::CL(), DTBtiCard::config_bti(), gather_cfg::cout, debug(), DTCache< T, Coll >::end(), DTGeomSupplier::geom(), DTConfigBti::LH(), mkfit::LL, DTConfigBti::LL(), localClear(), DTConfig::NBTITC, AlCaHLTBitMon_ParallelJobs::p, DTConfigBti::RH(), DTConfigBti::RL(), DTGeomSupplier::sector(), DTGeomSupplier::station(), and DTGeomSupplier::wheel().

Referenced by reconstruct().

92  {
93  localClear();
94 
95  if (debug()) {
96  std::cout << "DTTracoCard::loadTRACO called for wheel=" << wheel();
97  std::cout << ", station=" << station();
98  std::cout << ", sector=" << sector() << std::endl;
99  }
100 
101  int maxtc = int(ceil(float(geom()->nCell(1)) / float(DTConfig::NBTITC)));
102 
103  // loop on all BTI triggers
104  std::vector<DTBtiTrigData>::const_iterator p;
105  std::vector<DTBtiTrigData>::const_iterator pend = _bticard->end();
106  for (p = _bticard->begin(); p != pend; p++) {
107  if (debug()) {
108  std::cout << "Found bti trigger: ";
109  (*p).print();
110  }
111 
112  // BTI data
113  int nbti = (*p).btiNumber();
114  int nsl = (*p).btiSL();
115  int step = (*p).step();
116  int K = (*p).K();
117  DTBtiId id_bti = (*p).parentId();
118 
119  DTConfigBti *conf_bti = _bticard->config_bti(id_bti);
120  int LL = conf_bti->LL();
121  int LH = conf_bti->LH();
122  int CL = conf_bti->CL();
123  int CH = conf_bti->CH();
124  int RL = conf_bti->RL();
125  int RH = conf_bti->RH();
126  /*
127  if(debug())
128  std::cout << "Bti trigger acceptances: \n"
129  << " LL " << LL << ", LH " << LH << "\n"
130  << " CL " << CL << ", CH " << CH << "\n"
131  << " RL " << RL << ", RH " << RH << std::endl;
132  */
133  // assign BTI to TRACO (central TRACO for sl=3); ntc=1,2...maxtc
134  int ntc = static_cast<int>((nbti - 1) / DTConfig::NBTITC) + 1;
135  if (ntc < 1 || ntc > maxtc)
136  continue;
137 
138  if (debug())
139  std::cout << "Bti trigger assigned to traco " << ntc << " (maxtc " << maxtc << ")" << std::endl;
140 
141  // TRACO information
142  DTTracoId tracoid = DTTracoId(wheel(), station(), sector(), ntc);
143 
144  // position inside TRACO:
145  int pos = nbti - (ntc - 1) * DTConfig::NBTITC;
146 
147  // store trigger in TRACO. Create TRACO if it doesn't exist
148  // SV tb2003 : check if traco is connected!
149 
150  // SV 091103 : add bti trigger filtering in acceptance windows
151  // if flag is useAcceptParam() = true
152 
153  // Load master TRACO plane
154  if (nsl == 1) {
155  if (!_flag_acc || (K >= CL && K <= CH))
156  activeGetTRACO(ntc)->add_btiT(step, pos, &(*p));
157  else if (debug())
158  std::cout << "ATTENTION: in TRACO n. " << ntc << " bti pos " << pos << " trigger K= " << K
159  << " outside acceptance " << CL << "<K<" << CH << std::endl;
160  }
161 
162  // Load slave TRACO plane
163  if (nsl == 3) {
164  // 3 TRACO's
165  // for(int tci=-1;tci<=1;tci++) {
166  // if( (ntc+tci)>0 && (ntc+tci)<=maxtc )
167  // activeGetTRACO(ntc+tci)->add_btiT( step, pos+8-4*tci, &(*p) );
168  // else{
169  // if(debug())
170  // std::cout << "ATTENTION: traco " << ntc+tci << " is disconnected!"
171  // << std::endl;
172  // }
173 
174  // Left Traco
175  if ((ntc - 1) > 0 && (ntc - 1) <= maxtc) {
176  if (!_flag_acc || (K >= LL && K <= LH)) {
177  activeGetTRACO(ntc - 1)->add_btiT(step, pos + 8 - 4 * (-1), &(*p));
178  } else {
179  if (debug()) {
180  std::cout << "ATTENTION: in TRACO n. " << ntc - 1 << " bti pos " << pos + 8 - 4 * (-1)
181  << " trigger K= " << K << " outside acceptance " << LL << "<K<" << LH << std::endl;
182  }
183  }
184  }
185 
186  // Central Traco
187  if ((ntc) > 0 && (ntc) <= maxtc) {
188  if (!_flag_acc || (K >= CL && K <= CH)) {
189  activeGetTRACO(ntc)->add_btiT(step, pos + 8 - 4 * (0), &(*p));
190  } else {
191  if (debug())
192  std::cout << "ATTENTION: in TRACO n. " << ntc << " bti pos " << pos + 8 - 4 * (0) << " trigger K= " << K
193  << " outside acceptance " << CL << "<K<" << CH << std::endl;
194  }
195  }
196 
197  // Right Traco
198  if ((ntc + 1) > 0 && (ntc + 1) <= maxtc) {
199  if (!_flag_acc || (K >= RL && K <= RH)) {
200  activeGetTRACO(ntc + 1)->add_btiT(step, pos + 8 - 4 * (+1), &(*p));
201  } else {
202  if (debug())
203  std::cout << "ATTENTION: in TRACO n. " << ntc + 1 << " bti pos " << pos + 8 - 4 * (+1)
204  << " trigger K= " << K << " outside acceptance " << RL << "<K<" << RH << std::endl;
205  }
206  }
207  }
208 
209  // Filter Theta BTIs -> this is done in DTBtiChip
210 
211  } // end loop on bti trigs
212 }
constexpr int32_t ceil(float num)
DTConfigBti * config_bti(DTBtiId &btiid) const
Return bti chip configuration.
Definition: DTBtiCard.cc:637
int RL() const
K left limit for right traco.
Definition: DTConfigBti.h:112
DTTrigGeom * geom() const
Associated geometry.
int sector() const
Return sector number.
DTTracoChip * activeGetTRACO(int)
Returns the required DTTracoChip. Create it if it doesn&#39;t exist.
Definition: DTTracoCard.cc:270
int CH() const
K right limit for center traco.
Definition: DTConfigBti.h:109
void add_btiT(int step, int pos, const DTBtiTrigData *btitrig)
Add a BTI trigger to the TRACO.
Definition: DTTracoChip.cc:962
constexpr Matriplex::idx_t LL
Definition: Matrix.h:45
int station() const
Return station number.
bool _flag_acc
Definition: DTTracoCard.h:146
void localClear()
clear the TRACO map
Definition: DTTracoCard.cc:84
int LL() const
K left limit for left traco.
Definition: DTConfigBti.h:100
int wheel() const
Return wheel number.
DTBtiCard * _bticard
Definition: DTTracoCard.h:136
bool debug()
Return TU debug flag.
Definition: DTTracoCard.h:74
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:38
int LH() const
K right limit for left traco.
Definition: DTConfigBti.h:103
int RH() const
K right limit for right traco.
Definition: DTConfigBti.h:115
tuple cout
Definition: gather_cfg.py:144
step
Definition: StallMonitor.cc:98
int CL() const
K left limit for center traco.
Definition: DTConfigBti.h:106
static const int NBTITC
Definition: DTConfig.h:37
const_iterator end() const
Get last cache element.
Definition: DTCache.h:41
void DTTracoCard::localClear ( )
private

clear the TRACO map

Definition at line 84 of file DTTracoCard.cc.

References _tracomap, and AlCaHLTBitMon_ParallelJobs::p.

Referenced by clearCache(), loadTRACO(), and ~DTTracoCard().

84  {
85  // Clear the map
86  for (TRACO_iter p = _tracomap.begin(); p != _tracomap.end(); p++) {
87  delete (*p).second;
88  }
89  _tracomap.clear();
90 }
TRACOContainer _tracomap
Definition: DTTracoCard.h:139
TRACOContainer::iterator TRACO_iter
Definition: DTTracoCard.h:52
LocalVector DTTracoCard::localDirection ( const DTTrigData tr) const
overridevirtual

NEWGEO Local direction in chamber of a trigger-data object.

Implements DTGeomSupplier.

Definition at line 403 of file DTTracoCard.cc.

References DTTrigGeom::cellPitch(), config_traco(), funct::cos(), gather_cfg::cout, debug(), DTTrigGeom::distSL(), DTGeomSupplier::geom(), DTTracoTrigData::K(), DTTracoTrigData::parentId(), and funct::sin().

Referenced by DTTracoChip::calculateAngles(), and DTTSPhi::localDirection().

403  {
404  // NEWGEO
405  DTTracoTrigData *trig = dynamic_cast<DTTracoTrigData *>(const_cast<DTTrigData *>(tr));
406  if (!trig) {
407  std::cout << "DTtracoCard::localDirection called with wrong argument!" << std::endl;
408  return LocalVector(0, 0, 0);
409  }
410 
411  // FE position
412  // int FE = geom()->posFE(3);
413 
414  float psi =
415  atan((float)(trig->K()) * geom()->cellPitch() / (geom()->distSL() * config_traco(trig->parentId())->BTIC()));
416 
417  if (config_traco(trig->parentId())->debug() == 4)
418  std::cout << "K " << trig->K() << " == psi " << psi << " in FE frame " << std::endl;
419 
420  // (xd,yd,zd) in chamber frame
421  float xd = -sin(psi);
422  float yd = 0;
423  float zd = -cos(psi);
424 
425  // 10/07/06 Not needed anymore (chages in geometry)
426  // if(FE==1){//FE in negative y
427  // xd = - xd;
428  //}
429 
430  if (config_traco(trig->parentId())->debug() == 4)
431  std::cout << "Direction in chamber frame is (" << xd << "," << yd << "," << zd << ")" << std::endl;
432 
433  return LocalVector(xd, yd, zd);
434 }
DTTrigGeom * geom() const
Associated geometry.
Local3DVector LocalVector
Definition: LocalVector.h:12
float cellPitch() const
Width of a cell (cm) i.e. distance between ywo wires.
Definition: DTTrigGeom.h:76
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
std::map< std::string, int, std::less< std::string > > psi
float distSL() const
Distance between the phi view superlayers (cms)
Definition: DTTrigGeom.h:79
DTTracoId parentId() const
Return parent TRACO identifier.
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
bool debug()
Return TU debug flag.
Definition: DTTracoCard.h:74
DTConfigTraco * config_traco(const DTTracoId &tracoid) const
Return single TRACO config.
Definition: DTTracoCard.cc:436
int K() const
Return trigger K parameter.
tuple cout
Definition: gather_cfg.py:144
LocalPoint DTTracoCard::localPosition ( const DTTrigData tr) const
overridevirtual

NEWGEO Local position in chamber of a trigger-data object.

Implements DTGeomSupplier.

Definition at line 351 of file DTTracoCard.cc.

References DTTrigGeom::cellPitch(), config_traco(), gather_cfg::cout, DTTrigGeom::distSL(), DTGeomSupplier::geom(), DTTrigGeom::localPosition(), DTTracoTrigData::parentId(), DTTracoTrigData::posIn(), DTTracoTrigData::posOut(), x, DTTracoTrigData::X(), y, and z.

Referenced by DTTSPhi::localPosition().

351  {
352  // NEWGEO
353  DTTracoTrigData *trig = dynamic_cast<DTTracoTrigData *>(const_cast<DTTrigData *>(tr));
354  if (!trig) {
355  std::cout << "DTTracoCard::localPosition called with wrong argument!" << std::endl;
356  return LocalPoint(0, 0, 0);
357  }
358  float x = geom()->localPosition(trig->parentId()).x();
359  float y = geom()->localPosition(trig->parentId()).y();
360  float z = geom()->localPosition(trig->parentId()).z();
361 
362  float trig_pos = geom()->cellPitch() * ((float)trig->X() / (float)(config_traco(trig->parentId())->BTIC()));
363 
364  // 10/7/06 May be not needed anymore in new geometry
365  // if(geom()->posFE(1)==1)
366  // trig_pos = -trig_pos;
367 
368  x += trig_pos;
369 
370  // If not correlated get the position of the SL instead of the chamber center
371  // z axis toward vertex
372  if (trig->posIn() == 0) {
373  z -= 0.5 * geom()->distSL(); // no inner ==> only outer
374  } else if (trig->posOut() == 0) {
375  z += 0.5 * geom()->distSL(); // no outer ==> only inner
376  }
377  return LocalPoint(x, y, z);
378 }
DTTrigGeom * geom() const
Associated geometry.
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
float cellPitch() const
Width of a cell (cm) i.e. distance between ywo wires.
Definition: DTTrigGeom.h:76
int posIn() const
Return the position of inner segment.
int posOut() const
Return the position of outer segment.
int X() const
Return trigger X parameter.
float distSL() const
Distance between the phi view superlayers (cms)
Definition: DTTrigGeom.h:79
DTTracoId parentId() const
Return parent TRACO identifier.
DTConfigTraco * config_traco(const DTTracoId &tracoid) const
Return single TRACO config.
Definition: DTTracoCard.cc:436
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:508
tuple cout
Definition: gather_cfg.py:144
bool DTTracoCard::lutFromDBFlag ( )
inline

Return lut computation option (DB/geometry)

Definition at line 114 of file DTTracoCard.h.

References _lut_from_db.

Referenced by DTTracoChip::calculateAngles(), DTTracoChip::DTTracoChip(), and DTTracoChip::~DTTracoChip().

114 { return _lut_from_db; }
bool _lut_from_db
Definition: DTTracoCard.h:147
void DTTracoCard::reconstruct ( )
inlineoverridevirtual

Load BTIs triggers and run TRACOs algorithm.

Reimplemented from DTCache< T, Coll >.

Definition at line 101 of file DTTracoCard.h.

References clearCache(), loadTRACO(), and runTRACO().

Referenced by DTTrig::triggerReco().

101  {
102  clearCache();
103  loadTRACO();
104  runTRACO();
105  }
void clearCache()
Clear all traco stuff (cache &amp; map)
Definition: DTTracoCard.cc:61
void runTRACO()
run TRACO algorithm
Definition: DTTracoCard.cc:214
void loadTRACO()
store BTI triggers in TRACO&#39;s
Definition: DTTracoCard.cc:92
void DTTracoCard::runTRACO ( )
private

run TRACO algorithm

Definition at line 214 of file DTTracoCard.cc.

References DTCache< T, Coll >::_cache, _tracomap, gather_cfg::cout, debug(), DTConfig::NSTEPF, DTConfig::NSTEPL, DTTracoChip::nTrig(), DTTracoChip::run(), DTGeomSupplier::sector(), DTGeomSupplier::station(), DTTracoChip::triggerData(), DTTracoChip::useSecondTrack(), and DTGeomSupplier::wheel().

Referenced by reconstruct().

214  {
215  if (debug()) {
216  std::cout << "DTTracoCard:runTRACO called for wheel=" << wheel();
217  std::cout << ", station=" << station();
218  std::cout << ", sector=" << sector();
219  std::cout << ", " << _tracomap.size() << " TRACOs with signal" << std::endl;
220  }
221 
222  // run TRACO algorithm on all non-empty TRACO
223  if (!_tracomap.empty()) {
224  if (debug()) {
225  std::cout << "====================================================" << std::endl;
226  std::cout << " TRACO triggers " << std::endl;
227  }
228 
229  TRACO_iter ptraco;
230  for (ptraco = _tracomap.begin(); ptraco != _tracomap.end(); ptraco++) {
231  DTTracoChip *traco = (*ptraco).second;
232  traco->run();
233  for (int step = DTConfig::NSTEPF; step <= DTConfig::NSTEPL; step++) {
234  if (traco->nTrig(step) > 0) {
235  _cache.push_back(traco->triggerData(step, 1));
236  /*
237  std::cout<<"first bti sl3:
238  "<<geom()->localPosition(DTBtiId(wheel(),station(),sector(),3,1))<<std::endl;
239  std::cout<<"traco pos: " <<
240  geom()->localPosition((traco->triggerData(step,1).parentId()))<<std::endl;
241  traco->triggerData(step,1).print();
242  std::cout<<"pos: " << localPosition(&(traco->triggerData(step,1))) <<
243  std::endl; std::cout<<"dir: " <<
244  localDirection(&(traco->triggerData(step,1))) << std::endl; std::cout
245  << std::endl;
246  */
247  }
248  // Store second track only if no first track at previous BX
249  if (traco->nTrig(step) > 1 && traco->useSecondTrack(step)) {
250  _cache.push_back(traco->triggerData(step, 2));
251  /*
252  std::cout<<"first bti sl3:
253  "<<geom()->localPosition(DTBtiId(wheel(),station(),sector(),3,1))<<std::endl;
254  std::cout<<"traco pos: " <<
255  geom()->localPosition((traco->triggerData(step,2).parentId()))<<std::endl;
256  traco->triggerData(step,2).print();
257  std::cout<<"pos: " << localPosition(&(traco->triggerData(step,2))) <<
258  std::endl; std::cout<<"dir: " <<
259  localDirection(&(traco->triggerData(step,2))) << std::endl; std::cout
260  << std::endl;
261  */
262  }
263  }
264  }
265  if (debug())
266  std::cout << "====================================================" << std::endl;
267  }
268 }
my_collection _cache
Definition: DTCache.h:53
void run()
Run TRACO algorithm.
Definition: DTTracoChip.cc:239
TRACOContainer _tracomap
Definition: DTTracoCard.h:139
int sector() const
Return sector number.
static const int NSTEPF
Definition: DTConfig.h:35
TRACOContainer::iterator TRACO_iter
Definition: DTTracoCard.h:52
int station() const
Return station number.
int wheel() const
Return wheel number.
bool debug()
Return TU debug flag.
Definition: DTTracoCard.h:74
static const int NSTEPL
Constants: first and last step to start trigger finding.
Definition: DTConfig.h:35
DTTracoTrigData triggerData(int step, unsigned n) const
Return the data part of the requested trigger.
tuple cout
Definition: gather_cfg.py:144
int useSecondTrack(int step) const
a flag for a usable second track
step
Definition: StallMonitor.cc:98
int nTrig(int step) const
Return the number of trigger candidates.
void DTTracoCard::setConfig ( const DTConfigManager conf)

Set configuration.

Definition at line 66 of file DTTracoCard.cc.

References _conf_luts, _conf_traco_map, _debug, _flag_acc, _lut_from_db, DTGeomSupplier::ChamberId(), DTConfigManager::getDTConfigLUTs(), DTConfigManager::getDTConfigTracoMap(), DTConfigManager::getDTTPGDebug(), DTConfigManager::lutFromDB(), and DTConfigManager::useAcceptParam().

Referenced by DTSCTrigUnit::setConfig().

66  {
67  // get traco configuration map
68  DTChamberId sid = ChamberId();
70  _debug = conf->getDTTPGDebug();
71 
72  // get bti acceptance flag
73  _flag_acc = conf->useAcceptParam();
74 
75  // get lut computation flag
76  _lut_from_db = conf->lutFromDB();
77 
78  // get lut configuration for this chamber
79  // 100511 SV only if luts are read from OMDS
80  if (_lut_from_db)
81  _conf_luts = conf->getDTConfigLUTs(sid);
82 }
const DTConfigLUTs * getDTConfigLUTs(DTChamberId) const
Get desired LUT configuration.
bool _flag_acc
Definition: DTTracoCard.h:146
ConfTracoMap _conf_traco_map
Definition: DTTracoCard.h:140
DTChamberId ChamberId() const
Identifier of the associated chamber.
bool _lut_from_db
Definition: DTTracoCard.h:147
bool getDTTPGDebug() const
Get global debug flag.
const std::map< DTTracoId, DTConfigTraco > & getDTConfigTracoMap(DTChamberId) const
Get desired TRACO configuration map for a given DTChamber.
bool lutFromDB() const
Lut from DB flag.
const DTConfigLUTs * _conf_luts
Definition: DTTracoCard.h:142
bool useAcceptParam() const
Use Bti acceptance parameters (LL,LH,CL,CH,RL,RH)
DTTracoTrig * DTTracoCard::storeTrigger ( DTTracoTrigData  td)

Returns a DTTracoTrig corresponding to a DTTracoTrigData. Creates the corresponding TRACO chip if needed and stores the trigger

Definition at line 305 of file DTTracoCard.cc.

References activeGetTRACO(), DTTracoChip::addTrig(), gather_cfg::cout, DTTracoTrigData::parentId(), DTTracoId::sector(), DTGeomSupplier::sector(), DTTracoId::station(), DTGeomSupplier::station(), DTTracoTrigData::step(), DTTracoId::traco(), DTTracoId::wheel(), and DTGeomSupplier::wheel().

305  {
306  DTTracoId tracoid = td.parentId();
307  if (!(tracoid.wheel() == wheel() && tracoid.sector() == sector() && tracoid.station() == station()))
308  return nullptr;
309  std::cout << "DTTracoChip::trigger: trigger not belonging to this card! ";
310  std::cout << "card=(" << wheel() << "," << station() << "," << sector() << ") ";
311  std::cout << "trig=(" << tracoid.wheel() << "," << tracoid.station() << "," << tracoid.sector() << ")";
312  // get the appropriate Traco
313  DTTracoChip *traco = activeGetTRACO(tracoid.traco());
314  // create a new trigger in the Traco
315  DTTracoTrig *trig = new DTTracoTrig(traco, td);
316  // add the trigger to the Traco
317  traco->addTrig(td.step(), trig);
318  // return the trigger
319  return trig;
320 }
int sector() const
Return sector number.
void addTrig(int step, DTTracoTrig *)
Add a TRACO trigger.
DTTracoChip * activeGetTRACO(int)
Returns the required DTTracoChip. Create it if it doesn&#39;t exist.
Definition: DTTracoCard.cc:270
int step() const
Return step.
int sector() const
Returns sector number.
Definition: DTTracoId.h:57
int station() const
Return station number.
int traco() const
Returns the traco.
Definition: DTTracoId.h:59
int station() const
Returns station number.
Definition: DTTracoId.h:55
int wheel() const
Return wheel number.
DTTracoId parentId() const
Return parent TRACO identifier.
int wheel() const
Returns wheel number.
Definition: DTTracoId.h:53
tuple cout
Definition: gather_cfg.py:144
std::vector< DTTracoChip * > DTTracoCard::tracoList ( )

Returns the active TRACO list.

Definition at line 293 of file DTTracoCard.cc.

References _tracomap, AlCaHLTBitMon_ParallelJobs::p, and DTCache< T, Coll >::size().

293  {
294  std::vector<DTTracoChip *> blist;
295 
296  if (size() < 1)
297  return blist;
298 
299  for (TRACO_const_iter p = _tracomap.begin(); p != _tracomap.end(); p++) {
300  blist.push_back((*p).second);
301  }
302  return blist;
303 }
TRACOContainer _tracomap
Definition: DTTracoCard.h:139
TRACOContainer::const_iterator TRACO_const_iter
Definition: DTTracoCard.h:51
int size() const
Get cache vector&#39;s size.
Definition: DTCache.h:44
DTTSTheta* DTTracoCard::TSTh ( ) const
inline

Return TSTheta.

Definition at line 77 of file DTTracoCard.h.

References _tstheta.

Referenced by DTTracoChip::storeUncorr().

77 { return _tstheta; }
DTTSTheta * _tstheta
Definition: DTTracoCard.h:137
bool DTTracoCard::useAcceptParamFlag ( )
inline

Return acceptance flag.

Definition at line 111 of file DTTracoCard.h.

References _flag_acc.

Referenced by DTTracoChip::add_btiT().

111 { return _flag_acc; }
bool _flag_acc
Definition: DTTracoCard.h:146

Member Data Documentation

DTBtiCard* DTTracoCard::_bticard
private

Definition at line 136 of file DTTracoCard.h.

Referenced by loadTRACO().

const DTConfigLUTs* DTTracoCard::_conf_luts
private

Definition at line 142 of file DTTracoCard.h.

Referenced by config_luts(), and setConfig().

ConfTracoMap DTTracoCard::_conf_traco_map
private

Definition at line 140 of file DTTracoCard.h.

Referenced by config_traco(), and setConfig().

bool DTTracoCard::_debug
private

Definition at line 144 of file DTTracoCard.h.

Referenced by debug(), and setConfig().

bool DTTracoCard::_flag_acc
private

Definition at line 146 of file DTTracoCard.h.

Referenced by loadTRACO(), setConfig(), and useAcceptParamFlag().

bool DTTracoCard::_lut_from_db
private

Definition at line 147 of file DTTracoCard.h.

Referenced by lutFromDBFlag(), and setConfig().

TRACOContainer DTTracoCard::_tracomap
private

Definition at line 139 of file DTTracoCard.h.

Referenced by activeGetTRACO(), getTRACO(), localClear(), runTRACO(), and tracoList().

DTTSTheta* DTTracoCard::_tstheta
private

Definition at line 137 of file DTTracoCard.h.

Referenced by TSTh().