CMS 3D CMS Logo

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

#include <DTBtiCard.h>

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

Public Member Functions

std::vector< DTBtiChip * > btiList (int)
 Returns the active BTI list in a given superlayer. More...
 
void clearCache ()
 Clear all BTI stuff (map & cache) More...
 
DTConfigBticonfig_bti (DTBtiId &btiid) const
 Return bti chip configuration. More...
 
bool debug () const
 Return TU debug flag. More...
 
 DTBtiCard (DTTrigGeom *)
 Constructor. More...
 
DTBtiChipgetBTI (const DTBtiId &btiid) const
 Returns the required BTI. Return 0 if it doesn't exist. More...
 
DTBtiChipgetBTI (int sl, int n) const
 Returns the required BTI. 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...
 
virtual void reconstruct ()
 Virtual reconstruct member. More...
 
virtual void reconstruct (const DTDigiCollection dtDigis)
 
void setConfig (const DTConfigManager *conf)
 Set configuration. More...
 
DTBtiTrigstoreTrigger (DTBtiTrigData)
 
bool useAcceptParamFlag ()
 Return acceptance flag. More...
 
 ~DTBtiCard () 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...
 
virtual void reconstruct ()
 Virtual reconstruct member. 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

DTBtiChipactiveGetBTI (const DTBtiId &btiid)
 Returns the required DTBtiChip. Create it if it doesn't exist. More...
 
DTBtiChipactiveGetBTI (int sl, int n)
 Returns the required DTBtiChip. Create it if it doesn't exist. More...
 
void loadBTI (const DTDigiCollection dtDigis)
 store digi's in DTBtiChip's More...
 
void localClear ()
 clear the BTI maps More...
 
void runBTI ()
 run DTBtiChip algorithm More...
 

Private Attributes

BTIContainer _btimap [3]
 
ConfBtiMap _conf_bti_map
 
bool _debug
 
std::vector< DTDigi * > _digis
 
bool _flag_acc
 
const DTConfigPedestals_pedestals
 

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 DTBtiChips

Author
C. Grandi, S. Vanini

Modifications: V/05 S.Vanini : modified to run with new geometry III/07 : SV configuration with DTConfigManager

Definition at line 62 of file DTBtiCard.h.

Constructor & Destructor Documentation

◆ DTBtiCard()

DTBtiCard::DTBtiCard ( DTTrigGeom geom)

Constructor.

Definition at line 60 of file DTBtiCard.cc.

60  : DTGeomSupplier(geom) {
61  //_configBti = new DTConfigBti(bti_pset);
62  //_configBti->print();
63 
64  //DTChamberId sid = ChamberId();
65  //_conf_bti_map = conf_manager->getDTConfigBtiMap(sid);
66  //_debug = conf_manager->getDTTPGDebug();
67 
68  //_finedelay = conf_manager->getDTConfigTrigUnit(sid)->MCSetupTime();
69  //_MCdelay = conf_manager->getDTConfigTrigUnit(sid)->MCDigiOffset();
70 }

◆ ~DTBtiCard()

DTBtiCard::~DTBtiCard ( )
override

Destructor.

Definition at line 76 of file DTBtiCard.cc.

76  {
77  localClear();
78  //delete _conf_Bti;
79 }

References localClear().

Member Function Documentation

◆ activeGetBTI() [1/2]

DTBtiChip* DTBtiCard::activeGetBTI ( const DTBtiId btiid)
inlineprivate

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

Definition at line 124 of file DTBtiCard.h.

124 { return activeGetBTI(btiid.superlayer(), btiid.bti()); }

References activeGetBTI(), DTBtiId::bti(), and DTBtiId::superlayer().

Referenced by activeGetBTI().

◆ activeGetBTI() [2/2]

DTBtiChip * DTBtiCard::activeGetBTI ( int  sl,
int  n 
)
private

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

Definition at line 379 of file DTBtiCard.cc.

379  {
380  DTBtiChip* bti = nullptr;
381  //check if BTi is out of range before all
382  if (n < 1 || n > geom()->nCell(sl)) {
383  if (debug()) {
384  std::cout << "DTBtiCard::activeGetBTI :";
385  std::cout << " invalid bti number: " << n;
386  std::cout << " not in range [1," << geom()->nCell(sl) << "]";
387  std::cout << " dummy BTI returned!" << std::endl;
388  }
389  sl = 1;
390  n = 999;
391  return bti;
392  }
393 
394  // get configuration for this chip Identifier
395  DTChamberId sid = geom()->statId();
396  DTBtiId _id = DTBtiId(sid, sl, n);
397 
398  //debug this chip
399  int _debug_bti = config_bti(_id)->debug();
400 
401  if (_debug_bti == 3) {
402  std::cout << "DTBtiCard::activeGetBTI :";
403  std::cout << " bti number: " << n << std::endl;
404  }
405 
406  if (sl < 1 || sl > 3) {
407  if (_debug_bti > 1) {
408  std::cout << "DTBtiCard::activeGetBTI :";
409  std::cout << " invalid superlayer number: " << sl;
410  std::cout << " dummy BTI returned!" << std::endl;
411  }
412  sl = 1;
413  n = 999;
414  return bti;
415  }
416 
417  BTI_iter pbti = _btimap[sl - 1].find(n);
418  if (pbti != _btimap[sl - 1].end()) {
419  bti = (*pbti).second;
420  } else {
421  bti = new DTBtiChip(this, geom(), sl, n, config_bti(_id));
422  _btimap[sl - 1][n] = bti;
423  }
424  return bti;
425 }

References _btimap, config_bti(), gather_cfg::cout, DTConfigBti::debug(), debug(), DTCache< T, Coll >::end(), DTGeomSupplier::geom(), dqmiodumpmetadata::n, DTTrigGeom::nCell(), and DTTrigGeom::statId().

Referenced by loadBTI(), and storeTrigger().

◆ btiList()

std::vector< DTBtiChip * > DTBtiCard::btiList ( int  sl)

Returns the active BTI list in a given superlayer.

Definition at line 441 of file DTBtiCard.cc.

441  {
442  std::vector<DTBtiChip*> blist;
443 
444  if (size() < 1)
445  return blist;
446 
447  if (sl < 1 || sl > 3) {
448  std::cout << "DTBtiCard::btiList :";
449  std::cout << " invalid superlayer number: " << sl;
450  std::cout << " empty list returned" << std::endl;
451  return blist;
452  }
453 
454  for (BTI_const_iter p = _btimap[sl - 1].begin(); p != _btimap[sl - 1].end(); p++) {
455  blist.push_back((*p).second);
456  }
457  return blist;
458 }

References _btimap, DTCache< T, Coll >::begin(), gather_cfg::cout, AlCaHLTBitMon_ParallelJobs::p, and DTCache< T, Coll >::size().

◆ clearCache()

void DTBtiCard::clearCache ( )

Clear all BTI stuff (map & cache)

Definition at line 85 of file DTBtiCard.cc.

85  {
87  localClear();
88 }

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

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

◆ config_bti()

DTConfigBti * DTBtiCard::config_bti ( DTBtiId btiid) const

Return bti chip configuration.

Definition at line 637 of file DTBtiCard.cc.

637  {
638  //loop on map to find bti
639  ConfBtiMap::const_iterator biter = _conf_bti_map.find(btiid);
640  if (biter == _conf_bti_map.end()) {
641  std::cout << "DTBtiCard::config_bti : BTI (" << btiid.wheel() << "," << btiid.sector() << "," << btiid.station()
642  << "," << btiid.superlayer() << "," << btiid.bti() << ") not found, return 0" << std::endl;
643  return nullptr;
644  }
645 
646  return const_cast<DTConfigBti*>(&(*biter).second);
647 }

References _conf_bti_map, DTBtiId::bti(), gather_cfg::cout, DTBtiId::sector(), DTBtiId::station(), DTBtiId::superlayer(), and DTBtiId::wheel().

Referenced by activeGetBTI(), DTTracoCard::loadTRACO(), localDirection(), and localPosition().

◆ debug()

bool DTBtiCard::debug ( ) const
inline

Return TU debug flag.

Definition at line 77 of file DTBtiCard.h.

77 { return _debug; }

References _debug.

Referenced by activeGetBTI(), loadBTI(), localDirection(), localPosition(), and runBTI().

◆ getBTI() [1/2]

DTBtiChip* DTBtiCard::getBTI ( const DTBtiId btiid) const
inline

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

Definition at line 83 of file DTBtiCard.h.

83 { return getBTI(btiid.superlayer(), btiid.bti()); }

References DTBtiId::bti(), getBTI(), and DTBtiId::superlayer().

Referenced by getBTI().

◆ getBTI() [2/2]

DTBtiChip * DTBtiCard::getBTI ( int  sl,
int  n 
) const

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

Definition at line 427 of file DTBtiCard.cc.

427  {
428  if (sl < 1 || sl > 3 || n == 999) {
429  std::cout << "DTBtiCard::getBTI :";
430  std::cout << " invalid superlayer number: " << sl;
431  std::cout << " 0 returned!" << std::endl;
432  return nullptr;
433  }
434  BTI_const_iter pbti = _btimap[sl - 1].find(n);
435  if (pbti == _btimap[sl - 1].end()) {
436  return nullptr;
437  }
438  return (*pbti).second;
439 }

References _btimap, gather_cfg::cout, DTCache< T, Coll >::end(), and dqmiodumpmetadata::n.

◆ loadBTI()

void DTBtiCard::loadBTI ( const DTDigiCollection  dtDigis)
private

store digi's in DTBtiChip's

Definition at line 237 of file DTBtiCard.cc.

237  {
238  localClear();
239 
240  if (debug()) {
241  std::cout << "DTBtiCard::loadBTI called for wheel=" << wheel();
242  std::cout << ", station=" << station();
243  std::cout << ", sector=" << sector() << std::endl;
244  }
245 
247  for (detUnitIt = dtDigis.begin(); detUnitIt != dtDigis.end(); ++detUnitIt) {
248  const DTLayerId& id = (*detUnitIt).first;
249  const DTDigiCollection::Range& range = (*detUnitIt).second;
250 
251  // DTLayerId print-out
252  if (debug()) {
253  std::cout << "--------------" << std::endl;
254  std::cout << "id: " << id;
255  }
256 
257  // Loop over the digis of this DetUnit
258  for (DTDigiCollection::const_iterator digiIt = range.first; digiIt != range.second; ++digiIt) {
259  int tube = (*digiIt).wire();
260  const DTWireId tubeid(id, tube);
261  float tdrift = (*digiIt).time() - _pedestals->getOffset(tubeid);
262 
263  if (debug()) {
264  std::cout << " digi time : " << (*digiIt).time();
265  std::cout << " pedestal offset : " << _pedestals->getOffset(tubeid) << std::endl;
266  std::cout << " drift time after subtraction : " << tdrift << std::endl;
267  }
268 
269  if (tdrift < 500 && tdrift > -500) {
270  if (debug())
271  (*digiIt).print();
272 
273  // get bti number for access to the configuration for this bti chip : SV
274  // FIX: for the moment take first bti configuration!!!!! ok fixed
275  DTSuperLayerId slnum = id.superlayerId();
276  //DTChamberId dtcham =id.chamberId();
277  int sln = slnum.superlayer();
278  int layn = id.layer();
279  //int tube = (*digiIt).wire();
280 
281  // map in FE channel number: SL theta tubes are numbered inversely w.r.t. hardware setup in new geometry 19/06/06
282  // assign ch numbers to btis: in new geometry does not depend on layer staggering anymore! Same staggering anywhere.
283  //int nch = geom()->mapTubeInFEch(sln,layn,tube);
284  // int nbti = nch + geom()->layerFEStaggering(sln,layn);
285 
286  int nch = geom()->mapTubeInFEch(sln, layn, tube);
287  int nbti = nch;
288 
289  if (debug()) {
290  std::cout << "FE ch " << nch;
291  std::cout << " of bti " << nbti;
292  // std::cout << " staggering " << geom()->layerFEStaggering(sln,layn);
293  std::cout << " now nbti is " << nch << std::endl;
294  // std::cout << " SL phi offset " << geom()->phiSLOffset() << std::endl;
295  }
296 
297  // FIXED get configuration for the nbti chip Identifier, and from it MCdelay + finedelay
298  //DTChamberId sid = geom()->statId();
299  //DTBtiId _id = DTBtiId(sid, sln, nbti);
300 
301  DTDigi* pdigi = new DTDigi((*digiIt).wire(), tdrift);
302  _digis.push_back(pdigi);
303 
304  switch (layn) {
305  case 1:
306  if (activeGetBTI(sln, nbti))
307  activeGetBTI(sln, nbti)->add_digi(4, pdigi);
308  if (activeGetBTI(sln, nbti - 1))
309  activeGetBTI(sln, nbti - 1)->add_digi(8, pdigi);
310  break;
311  case 2:
312  if (activeGetBTI(sln, nbti))
313  activeGetBTI(sln, nbti)->add_digi(2, pdigi);
314  if (activeGetBTI(sln, nbti - 1))
315  activeGetBTI(sln, nbti - 1)->add_digi(6, pdigi);
316  break;
317  case 3:
318  if (activeGetBTI(sln, nbti))
319  activeGetBTI(sln, nbti)->add_digi(3, pdigi);
320  if (activeGetBTI(sln, nbti - 1))
321  activeGetBTI(sln, nbti - 1)->add_digi(7, pdigi);
322  break;
323  case 4:
324  if (activeGetBTI(sln, nbti))
325  activeGetBTI(sln, nbti)->add_digi(1, pdigi);
326  if (activeGetBTI(sln, nbti - 1))
327  activeGetBTI(sln, nbti - 1)->add_digi(5, pdigi);
328  if (activeGetBTI(sln, nbti - 2))
329  activeGetBTI(sln, nbti - 2)->add_digi(9, pdigi);
330  break;
331  }
332  } //end loop on digi
333  // }//end loop on lay
334  // }//end loop on sl
335  }
336  }
337 }

References _digis, _pedestals, activeGetBTI(), DTBtiChip::add_digi(), gather_cfg::cout, debug(), DTGeomSupplier::geom(), DTConfigPedestals::getOffset(), triggerObjects_cff::id, localClear(), DTTrigGeom::mapTubeInFEch(), Digi_cff::pdigi, FastTimerService_cff::range, DTGeomSupplier::sector(), DTGeomSupplier::station(), DTSuperLayerId::superlayer(), and DTGeomSupplier::wheel().

Referenced by reconstruct().

◆ localClear()

void DTBtiCard::localClear ( )
private

clear the BTI maps

Definition at line 100 of file DTBtiCard.cc.

100  {
101  // Clear the maps
102  for (int i = 0; i < 3; i++) {
103  for (BTI_iter p = _btimap[i].begin(); p != _btimap[i].end(); p++) {
104  delete (*p).second;
105  }
106  _btimap[i].clear();
107  }
108 
109  //clear digis
110  std::vector<DTDigi*>::const_iterator p;
111  for (p = _digis.begin(); p < _digis.end(); p++)
112  delete (*p);
113  _digis.clear();
114 }

References _btimap, _digis, DTCache< T, Coll >::begin(), mps_fire::i, and AlCaHLTBitMon_ParallelJobs::p.

Referenced by clearCache(), loadBTI(), and ~DTBtiCard().

◆ localDirection()

LocalVector DTBtiCard::localDirection ( const DTTrigData tr) const
overridevirtual

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

Implements DTGeomSupplier.

Definition at line 562 of file DTBtiCard.cc.

562  {
563  //NEWGEO
564  const DTBtiTrigData* trig = dynamic_cast<const DTBtiTrigData*>(tr);
565  //this method is only for check purpose
566  if (!trig) {
567  std::cout << "DTBtiCard::localDirection called with wrong argument!" << std::endl;
568  return LocalVector(0, 0, 0);
569  }
570 
571  //FE position
572  //int FE = geom()->posFE(trig->parentId().superlayer());
573 
574  // psi in BTI frame
575  DTBtiId _btiid = trig->parentId();
576  float psi = atan((float)(trig->K() - config_bti(_btiid)->ST()) * geom()->cellPitch() /
577  (2 * geom()->cellH() * config_bti(_btiid)->ST()));
578  // (xd,yd,zd) in chamber frame
579  float xd = 0;
580  float yd = 0;
581  float zd = -cos(psi);
582  if (trig->btiSL() == 2)
583  yd = sin(psi);
584  else
585  xd = -sin(psi);
586 
587  // 17/07/06 Ths should be obsolete in CMSSW
588  // if(FE==1){//FE in negative y
589  // xd = - xd;
590  // yd = - yd;
591  // }
592 
593  if (debug()) {
594  //BTI position in chamber frame
595  float xb = geom()->localPosition(trig->parentId()).x();
596  float yb = geom()->localPosition(trig->parentId()).y();
597  float zb = geom()->localPosition(trig->parentId()).z();
598 
599  std::cout << "DTBtiCard::localDirection of BTI in (" << xb << "," << yb << "," << zb << ")" << std::endl;
600  std::cout << " called for trig ";
601  trig->print();
602  std::cout << "in Local Direction (" << xd << "," << yd << "," << zd << ")" << std::endl;
603  }
604 
605  return LocalVector(xd, yd, zd);
606 }

References DTTrigGeom::cellH(), DTTrigGeom::cellPitch(), config_bti(), funct::cos(), gather_cfg::cout, debug(), DTGeomSupplier::geom(), DTTrigGeom::localPosition(), funct::sin(), DTConfigBti::ST(), ClusterTask_cfi::trig, x, y, and z.

◆ localPosition()

LocalPoint DTBtiCard::localPosition ( const DTTrigData tr) const
overridevirtual

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

Implements DTGeomSupplier.

Definition at line 519 of file DTBtiCard.cc.

519  {
520  //NEWGEO!!!
521  const DTBtiTrigData* trig = dynamic_cast<const DTBtiTrigData*>(tr);
522  if (!trig) {
523  std::cout << "DTBtiCard::localPosition called with wrong argument!" << std::endl;
524  return LocalPoint(0, 0, 0);
525  }
526 
527  //BTI position in chamber frame
528  float x = geom()->localPosition(trig->parentId()).x();
529  float y = geom()->localPosition(trig->parentId()).y();
530  float z = geom()->localPosition(trig->parentId()).z();
531 
532  //FE position
533  //int FE = geom()->posFE(trig->parentId().superlayer());
534 
535  //trigger position in the BTI frame
536  float xt = 0;
537  float yt = 0;
538 
539  DTBtiId _btiid = trig->parentId();
540  float xtrig = (float)trig->X() * geom()->cellPitch() / (config_bti(_btiid)->ST());
541  if (trig->btiSL() == 2)
542  yt = -xtrig;
543  else
544  xt = +xtrig;
545 
546  // 17/07/06 Should be obsolete in CMSSW
547  // if(FE==1){//FE in negative y
548  // xt = - xt;
549  // yt = - yt;
550  // }
551 
552  if (debug()) {
553  std::cout << "DTBtiCard::localPosition of BTI in (" << x << "," << y << "," << z << ")" << std::endl;
554  std::cout << " called for trig ";
555  trig->print();
556  std::cout << "in Local Point (" << x + xt << "," << y + yt << "," << z << ")" << std::endl;
557  }
558 
559  return LocalPoint(x + xt, y + yt, z);
560 }

References DTTrigGeom::cellPitch(), config_bti(), gather_cfg::cout, debug(), dqmMemoryStats::float, DTGeomSupplier::geom(), DTTrigGeom::localPosition(), DTConfigBti::ST(), ClusterTask_cfi::trig, x, y, and z.

◆ reconstruct() [1/2]

virtual void DTCache< T, Coll >::reconstruct
inline

Virtual reconstruct member.

Definition at line 50 of file DTCache.h.

50 {}

◆ reconstruct() [2/2]

virtual void DTBtiCard::reconstruct ( const DTDigiCollection  dtDigis)
inlinevirtual

Definition at line 101 of file DTBtiCard.h.

101  {
102  clearCache();
103  loadBTI(dtDigis);
104  runBTI();
105  }

References clearCache(), loadBTI(), and runBTI().

Referenced by DTTrig::triggerReco().

◆ runBTI()

void DTBtiCard::runBTI ( )
private

run DTBtiChip algorithm

Definition at line 339 of file DTBtiCard.cc.

339  {
340  int nbtisig = _btimap[0].size() + _btimap[1].size() + _btimap[2].size();
341 
342  if (debug()) {
343  std::cout << "DTBtiCard::runBTI called for wheel=" << wheel();
344  std::cout << ", station=" << station();
345  std::cout << ", sector=" << sector();
346  std::cout << ", " << nbtisig << " BTIs with signal" << std::endl;
347  }
348 
349  if (nbtisig) {
350  if (debug()) {
351  std::cout << "====================================================" << std::endl;
352  std::cout << " BTI triggers " << std::endl;
353  }
354 
355  // run DTBtiChip algorithm on all non-empty BTI
356  for (int sl = 1; sl <= 3; sl++) {
357  if (!_btimap[sl - 1].empty()) {
358  BTI_iter pbti;
359  for (pbti = _btimap[sl - 1].begin(); pbti != _btimap[sl - 1].end(); pbti++) {
360  DTBtiChip* bti = (*pbti).second;
361  if (bti->number() < 200)
362  bti->run();
363  for (int step = DTConfig::NSTEPF; step <= DTConfig::NSTEPL; step++) {
364  if (bti->nTrig(step) > 0) {
365  _cache.push_back(bti->triggerData(step, 1));
366  //localPosition(&(bti->triggerData(step,1)));
367  //localDirection(&(bti->triggerData(step,1)));
368  }
369  }
370  }
371  }
372  }
373 
374  if (debug())
375  std::cout << "====================================================" << std::endl;
376  } //end if(nbtisig)
377 }

References _btimap, DTCache< T, Coll >::_cache, DTCache< T, Coll >::begin(), gather_cfg::cout, debug(), relativeConstraints::empty, DTConfig::NSTEPF, DTConfig::NSTEPL, DTBtiChip::nTrig(), DTBtiChip::number(), DTBtiChip::run(), DTGeomSupplier::sector(), DTGeomSupplier::station(), DTBtiChip::triggerData(), and DTGeomSupplier::wheel().

Referenced by reconstruct().

◆ setConfig()

void DTBtiCard::setConfig ( const DTConfigManager conf)

◆ storeTrigger()

DTBtiTrig * DTBtiCard::storeTrigger ( DTBtiTrigData  td)

Returns a DTBtiTrig corresponding to a DTBtiTrigData. Creates the corresponding BTI chip if needed and stores the trigger

Definition at line 460 of file DTBtiCard.cc.

460  {
461  DTBtiId btiid = td.parentId();
462  if (!(btiid.wheel() == wheel() && btiid.sector() == sector() && btiid.station() == station()))
463  return nullptr;
464  std::cout << "DTBtiCard::trigger: trigger not belonging to this card! ";
465  std::cout << "card=(" << wheel() << "," << station() << "," << sector() << ") ";
466  std::cout << "trig=(" << btiid.wheel() << "," << btiid.station() << "," << btiid.sector() << ")";
467  // get the appropriate BTI
468  DTBtiChip* bti = activeGetBTI(btiid.superlayer(), btiid.bti());
469  // create a new trigger in the BTI
470  auto trig = std::make_unique<DTBtiTrig>(bti, td);
471  auto pTrig = trig.get();
472  // add the trigger to the BTI
473  bti->addTrig(td.step(), std::move(trig));
474  // return the trigger
475  return pTrig;
476 }

References activeGetBTI(), DTBtiChip::addTrig(), DTBtiId::bti(), gather_cfg::cout, eostools::move(), DTBtiTrigData::parentId(), DTBtiId::sector(), DTGeomSupplier::sector(), DTBtiId::station(), DTGeomSupplier::station(), DTBtiTrigData::step(), DTBtiId::superlayer(), ClusterTask_cfi::trig, DTBtiId::wheel(), and DTGeomSupplier::wheel().

◆ useAcceptParamFlag()

bool DTBtiCard::useAcceptParamFlag ( )
inline

Return acceptance flag.

Definition at line 111 of file DTBtiCard.h.

111 { return _flag_acc; }

References _flag_acc.

Referenced by DTBtiChip::DTBtiChip().

Member Data Documentation

◆ _btimap

BTIContainer DTBtiCard::_btimap[3]
private

Definition at line 130 of file DTBtiCard.h.

Referenced by activeGetBTI(), btiList(), getBTI(), localClear(), and runBTI().

◆ _conf_bti_map

ConfBtiMap DTBtiCard::_conf_bti_map
private

Definition at line 131 of file DTBtiCard.h.

Referenced by config_bti(), and setConfig().

◆ _debug

bool DTBtiCard::_debug
private

Definition at line 135 of file DTBtiCard.h.

Referenced by debug(), and setConfig().

◆ _digis

std::vector<DTDigi*> DTBtiCard::_digis
private

Definition at line 133 of file DTBtiCard.h.

Referenced by loadBTI(), and localClear().

◆ _flag_acc

bool DTBtiCard::_flag_acc
private

Definition at line 138 of file DTBtiCard.h.

Referenced by setConfig(), and useAcceptParamFlag().

◆ _pedestals

const DTConfigPedestals* DTBtiCard::_pedestals
private

Definition at line 136 of file DTBtiCard.h.

Referenced by loadBTI(), and setConfig().

DTBtiCard::localClear
void localClear()
clear the BTI maps
Definition: DTBtiCard.cc:100
DTBtiChip::addTrig
void addTrig(int step, std::unique_ptr< DTBtiTrig > btitrig)
Definition: DTBtiChip.cc:314
DTSuperLayerId
Definition: DTSuperLayerId.h:12
DTBtiCard::debug
bool debug() const
Return TU debug flag.
Definition: DTBtiCard.h:77
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
DDAxes::y
mps_fire.i
i
Definition: mps_fire.py:428
DTBtiChip
Definition: DTBtiChip.h:48
DTBtiCard::_pedestals
const DTConfigPedestals * _pedestals
Definition: DTBtiCard.h:136
dqmMemoryStats.float
float
Definition: dqmMemoryStats.py:127
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
DTCache::size
int size() const
Get cache vector's size.
Definition: DTCache.h:44
DTConfigManager::getDTTPGDebug
bool getDTTPGDebug() const
Get global debug flag.
Definition: DTConfigManager.h:99
DTBtiId::wheel
int wheel() const
Returns wheel number.
Definition: DTBtiId.h:55
step
step
Definition: StallMonitor.cc:94
DTBtiCard::loadBTI
void loadBTI(const DTDigiCollection dtDigis)
store digi's in DTBtiChip's
Definition: DTBtiCard.cc:237
DTTrigGeom::cellH
float cellH() const
Height of a cell (cm)
Definition: DTTrigGeom.h:73
DTBtiChip::triggerData
DTBtiTrigData triggerData(int step, unsigned n) const
Return the data part of the requested trigger.
Definition: DTBtiChip.cc:360
gather_cfg.cout
cout
Definition: gather_cfg.py:144
DTBtiTrigData::parentId
DTBtiId parentId() const
Return parent BTI identifier.
Definition: DTBtiTrigData.h:90
DTConfig::NSTEPL
static const int NSTEPL
Constants: first and last step to start trigger finding.
Definition: DTConfig.h:35
DTConfig::NSTEPF
static const int NSTEPF
Definition: DTConfig.h:35
DTTrigGeom::mapTubeInFEch
int mapTubeInFEch(int nsl, int nlay, int ntube) const
Staggering of first wire of layer respect to default: obsolete 19/6/06.
Definition: DTTrigGeom.cc:144
DTSuperLayerId::superlayer
int superlayer() const
Return the superlayer number (deprecated method name)
Definition: DTSuperLayerId.h:42
DDAxes::x
align::LocalPoint
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
DTCache::begin
const_iterator begin() const
Get first cache element.
Definition: DTCache.h:38
DTGeomSupplier::ChamberId
DTChamberId ChamberId() const
Identifier of the associated chamber.
Definition: DTGeomSupplier.h:57
DTGeomSupplier::sector
int sector() const
Return sector number.
Definition: DTGeomSupplier.h:66
MuonDigiCollection::const_iterator
std::vector< DigiType >::const_iterator const_iterator
Definition: MuonDigiCollection.h:94
DTBtiId::sector
int sector() const
Returns sector number.
Definition: DTBtiId.h:59
DTBtiChip::run
void run()
Run DTBtiChip algorithm.
Definition: DTBtiChip.cc:482
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
DTBtiCard::_conf_bti_map
ConfBtiMap _conf_bti_map
Definition: DTBtiCard.h:131
DTBtiCard::getBTI
DTBtiChip * getBTI(int sl, int n) const
Returns the required BTI. Return 0 if it doesn't exist.
Definition: DTBtiCard.cc:427
DTBtiCard::activeGetBTI
DTBtiChip * activeGetBTI(int sl, int n)
Returns the required DTBtiChip. Create it if it doesn't exist.
Definition: DTBtiCard.cc:379
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
DTCache::_cache
my_collection _cache
Definition: DTCache.h:53
DTWireId
Definition: DTWireId.h:12
BTI_const_iter
BTIContainer::const_iterator BTI_const_iter
Definition: DTBtiCard.h:55
DTBtiTrigData
Definition: DTBtiTrigData.h:39
DDAxes::z
DTBtiCard::_flag_acc
bool _flag_acc
Definition: DTBtiCard.h:138
DTBtiTrigData::step
int step() const
Return trigger step.
Definition: DTBtiTrigData.h:102
DTConfigManager::useAcceptParam
bool useAcceptParam() const
Use Bti acceptance parameters (LL,LH,CL,CH,RL,RH)
Definition: DTConfigManager.h:108
DTConfigManager::getDTConfigBtiMap
const std::map< DTBtiId, DTConfigBti > & getDTConfigBtiMap(DTChamberId) const
Get desired BTI configuration map for a given DTChamber.
Definition: DTConfigManager.cc:77
DTLayerId
Definition: DTLayerId.h:12
DTGeomSupplier::wheel
int wheel() const
Return wheel number.
Definition: DTGeomSupplier.h:60
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
DTTrigGeom::nCell
int nCell(int sl) const
Number of BTIs in a required superlayer (i.e. nCells in lay 1)
Definition: DTTrigGeom.h:88
DTConfigPedestals::getOffset
float getOffset(const DTWireId &wire) const
Get wire by wire delay.
Definition: DTConfigPedestals.cc:56
DTTrigGeom::localPosition
LocalPoint localPosition(const DTBtiId) const
Local position in chamber of a BTI.
Definition: DTTrigGeom.cc:508
DTBtiCard::runBTI
void runBTI()
run DTBtiChip algorithm
Definition: DTBtiCard.cc:339
DTCache::end
const_iterator end() const
Get last cache element.
Definition: DTCache.h:41
LocalVector
Local3DVector LocalVector
Definition: LocalVector.h:12
DTGeomSupplier::DTGeomSupplier
DTGeomSupplier(DTTrigGeom *geom)
Constructor.
Definition: DTGeomSupplier.h:45
DTCache::clearCache
void clearCache()
Clear cache vector.
Definition: DTCache.h:47
BTI_iter
BTIContainer::iterator BTI_iter
Definition: DTBtiCard.h:56
DTConfigManager::getDTConfigPedestals
const DTConfigPedestals * getDTConfigPedestals() const
Get desired Pedestals configuration.
Definition: DTConfigManager.cc:171
DTTrigGeom::cellPitch
float cellPitch() const
Width of a cell (cm) i.e. distance between ywo wires.
Definition: DTTrigGeom.h:76
DTBtiId
Definition: DTBtiId.h:32
ClusterTask_cfi.trig
trig
Definition: ClusterTask_cfi.py:398
DTBtiCard::_debug
bool _debug
Definition: DTBtiCard.h:135
DTBtiId::station
int station() const
Returns station number.
Definition: DTBtiId.h:57
DTBtiCard::clearCache
void clearCache()
Clear all BTI stuff (map & cache)
Definition: DTBtiCard.cc:85
DTConfigBti::debug
int debug() const
Debug flag.
Definition: DTConfigBti.h:58
psi
std::map< std::string, int, std::less< std::string > > psi
Definition: CountProcessesAction.h:15
eostools.move
def move(src, dest)
Definition: eostools.py:511
Digi_cff.pdigi
pdigi
Definition: Digi_cff.py:50
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
DTConfigBti::ST
float ST() const
Max drift time in 12.5 ns steps.
Definition: DTConfigBti.h:61
DTGeomSupplier::station
int station() const
Return station number.
Definition: DTGeomSupplier.h:63
DTDigi
Definition: DTDigi.h:17
MuonDigiCollection::Range
std::pair< const_iterator, const_iterator > Range
Definition: MuonDigiCollection.h:95
DTGeomSupplier::geom
DTTrigGeom * geom() const
Associated geometry.
Definition: DTGeomSupplier.h:51
DTChamberId
Definition: DTChamberId.h:14
DTTrigGeom::statId
DTChamberId statId() const
Identifier of the associated chamber.
Definition: DTTrigGeom.h:53
DTBtiId::bti
int bti() const
Returns the bti.
Definition: DTBtiId.h:63
DTBtiCard::config_bti
DTConfigBti * config_bti(DTBtiId &btiid) const
Return bti chip configuration.
Definition: DTBtiCard.cc:637
DigiContainerIterator
Definition: MuonDigiCollection.h:30
DTBtiChip::nTrig
int nTrig(int step) const
Number of triggers found.
Definition: DTBtiChip.cc:327
DTBtiCard::_btimap
BTIContainer _btimap[3]
Definition: DTBtiCard.h:130
DTBtiChip::number
int number() const
Return DTBtiChip number.
Definition: DTBtiChip.h:89
DTBtiChip::add_digi
void add_digi(int cell, const DTDigi *digi)
Add a digi to the DTBtiChip.
Definition: DTBtiChip.cc:212
DTBtiCard::_digis
std::vector< DTDigi * > _digis
Definition: DTBtiCard.h:133
DTBtiId::superlayer
int superlayer() const
Returns the superlayer.
Definition: DTBtiId.h:61