ATLAS Offline Software
Public Member Functions | Public Attributes | Private Attributes | List of all members
FPGATrackSimGenScanPhiSlicedKeyLyrBinning Class Reference

#include <FPGATrackSimGenScanBinning.h>

Inheritance diagram for FPGATrackSimGenScanPhiSlicedKeyLyrBinning:
Collaboration diagram for FPGATrackSimGenScanPhiSlicedKeyLyrBinning:

Public Member Functions

 FPGATrackSimGenScanPhiSlicedKeyLyrBinning (const std::string &algname, const std::string &name, const IInterface *ifc)
 
virtual StatusCode initialize () override
 
virtual const std::string & parNames (unsigned i) const override
 
virtual unsigned rowParIdx () const override
 
virtual std::vector< unsigned > slicePars () const override
 
virtual std::vector< unsigned > scanPars () const override
 
virtual double etaHistScale () const override
 
virtual double phiHistScale () const override
 
ParSet keyparsToParSet (const FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars &keypars) const
 
FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars parSetToKeyPars (const ParSet &parset) const
 
virtual const ParSet trackParsToParSet (const FPGATrackSimTrackPars &pars) const override
 
virtual const FPGATrackSimTrackPars parSetToTrackPars (const ParSet &parset) const override
 
virtual double phiResidual (const ParSet &parset, FPGATrackSimHit const *hit, [[maybe_unused]] bool debug) const override
 
virtual double etaResidual (const ParSet &parset, FPGATrackSimHit const *hit, [[maybe_unused]] bool debug) const override
 
virtual bool hitInSlice (const IdxSet &idx, FPGATrackSimHit const *hit) const override
 
virtual std::pair< unsigned, unsigned > idxsetToRowParBinRange (const IdxSet &idx, [[maybe_unused]] FPGATrackSimHit const *hit) const override
 

Public Attributes

Gaudi::Property< double > m_rin {this, "rin", {-1.0}, "Radius of inner layer for keylayer definition"}
 
Gaudi::Property< double > m_rout {this, "rout", {-1.0}, "Radius of outer layer for keylayer definition"}
 

Private Attributes

FPGATrackSimGenScanKeyLyrHelper m_keylyrtool
 
const std::vector< std::string > m_parNames
 

Detailed Description

Definition at line 503 of file FPGATrackSimGenScanBinning.h.

Constructor & Destructor Documentation

◆ FPGATrackSimGenScanPhiSlicedKeyLyrBinning()

FPGATrackSimGenScanPhiSlicedKeyLyrBinning::FPGATrackSimGenScanPhiSlicedKeyLyrBinning ( const std::string &  algname,
const std::string &  name,
const IInterface *  ifc 
)
inline

Definition at line 506 of file FPGATrackSimGenScanBinning.h.

506  :
507  base_class(algname, name, ifc), m_parNames({"zR1", "zR2", "phiR1", "phiR2", "xm"})
508  {
509  declareInterface<FPGATrackSimGenScanBinningBase>(this);
510  }

Member Function Documentation

◆ etaHistScale()

virtual double FPGATrackSimGenScanPhiSlicedKeyLyrBinning::etaHistScale ( ) const
inlineoverridevirtual

Definition at line 526 of file FPGATrackSimGenScanBinning.h.

526 {return 60.0;}

◆ etaResidual()

virtual double FPGATrackSimGenScanPhiSlicedKeyLyrBinning::etaResidual ( const ParSet &  parset,
FPGATrackSimHit const hit,
[[maybe_unused] ] bool  debug 
) const
inlineoverridevirtual

Definition at line 548 of file FPGATrackSimGenScanBinning.h.

549  {
550  return hit->getZ()- m_keylyrtool.zExpected(parSetToKeyPars(parset),hit->getR());
551  }

◆ hitInSlice()

virtual bool FPGATrackSimGenScanPhiSlicedKeyLyrBinning::hitInSlice ( const IdxSet &  idx,
FPGATrackSimHit const hit 
) const
inlineoverridevirtual

Definition at line 553 of file FPGATrackSimGenScanBinning.h.

553  {
554  double r1 = m_keylyrtool.R1();
555  double r2 = m_keylyrtool.R2();
556  auto keypars = parSetToKeyPars(binCenter(idx));
557  auto tmppars = keypars;
558  tmppars.xm = m_parStep[4] / 2.0;
559  double xrange = m_keylyrtool.xExpected(tmppars, hit) + (r1*m_parStep[2] + (r2*m_parStep[3] - r1*m_parStep[2]) / (r2 - r1) * (hit->getR() - r1))/2.0;
560  return (std::abs(phiShift(idx, hit)) < xrange);
561  }

◆ idxsetToRowParBinRange()

virtual std::pair<unsigned, unsigned> FPGATrackSimGenScanPhiSlicedKeyLyrBinning::idxsetToRowParBinRange ( const IdxSet &  idx,
[[maybe_unused] ] FPGATrackSimHit const hit 
) const
inlineoverridevirtual

Definition at line 563 of file FPGATrackSimGenScanBinning.h.

564  {
565  double r1 = m_keylyrtool.R1();
566  double r2 = m_keylyrtool.R2();
567  double lowz_in = binLowEdge(0,idx[0]);
568  double highz_in = binHighEdge(0,idx[0]);
569  double lowz_out = binLowEdge(1,idx[1]);
570  double highz_out = binHighEdge(1,idx[1]);
571 
572 
573  // simple box cut
574  if (hit->getZ() < lowz_in + (lowz_out-lowz_in) * (hit->getR()-r1)/(r2-r1))
575  return std::pair<unsigned, unsigned>(0, 0); // empty range
576 
577  if (hit->getZ() > highz_in + (highz_out-highz_in) * (hit->getR()-r1)/(r2-r1))
578  return std::pair<unsigned, unsigned>(0, 0); // empty range
579 
580  return std::pair<unsigned, unsigned>(rowIdx(idx), rowIdx(idx) + 1); // range covers just 1 row bin
581  }

◆ initialize()

virtual StatusCode FPGATrackSimGenScanPhiSlicedKeyLyrBinning::initialize ( )
inlineoverridevirtual

Definition at line 512 of file FPGATrackSimGenScanBinning.h.

512  {
515  return StatusCode::SUCCESS;
516  }

◆ keyparsToParSet()

ParSet FPGATrackSimGenScanPhiSlicedKeyLyrBinning::keyparsToParSet ( const FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars keypars) const
inline

Definition at line 529 of file FPGATrackSimGenScanBinning.h.

529  {
530  return ParSet({keypars.z1,keypars.z2,keypars.phi1,keypars.phi2,keypars.xm});
531  }

◆ parNames()

virtual const std::string& FPGATrackSimGenScanPhiSlicedKeyLyrBinning::parNames ( unsigned  i) const
inlineoverridevirtual

Definition at line 521 of file FPGATrackSimGenScanBinning.h.

521 { return m_parNames[i]; }

◆ parSetToKeyPars()

FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars FPGATrackSimGenScanPhiSlicedKeyLyrBinning::parSetToKeyPars ( const ParSet &  parset) const
inline

Definition at line 533 of file FPGATrackSimGenScanBinning.h.

533  {
535  }

◆ parSetToTrackPars()

virtual const FPGATrackSimTrackPars FPGATrackSimGenScanPhiSlicedKeyLyrBinning::parSetToTrackPars ( const ParSet &  parset) const
inlineoverridevirtual

Definition at line 542 of file FPGATrackSimGenScanBinning.h.

542  {
544  }

◆ phiHistScale()

virtual double FPGATrackSimGenScanPhiSlicedKeyLyrBinning::phiHistScale ( ) const
inlineoverridevirtual

Definition at line 527 of file FPGATrackSimGenScanBinning.h.

527 {return 30.0;}

◆ phiResidual()

double FPGATrackSimGenScanPhiSlicedKeyLyrBinning::phiResidual ( const ParSet &  parset,
FPGATrackSimHit const hit,
[[maybe_unused] ] bool  debug 
) const
overridevirtual

Definition at line 391 of file FPGATrackSimGenScanBinning.cxx.

392 {
393  return m_keylyrtool.deltaX(parSetToKeyPars(parset), hit);
394 }

◆ rowParIdx()

virtual unsigned FPGATrackSimGenScanPhiSlicedKeyLyrBinning::rowParIdx ( ) const
inlineoverridevirtual

Definition at line 522 of file FPGATrackSimGenScanBinning.h.

522 { return 4;}

◆ scanPars()

virtual std::vector<unsigned> FPGATrackSimGenScanPhiSlicedKeyLyrBinning::scanPars ( ) const
inlineoverridevirtual

Definition at line 524 of file FPGATrackSimGenScanBinning.h.

524 { return std::vector<unsigned>({0,1}); }

◆ slicePars()

virtual std::vector<unsigned> FPGATrackSimGenScanPhiSlicedKeyLyrBinning::slicePars ( ) const
inlineoverridevirtual

Definition at line 523 of file FPGATrackSimGenScanBinning.h.

523 { return std::vector<unsigned>({2,3,4}); }

◆ trackParsToParSet()

virtual const ParSet FPGATrackSimGenScanPhiSlicedKeyLyrBinning::trackParsToParSet ( const FPGATrackSimTrackPars pars) const
inlineoverridevirtual

Definition at line 538 of file FPGATrackSimGenScanBinning.h.

538  {
540  }

Member Data Documentation

◆ m_keylyrtool

FPGATrackSimGenScanKeyLyrHelper FPGATrackSimGenScanPhiSlicedKeyLyrBinning::m_keylyrtool
private

Definition at line 584 of file FPGATrackSimGenScanBinning.h.

◆ m_parNames

const std::vector<std::string> FPGATrackSimGenScanPhiSlicedKeyLyrBinning::m_parNames
private

Definition at line 585 of file FPGATrackSimGenScanBinning.h.

◆ m_rin

Gaudi::Property<double> FPGATrackSimGenScanPhiSlicedKeyLyrBinning::m_rin {this, "rin", {-1.0}, "Radius of inner layer for keylayer definition"}

Definition at line 518 of file FPGATrackSimGenScanBinning.h.

◆ m_rout

Gaudi::Property<double> FPGATrackSimGenScanPhiSlicedKeyLyrBinning::m_rout {this, "rout", {-1.0}, "Radius of outer layer for keylayer definition"}

Definition at line 519 of file FPGATrackSimGenScanBinning.h.


The documentation for this class was generated from the following files:
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
xrange
void xrange(TH1 *h, bool symmetric)
Definition: computils.cxx:516
FPGATrackSimGenScanKeyLyrHelper::R1
double R1() const
Definition: FPGATrackSimGenScanBinning.h:410
FPGATrackSimGenScanKeyLyrHelper::setR1
void setR1(const double r1)
Definition: FPGATrackSimGenScanBinning.h:412
getMenu.algname
algname
Definition: getMenu.py:54
FPGATrackSimGenScanKeyLyrHelper::R2
double R2() const
Definition: FPGATrackSimGenScanBinning.h:411
FPGATrackSimGenScanKeyLyrHelper::setR2
void setR2(const double r2)
Definition: FPGATrackSimGenScanBinning.h:413
FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars::z1
double z1
Definition: FPGATrackSimGenScanBinning.h:363
FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars::xm
double xm
Definition: FPGATrackSimGenScanBinning.h:367
FPGATrackSimGenScanKeyLyrHelper::keyParsToTrackPars
FPGATrackSimTrackPars keyParsToTrackPars(const KeyLyrPars &keypars) const
Definition: FPGATrackSimGenScanBinning.cxx:286
FPGATrackSimGenScanPhiSlicedKeyLyrBinning::m_rin
Gaudi::Property< double > m_rin
Definition: FPGATrackSimGenScanBinning.h:518
MCP::ScaleSmearParam::r2
@ r2
FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars::phi2
double phi2
Definition: FPGATrackSimGenScanBinning.h:366
FPGATrackSimGenScanPhiSlicedKeyLyrBinning::keyparsToParSet
ParSet keyparsToParSet(const FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars &keypars) const
Definition: FPGATrackSimGenScanBinning.h:529
lumiFormat.i
int i
Definition: lumiFormat.py:85
FPGATrackSimGenScanPhiSlicedKeyLyrBinning::m_keylyrtool
FPGATrackSimGenScanKeyLyrHelper m_keylyrtool
Definition: FPGATrackSimGenScanBinning.h:584
FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars::phi1
double phi1
Definition: FPGATrackSimGenScanBinning.h:365
FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars::z2
double z2
Definition: FPGATrackSimGenScanBinning.h:364
FPGATrackSimGenScanPhiSlicedKeyLyrBinning::m_parNames
const std::vector< std::string > m_parNames
Definition: FPGATrackSimGenScanBinning.h:585
FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars
Definition: FPGATrackSimGenScanBinning.h:359
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
FPGATrackSimGenScanKeyLyrHelper::xExpected
double xExpected(const KeyLyrPars &keypars, const FPGATrackSimHit *hit) const
Definition: FPGATrackSimGenScanBinning.cxx:377
FPGATrackSimGenScanPhiSlicedKeyLyrBinning::m_rout
Gaudi::Property< double > m_rout
Definition: FPGATrackSimGenScanBinning.h:519
FPGATrackSimGenScanKeyLyrHelper::deltaX
double deltaX(const KeyLyrPars &keypars, const FPGATrackSimHit *hit) const
Definition: FPGATrackSimGenScanBinning.cxx:363
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
FPGATrackSimGenScanKeyLyrHelper::zExpected
double zExpected(const KeyLyrPars &keypars, double r) const
Definition: FPGATrackSimGenScanBinning.cxx:333
MCP::ScaleSmearParam::r1
@ r1
FPGATrackSimGenScanKeyLyrHelper::trackParsToKeyPars
KeyLyrPars trackParsToKeyPars(const FPGATrackSimTrackPars &pars) const
Definition: FPGATrackSimGenScanBinning.cxx:260
FPGATrackSimGenScanPhiSlicedKeyLyrBinning::parSetToKeyPars
FPGATrackSimGenScanKeyLyrHelper::KeyLyrPars parSetToKeyPars(const ParSet &parset) const
Definition: FPGATrackSimGenScanBinning.h:533