![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
8 #include "GaudiKernel/AlgTool.h"
9 #include "GaudiKernel/ToolHandle.h"
11 #include "GaudiKernel/IToolSvc.h"
43 class ITRT_StrawSummaryTool;
65 ,
"averageInteractionsPerCrossingKey"
66 ,
"EventInfo.averageInteractionsPerCrossing"
67 ,
"Decoration for Average Interaction Per Crossing"};
70 ToolHandle< Trk::IPRD_AssociationTool >
m_assoTool{
this,
"AssociationTool",
"InDet::InDetPRD_AssociationToolGangedPixels",
"PRD_AssociationTool"};
71 ToolHandle< InDet::ITRT_LocalOccupancy >
m_localOccTool{
this,
"TRT_LocalOccupancyTool",
"",
"Local occupancy tool"};
104 TRT_ToT_dEdx(
const std::string&,
const std::string&,
const IInterface*);
120 virtual double dEdx(
const EventContext& ctx,
123 std::optional<float> localOccupancy = std::nullopt)
const override final;
131 virtual double usedHits(
const EventContext& ctx,
133 bool useHThits =
true)
const override final;
144 const double dEdx_obs,
148 int nUsedHits)
const override final;
160 const Trk::TrackStateOnSurface* trackState,
180 const Trk::TrackStateOnSurface* itr,
181 const double dEdx_obs,
184 int nUsedHits)
const;
187 const double dEdx_obs,
190 int nUsedHits)
const;
199 const Trk::TrackStateOnSurface* itr,
215 const Trk::TrackStateOnSurface* itr,
229 const Trk::TrackStateOnSurface* itr,
240 const EventContext& ctx,
276 int StrawLayer)
const;
286 int StrawLayer)
const;
295 int StrawLayer)
const;
321 double radialPosition,
340 int StrawLayer)
const;
348 std::optional<float> localOccupancy)
const;
381 #endif // TRT_TOT_DEDX_H
Property holding a SG store/key/clid from which a ReadHandle is made.
ToolHandle< ITRT_StrawStatusSummaryTool > m_TRTStrawSummaryTool
virtual double usedHits(const EventContext &ctx, const Trk::Track *track, bool useHThits=true) const override final
function to calculate number of used hits
void setMinRtrack(float minRtrack)
bool isGoodHit(const EventContext &ctx, const Trk::TrackStateOnSurface *trackState, bool useHitsHT, double &length) const
function to define what is a good hit to be used for dEdx calculation cuts on track level can be made...
void setStatusCorrection(bool value)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
double getProb(const EventContext &ctx, const Trk::TrackStateOnSurface *itr, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, int nUsedHits) const
function to calculate likelihood from prediction and resolution
virtual ~TRT_ToT_dEdx()
Virtual destructor.
DUMMY Primary Vertex Finder.
double fitFuncBarrelShort_corrRZ(const EventContext &ctx, EGasType gasType, double driftRadius, double zPosition, int StrawLayer) const
function called by fitFuncBarrel_corrRZ for short straws
int m_useTrackPartWithGasType
virtual double getTest(const EventContext &ctx, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits) const override final
function to calculate likelihood ratio test
virtual double dEdx(const EventContext &ctx, const Trk::Track *track, bool useHThits, std::optional< float > localOccupancy=std::nullopt) const override final
function to calculate sum ToT normalised to number of used hits
virtual double usedHits(const EventContext &ctx, const Trk::Track *track, bool useHitsHT=true) const =0
function to calculate number of used hits
virtual double dEdx(const EventContext &ctx, const Trk::Track *track, bool useHitsHT, std::optional< float > localOccupancy=std::nullopt) const =0
function to calculate sum ToT normalised to number of used hits
double trackOccupancyCorrection(const EventContext &ctx, const Trk::Track *track, bool useHThits, std::optional< float > localOccupancy) const
bool getCorrectionType() const
bool const RAWDATA *ch2 const
bool getStatusCorrection() const
double fitFuncBarrelLong_corrRZ(const EventContext &ctx, EGasType gasType, double driftRadius, double zPosition, int Layer, int StrawLayer) const
function called by fitFuncBarrel_corrRZ for long straws
double correctToT_corrRZ(const EventContext &ctx, const Trk::TrackStateOnSurface *itr, double length) const
main function to correct ToT values on hit level as a function of track radius and z-position
double fitFuncBarrel_corrRZL(const EventContext &ctx, EGasType gasType, double driftRadius, double zPosition, int Layer, int StrawLayer) const
function to compute correction factor in barrel region
double fitFuncBarrel_corrRZ(const EventContext &ctx, EGasType gas, double driftRadius, double zPosition, int Layer, int StrawLayer) const
function to compute correction factor in barrel region
ToolHandle< Trk::IPRD_AssociationTool > m_assoTool
float getMinRtrack() const
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode initialize() override
AlgTool initailize method.
virtual double getTest(const EventContext &ctx, const double dEdx_obs, const double pTrk, Trk::ParticleHypothesis hypothesis, Trk::ParticleHypothesis antihypothesis, int nUsedHits) const =0
function to calculate likelihood ratio test
float m_trackConfig_minRtrack
float getMaxRtrack() const
double mass(const EventContext &ctx, const Trk::TrackStateOnSurface *itr, const double pTrk, double dEdx) const
function to extract most likely mass in bg [0,3]
SG::ReadDecorHandleKey< xAOD::EventInfo > m_rdhkEvtInfo
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
SG::ReadCondHandleKey< TRTDedxcorrection > m_ReadKey
Ensure that the ATLAS eigen extensions are properly loaded.
void setAlgorithm(EstCalc alg)
double fitFuncEndcap_corrRZ(const EventContext &ctx, EGasType gas, double driftRadius, double rPosition, int Layer, int sign) const
function to compute correction factor in endcap region
double predictdEdx(const EventContext &ctx, const Trk::TrackStateOnSurface *itr, const double pTrk, Trk::ParticleHypothesis hypothesis) const
function to calculate expectation value for dEdx using BB fit
represents the track state (measurement, material, fit parameters and quality) at a surface.
void setStatusUseZeroRHitCut(bool value)
double correctNormalization(const EventContext &ctx, double nVtx=-1) const
correct overall dEdx normalization on track level
float m_trackConfig_maxRtrack
void setDefaultConfiguration()
void setMaxRtrack(float maxRtrack)
static double calculateTrackLengthInStraw(const Trk::TrackStateOnSurface *trackState, const TRT_ID *identifier)
bool getStatusUseZeroRHitCut() const
ToolHandle< InDet::ITRT_LocalOccupancy > m_localOccTool
double fitFuncPol_corrRZ(const EventContext &ctx, EGasType gasType, int parameter, double driftRadius, int Layer, int Strawlayer, int sign, int set) const
function called by fitFuncBarrel_corrRZ and fitFuncEndcap_corrRZ
double fitFuncEndcap_corrRZL(const EventContext &ctx, EGasType gasType, double driftRadius, double radialPosition, int Layer, int sign) const
function to compute correction factor in endcap region
void setGasTypeFordEdXCalculation(EGasType gasType)
double hitOccupancyCorrection(const EventContext &ctx, const Trk::TrackStateOnSurface *itr) const
void setCorrectionType(EOccupancyCorrection value)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
TRT_ToT_dEdx(const std::string &, const std::string &, const IInterface *)
AlgTool like constructor.
int getGasTypeFordEdXCalculation() const
EGasType gasTypeInStraw(const EventContext &ctx, const Trk::TrackStateOnSurface *itr) const
return gas type for that hit
unsigned int m_nTrunkateHits