ATLAS Offline Software
Loading...
Searching...
No Matches
TRT_DriftCircleTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// Header file for class TRT_DriftCircleTool
8// (c) ATLAS Detector software
10// Interface for TRT RDI collection production
12// Version 1.0 18/02/2003 I.Gavrilenko
14
15#ifndef TRT_DriftCircleTool_H
16#define TRT_DriftCircleTool_H
17
19
23#include "GaudiKernel/ToolHandle.h"
24#include "GaudiKernel/ServiceHandle.h"
28
31
33class TRT_ID;
34class TRT_RDORawData;
35class TRT_DriftCircleCollection;
36class TRT_DriftCircle;
37
38
39namespace InDet {
40
45class TRT_DriftCircleTool final: public AthAlgTool, virtual public ITRT_DriftCircleTool
46
47{
49 // Public methods:
51
52public:
54 TRT_DriftCircleTool(const std::string&,const std::string&,const IInterface*);
58 virtual StatusCode initialize() override;
60 virtual StatusCode finalize () override;
62 virtual InDet::TRT_DriftCircleCollection*
63 convert(int,
65 const EventContext& ctx,
66 DataPool<TRT_DriftCircle>* dataItemsPool,
67 const bool CTBBadChannels) const override;
69 virtual bool passValidityGate(unsigned int word, float lowGate, float highGate, float t0) const override;
70
72 // Private methods:
74
75 private:
76
78 // Private data:
80 SG::ReadCondHandleKey<InDetDD::TRT_DetElementContainer> m_trtDetEleContKey{this, "TRTDetEleContKey", "TRT_DetElementContainer", "Key of TRT_DetElementContainer for TRT"};
82 {this, "LumiDataKey", "", "SG key for luminosity data"};
83
84 ToolHandle< ITRT_DriftFunctionTool > m_driftFunctionTool{
85 this, "TRTDriftFunctionTool", "TRT_DriftFunctionTool"};
86 ToolHandle<ITRT_StrawStatusSummaryTool> m_ConditionsSummary{
87 this, "ConditionsSummaryTool", "TRT_StrawStatusSummaryTool"};
88
89 BooleanProperty m_useConditionsStatus{this, "UseConditionsStatus", false,
90 "Shall the ConditionsSummaryTool be used?"};
91 BooleanProperty m_useConditionsHTStatus{this, "UseConditionsHTStatus", false,
92 "Shall the ConditionsSummaryTool be used for HT to find argon straws?"};
93 BooleanProperty m_useToTCorrection{this, "useDriftTimeToTCorrection", false,
94 "Shall the Time over Threshold correction be used?"};
95 BooleanProperty m_useHTCorrection{this, "useDriftTimeHTCorrection", false,
96 "Shall the High Threshold correction be used?"};
97 const TRT_ID* m_trtid = nullptr;
98 BooleanProperty m_reject_if_first_bit{this, "RejectIfFirstBit", false,
99 "If true, reject this DC if first bit high"};
100 BooleanProperty m_reject_if_first_bit_argon{this, "RejectIfFirstBitArgon", true,
101 "If true, reject this DC if first bit high"};
102 FloatProperty m_min_trailing_edge{this, "MinTrailingEdge", 11.0*CLHEP::ns,
103 "Min raw trailing edge position to not reject this DC"};
104 FloatProperty m_min_trailing_edge_argon{this, "MinTrailingEdgeArgon", 11.0*CLHEP::ns,
105 "Min raw trailing edge position to not reject this DC"};
106 FloatProperty m_max_drift_time{this, "MaxDriftTime", 60.0*CLHEP::ns,
107 "Max allowed raw drift time to not reject this DC"};
108 FloatProperty m_max_drift_time_argon{this, "MaxDriftTimeArgon", 60.0*CLHEP::ns,
109 "Max allowed raw drift time to not reject this DC"};
110 BooleanProperty m_out_of_time_supression{this, "SimpleOutOfTimePileupSupression", false,
111 "Turn this on to turn on the OOT options!"};
113 {this, "SimpleOutOfTimePileupSupressionArgon", false,
114 "Turn this on to turn on the OOT options!"};
115 BooleanProperty m_validity_gate_suppression{this, "ValidityGateSuppression", false,
116 "Turn on suppression using validity gates"};
118 {this, "ValidityGateSuppressionArgon", false, "Turn on suppression using validity gates"};
119 FloatProperty m_low_gate{this, "LowGate", 18.0*CLHEP::ns, "Low value for gate"};
120 FloatProperty m_low_gate_argon{this, "LowGateArgon", 18.0*CLHEP::ns, "Low value for gate"};
121 FloatProperty m_high_gate{this, "HighGate", 38.0*CLHEP::ns, "High value for gate"};
122 FloatProperty m_high_gate_argon{this, "HighGateArgon", 38.0*CLHEP::ns, "High value for gate"};
123};
124
125} // end of namespace
126
127#endif // TRT_DriftCircleTool_H
abstract interface to TRT straw status constants
static Double_t t0
Hold luminosity data produced by LuminosityCondAlg.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
a typed memory pool that saves time spent allocation small object.
Definition DataPool.h:63
Interface class for service providing summary of status of a detector element.
Interface class for TRT_DriftCircleTool.
BooleanProperty m_useConditionsHTStatus
virtual bool passValidityGate(unsigned int word, float lowGate, float highGate, float t0) const override
test validity gate for corrected drift times
virtual InDet::TRT_DriftCircleCollection * convert(int, const InDetRawDataCollection< TRT_RDORawData > *, const EventContext &ctx, DataPool< TRT_DriftCircle > *dataItemsPool, const bool CTBBadChannels) const override
make the conversion from RDOs to DriftCircles
SG::ReadCondHandleKey< LuminosityCondData > m_lumiDataKey
BooleanProperty m_validity_gate_suppression
BooleanProperty m_reject_if_first_bit_argon
TRT_DriftCircleTool(const std::string &, const std::string &, const IInterface *)
constructor
virtual StatusCode finalize() override
finalize
virtual StatusCode initialize() override
initialize needed services
BooleanProperty m_out_of_time_supression_argon
ToolHandle< ITRT_StrawStatusSummaryTool > m_ConditionsSummary
SG::ReadCondHandleKey< InDetDD::TRT_DetElementContainer > m_trtDetEleContKey
virtual ~TRT_DriftCircleTool()
destructor
ToolHandle< ITRT_DriftFunctionTool > m_driftFunctionTool
const TRT_ID * m_trtid
ID helper.
BooleanProperty m_validity_gate_suppression_argon
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
Primary Vertex Finder.