Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Public Attributes | List of all members
FPGATrackSimGenScanTool::HitPairSet Struct Reference

#include <FPGATrackSimGenScanTool.h>

Collaboration diagram for FPGATrackSimGenScanTool::HitPairSet:

Public Member Functions

int addPair (const HitPair &pair)
 
const HitPairlastpair () const
 
const HitPairsecondtolastpair () const
 
bool hasHit (const StoredHit *hit) const
 
bool hasLayer (int layer) const
 
unsigned int lyrCnt () const
 
double MatchPhi (const HitPair &pair) const
 
double MatchEta (const HitPair &pair) const
 
double DeltaDeltaPhi (const HitPair &pair) const
 
double DeltaDeltaEta (const HitPair &pair) const
 
double PhiCurvature (const HitPair &pair) const
 
double EtaCurvature (const HitPair &pair) const
 
double DeltaPhiCurvature (const HitPair &pair) const
 
double DeltaEtaCurvature (const HitPair &pair) const
 
double PhiInExtrapCurved (const HitPair &pair, double r_in) const
 
double PhiOutExtrapCurved (const HitPair &pair, double r_out) const
 

Public Attributes

std::vector< HitPairpairList {}
 
layer_bitmask_t hitLayers = 0
 
std::vector< const StoredHit * > hitlist {}
 
double LastPhiCurvature = 0.
 
double LastEtaCurvature = 0.
 

Detailed Description

Definition at line 259 of file FPGATrackSimGenScanTool.h.

Member Function Documentation

◆ addPair()

int FPGATrackSimGenScanTool::HitPairSet::addPair ( const HitPair pair)

Definition at line 760 of file FPGATrackSimGenScanTool.cxx.

761 {
762  if (pairList.size() > 0)
763  {
764  // these need to be done before the pair is added
767  }
768 
769  pairList.push_back(pair);
770 
771  hitLayers |= (0x1 << pair.first->layer);
772  hitLayers |= (0x1 << pair.second->layer);
773  if (!hasHit(pair.first))
774  hitlist.push_back(pair.first);
775  if (!hasHit(pair.second))
776  hitlist.push_back(pair.second);
777  return this->pairList.size();
778 }

◆ DeltaDeltaEta()

double FPGATrackSimGenScanTool::HitPairSet::DeltaDeltaEta ( const HitPair pair) const

Definition at line 814 of file FPGATrackSimGenScanTool.cxx.

815 {
816  return (pair.dEta() * lastpair().dR() - lastpair().dEta() * pair.dR()) / (lastpair().dR() * pair.dR());
817 }

◆ DeltaDeltaPhi()

double FPGATrackSimGenScanTool::HitPairSet::DeltaDeltaPhi ( const HitPair pair) const

Definition at line 810 of file FPGATrackSimGenScanTool.cxx.

810  {
811  return (pair.dPhi() * lastpair().dR() - lastpair().dPhi() * pair.dR()) / (lastpair().dR() * pair.dR());
812 }

◆ DeltaEtaCurvature()

double FPGATrackSimGenScanTool::HitPairSet::DeltaEtaCurvature ( const HitPair pair) const

Definition at line 831 of file FPGATrackSimGenScanTool.cxx.

832 {
833  return EtaCurvature(pair) - LastEtaCurvature;
834 }

◆ DeltaPhiCurvature()

double FPGATrackSimGenScanTool::HitPairSet::DeltaPhiCurvature ( const HitPair pair) const

Definition at line 827 of file FPGATrackSimGenScanTool.cxx.

828 {
829  return PhiCurvature(pair) - LastPhiCurvature;
830 }

◆ EtaCurvature()

double FPGATrackSimGenScanTool::HitPairSet::EtaCurvature ( const HitPair pair) const

Definition at line 823 of file FPGATrackSimGenScanTool.cxx.

824 {
825  return 2 * DeltaDeltaEta(pair) / (lastpair().dR() + pair.dR());
826 }

◆ hasHit()

bool FPGATrackSimGenScanTool::HitPairSet::hasHit ( const StoredHit hit) const

Definition at line 751 of file FPGATrackSimGenScanTool.cxx.

753  {
754  if (hit == newhit)
755  return true;
756  }
757  return false;
758 }

◆ hasLayer()

bool FPGATrackSimGenScanTool::HitPairSet::hasLayer ( int  layer) const
inline

Definition at line 284 of file FPGATrackSimGenScanTool.h.

284 { return ((hitLayers & (0x1 << layer)) != 0); }

◆ lastpair()

const HitPair& FPGATrackSimGenScanTool::HitPairSet::lastpair ( ) const
inline

Definition at line 280 of file FPGATrackSimGenScanTool.h.

280 { return pairList.back(); }

◆ lyrCnt()

unsigned int FPGATrackSimGenScanTool::HitPairSet::lyrCnt ( ) const
inline

Definition at line 285 of file FPGATrackSimGenScanTool.h.

285 { return __builtin_popcount(hitLayers); }

◆ MatchEta()

double FPGATrackSimGenScanTool::HitPairSet::MatchEta ( const HitPair pair) const

Definition at line 795 of file FPGATrackSimGenScanTool.cxx.

796 {
797  if ((lastpair().first->hitptr==pair.first->hitptr)||
798  (lastpair().first->hitptr==pair.second->hitptr)||
799  (lastpair().second->hitptr==pair.first->hitptr)||
800  (lastpair().second->hitptr==pair.second->hitptr))
801  return 0.0;
802 
803  double dr = (lastpair().second->hitptr->getR() - pair.first->hitptr->getR()) / 2.0;
804  double lastpairextrap = lastpair().second->etaShift - lastpair().dEta() / lastpair().dR() * dr;
805  double newpairextrap = pair.first->etaShift + pair.dEta() / pair.dR() * dr;
806  return lastpairextrap - newpairextrap;
807 }

◆ MatchPhi()

double FPGATrackSimGenScanTool::HitPairSet::MatchPhi ( const HitPair pair) const

Definition at line 781 of file FPGATrackSimGenScanTool.cxx.

782 {
783  if ((lastpair().first->hitptr==pair.first->hitptr)||
784  (lastpair().first->hitptr==pair.second->hitptr)||
785  (lastpair().second->hitptr==pair.first->hitptr)||
786  (lastpair().second->hitptr==pair.second->hitptr))
787  return 0.0;
788 
789  double dr = (lastpair().second->hitptr->getR() - pair.first->hitptr->getR()) / 2.0;
790  double lastpairextrap = lastpair().second->phiShift - lastpair().dPhi() / lastpair().dR() * dr;
791  double newpairextrap = pair.first->phiShift + pair.dPhi() / pair.dR() * dr;
792  return lastpairextrap - newpairextrap;
793 }

◆ PhiCurvature()

double FPGATrackSimGenScanTool::HitPairSet::PhiCurvature ( const HitPair pair) const

Definition at line 819 of file FPGATrackSimGenScanTool.cxx.

820 {
821  return 2 * DeltaDeltaPhi(pair) / (lastpair().dR() + pair.dR());
822 }

◆ PhiInExtrapCurved()

double FPGATrackSimGenScanTool::HitPairSet::PhiInExtrapCurved ( const HitPair pair,
double  r_in 
) const

Definition at line 835 of file FPGATrackSimGenScanTool.cxx.

836 {
837  double r = std::min(lastpair().first->hitptr->getR(),lastpair().second->hitptr->getR());
838  return lastpair().PhiInExtrap(r_in) + 0.5 * PhiCurvature(pair) * (r_in - r) * (r_in - r);
839 }

◆ PhiOutExtrapCurved()

double FPGATrackSimGenScanTool::HitPairSet::PhiOutExtrapCurved ( const HitPair pair,
double  r_out 
) const

Definition at line 840 of file FPGATrackSimGenScanTool.cxx.

841 {
842  double r = std::max(lastpair().first->hitptr->getR(),lastpair().second->hitptr->getR());
843  return pair.PhiOutExtrap(r_out) + 0.5 * PhiCurvature(pair) * (r_out - r) * (r_out - r);
844 }

◆ secondtolastpair()

const HitPair& FPGATrackSimGenScanTool::HitPairSet::secondtolastpair ( ) const
inline

Definition at line 281 of file FPGATrackSimGenScanTool.h.

281 { return *std::prev(pairList.end(), 2); }

Member Data Documentation

◆ hitLayers

layer_bitmask_t FPGATrackSimGenScanTool::HitPairSet::hitLayers = 0

Definition at line 268 of file FPGATrackSimGenScanTool.h.

◆ hitlist

std::vector<const StoredHit *> FPGATrackSimGenScanTool::HitPairSet::hitlist {}

Definition at line 271 of file FPGATrackSimGenScanTool.h.

◆ LastEtaCurvature

double FPGATrackSimGenScanTool::HitPairSet::LastEtaCurvature = 0.

Definition at line 275 of file FPGATrackSimGenScanTool.h.

◆ LastPhiCurvature

double FPGATrackSimGenScanTool::HitPairSet::LastPhiCurvature = 0.

Definition at line 274 of file FPGATrackSimGenScanTool.h.

◆ pairList

std::vector<HitPair> FPGATrackSimGenScanTool::HitPairSet::pairList {}

Definition at line 265 of file FPGATrackSimGenScanTool.h.


The documentation for this struct was generated from the following files:
FPGATrackSimGenScanTool::HitPairSet::LastEtaCurvature
double LastEtaCurvature
Definition: FPGATrackSimGenScanTool.h:275
beamspotman.r
def r
Definition: beamspotman.py:676
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
FPGATrackSimGenScanTool::HitPair::PhiInExtrap
double PhiInExtrap(double r_in) const
Definition: FPGATrackSimGenScanTool.h:244
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
FPGATrackSimGenScanTool::StoredHit
Definition: FPGATrackSimGenScanTool.h:201
FPGATrackSimGenScanTool::HitPairSet::DeltaDeltaPhi
double DeltaDeltaPhi(const HitPair &pair) const
Definition: FPGATrackSimGenScanTool.cxx:810
FPGATrackSimGenScanTool::HitPairSet::hitLayers
layer_bitmask_t hitLayers
Definition: FPGATrackSimGenScanTool.h:268
python.TurnDataReader.dr
dr
Definition: TurnDataReader.py:112
FPGATrackSimGenScanTool::HitPairSet::hasHit
bool hasHit(const StoredHit *hit) const
Definition: FPGATrackSimGenScanTool.cxx:751
FPGATrackSimGenScanTool::HitPair::dR
double dR() const
Definition: FPGATrackSimGenScanTool.h:232
FPGATrackSimGenScanTool::HitPairSet::LastPhiCurvature
double LastPhiCurvature
Definition: FPGATrackSimGenScanTool.h:274
FPGATrackSimGenScanTool::HitPairSet::PhiCurvature
double PhiCurvature(const HitPair &pair) const
Definition: FPGATrackSimGenScanTool.cxx:819
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
TauGNNUtils::Variables::Track::dPhi
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:548
FPGATrackSimGenScanTool::HitPairSet::DeltaDeltaEta
double DeltaDeltaEta(const HitPair &pair) const
Definition: FPGATrackSimGenScanTool.cxx:814
FPGATrackSimGenScanTool::HitPair::dPhi
double dPhi() const
Definition: FPGATrackSimGenScanTool.h:230
FPGATrackSimGenScanTool::HitPairSet::pairList
std::vector< HitPair > pairList
Definition: FPGATrackSimGenScanTool.h:265
FPGATrackSimGenScanTool::HitPair::dEta
double dEta() const
Definition: FPGATrackSimGenScanTool.h:231
FPGATrackSimGenScanTool::HitPairSet::lastpair
const HitPair & lastpair() const
Definition: FPGATrackSimGenScanTool.h:280
FPGATrackSimGenScanTool::HitPairSet::EtaCurvature
double EtaCurvature(const HitPair &pair) const
Definition: FPGATrackSimGenScanTool.cxx:823
DeMoScan.first
bool first
Definition: DeMoScan.py:536
FPGATrackSimGenScanTool::HitPairSet::hitlist
std::vector< const StoredHit * > hitlist
Definition: FPGATrackSimGenScanTool.h:271
TauGNNUtils::Variables::Track::dEta
bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
Definition: TauGNNUtils.cxx:537