ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
EFTracking
FPGATrackSim
FPGATrackSimBinning
FPGATrackSimBinning
IFPGATrackSimBinDesc.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
3
#ifndef IFPGATrackSimBinDesc_H
4
#define IFPGATrackSimBinDesc_H
5
24
#include "GaudiKernel/IAlgTool.h"
25
26
#include "
FPGATrackSimObjects/FPGATrackSimTrackPars.h
"
27
#include "
FPGATrackSimObjects/FPGATrackSimHit.h
"
28
29
#include "
FPGATrackSimBinning/FPGATrackSimBinUtil.h
"
30
31
#include <functional>
32
#include <string>
33
34
class
FPGATrackSimBinStep
;
35
36
//-------------------------------------------------------------------------------------------------------
37
// BinnedHits
38
// Nomenclature:
39
// parameter = parameter of track e.g. (pT,eta,phi,d0,z0) but could be
40
// in different coordinates
41
// such at in the keylayer format where its
42
// (z_in,z_out,phi_in,phi_out,x_m)
43
// bin = a bin in the full parameters space (upto 5-d)
44
// subbin = a binning used as part of the total binning e.g. only in
45
// (pT,phi) or only in (z_in,z_out)
46
//-------------------------------------------------------------------------------------------------------
47
class
IFPGATrackSimBinDesc
:
virtual
public
IAlgTool {
48
public
:
49
DeclareInterfaceID
(
IFPGATrackSimBinDesc
, 1, 0);
50
51
//--------------------------------------------------------------------------------------------------
52
//
53
// Virtual methods that are overloaded to define the binning
54
//
55
//--------------------------------------------------------------------------------------------------
56
57
// Specification of parameters
58
virtual
const
std::string &
parNames
(
unsigned
i)
const
= 0;
59
60
// convert back and forth from pT, eta, phi, d0, z0 and internal paramater set
61
virtual
const
FPGATrackSimBinUtil::ParSet
trackParsToParSet
(
const
FPGATrackSimTrackPars
&pars)
const
= 0;
62
virtual
const
FPGATrackSimTrackPars
parSetToTrackPars
(
const
FPGATrackSimBinUtil::ParSet
&parset)
const
= 0;
63
64
// calculate the distance in phi or eta from a track defined by parset to a hit
65
// these can be implemented as any variable in the r-phi or r-eta plane (not necessarily eta and phi).
66
virtual
double
phiResidual
(
const
FPGATrackSimBinUtil::ParSet
&parset,
FPGATrackSimHit
const
*
hit
)
const
= 0;
67
virtual
double
etaResidual
(
const
FPGATrackSimBinUtil::ParSet
&parset,
FPGATrackSimHit
const
*
hit
)
const
= 0;
68
69
// idx should be with the definition specifed in the step
70
// NOTE: the stored hit may be modified!
71
virtual
bool
hitInBin
(
const
FPGATrackSimBinStep
&step,
72
const
FPGATrackSimBinUtil::IdxSet
&idx,
73
FPGATrackSimBinUtil::StoredHit
&storedhit)
const
= 0;
74
75
// Write the relevant LUT tables for firmware
76
// Implementation is optional. This is not needed for operation,
77
// but to generate constants for the firmware
78
virtual
void
writeLUTs
([[maybe_unused]]
const
FPGATrackSimBinStep
&step)
const
{}
79
80
// Set truthbin for debugging
81
// This does not need to be set but can be useful for debuging
82
void
setTruthBin
(
const
std::vector<FPGATrackSimBinUtil::IdxSet>& truthbin){
m_truthbin
=truthbin;}
83
84
protected
:
85
std::vector<FPGATrackSimBinUtil::IdxSet>
m_truthbin
{};
86
87
};
88
89
#endif
// IFPGATrackSimBinDesc_H
FPGATrackSimBinUtil.h
Binning Utilities for GenScanTool.
FPGATrackSimHit.h
: FPGATrackSim-specific class to represent an hit in the detector.
FPGATrackSimTrackPars.h
Structs that store the 5 track parameters.
hit
bool hit(const Container &ids, int pdgId)
Definition
JetIRCSafeLabelTool.cxx:64
FPGATrackSimBinStep
Definition
FPGATrackSimBinStep.h:45
FPGATrackSimHit
Definition
FPGATrackSimHit.h:42
FPGATrackSimTrackPars
Definition
FPGATrackSimTrackPars.h:22
IFPGATrackSimBinDesc
Definition
IFPGATrackSimBinDesc.h:47
IFPGATrackSimBinDesc::m_truthbin
std::vector< FPGATrackSimBinUtil::IdxSet > m_truthbin
Definition
IFPGATrackSimBinDesc.h:85
IFPGATrackSimBinDesc::phiResidual
virtual double phiResidual(const FPGATrackSimBinUtil::ParSet &parset, FPGATrackSimHit const *hit) const =0
IFPGATrackSimBinDesc::etaResidual
virtual double etaResidual(const FPGATrackSimBinUtil::ParSet &parset, FPGATrackSimHit const *hit) const =0
IFPGATrackSimBinDesc::parNames
virtual const std::string & parNames(unsigned i) const =0
IFPGATrackSimBinDesc::parSetToTrackPars
virtual const FPGATrackSimTrackPars parSetToTrackPars(const FPGATrackSimBinUtil::ParSet &parset) const =0
IFPGATrackSimBinDesc::DeclareInterfaceID
DeclareInterfaceID(IFPGATrackSimBinDesc, 1, 0)
IFPGATrackSimBinDesc::setTruthBin
void setTruthBin(const std::vector< FPGATrackSimBinUtil::IdxSet > &truthbin)
Definition
IFPGATrackSimBinDesc.h:82
IFPGATrackSimBinDesc::trackParsToParSet
virtual const FPGATrackSimBinUtil::ParSet trackParsToParSet(const FPGATrackSimTrackPars &pars) const =0
IFPGATrackSimBinDesc::writeLUTs
virtual void writeLUTs(const FPGATrackSimBinStep &step) const
Definition
IFPGATrackSimBinDesc.h:78
IFPGATrackSimBinDesc::hitInBin
virtual bool hitInBin(const FPGATrackSimBinStep &step, const FPGATrackSimBinUtil::IdxSet &idx, FPGATrackSimBinUtil::StoredHit &storedhit) const =0
FPGATrackSimBinUtil::IdxSet
Definition
FPGATrackSimBinUtil.h:41
FPGATrackSimBinUtil::ParSet
Definition
FPGATrackSimBinUtil.h:36
FPGATrackSimBinUtil::StoredHit
Definition
FPGATrackSimBinUtil.h:92
Generated on
for ATLAS Offline Software by
1.17.0