|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef SiTrackMaker_xk_H
14 #define SiTrackMaker_xk_H
28 #include "GaudiKernel/ToolHandle.h"
46 class SiTrackMakerEventData_xk;
64 public extends<AthAlgTool, ISiTrackMaker>
78 (
const std::string&,
const std::string&,
const IInterface*);
88 virtual std::list<Trk::Track*>
91 virtual std::list<Trk::Track*>
122 ToolHandle<InDet::ISiDetElementsRoadMaker>
m_roadmaker{
this,
"RoadTool",
"InDet::SiDetElementsRoadMaker_xk"};
123 ToolHandle<InDet::ISiCombinatorialTrackFinder>
m_tracksfinder{
this,
"CombinatorialTrackFinder",
"InDet::SiCombinatorialTrackFinder_xk"};
126 ToolHandle<InDet::ISeedToTrackConversionTool>
m_seedtrack{
this,
"SeedToTrackConversion",
"InDet::SeedToTrackConversionTool"};
139 BooleanProperty
m_seedsfilter{
this,
"UseSeedFilter",
true,
"Use seed filter"};
140 StringProperty
m_fieldmode{
this,
"MagneticFieldMode",
"MapSolenoid",
"Mode of magnetic field"};
141 StringProperty
m_patternName{
this,
"TrackPatternRecoInfo",
"SiSPSeededFinder",
"Name of the pattern recognition"};
142 BooleanProperty
m_usePix{
this,
"usePixel",
true,
"flags to set whether to use pixel/sct cluster, irrespective of what is in event"};
144 BooleanProperty
m_useassoTool{
this,
"UseAssociationTool",
false,
"Use prd-track association tool"};
145 BooleanProperty
m_cosmicTrack{
this,
"CosmicTrack",
false,
"Is it cosmic track"};
150 BooleanProperty
m_useHClusSeed{
this,
"doHadCaloSeedSSS",
false,
"Hadronic Calorimeter Seeds"};
153 BooleanProperty
m_useTrigTrackFollowingTool{
this,
"useTrigTrackFollowingTool",
false,
"Option to use TrigInDetTrackFollowingTool instead of SiCombinatorialTrackFinder_xk"};
154 BooleanProperty
m_useTrigInDetRoadPredictorTool{
this,
"useTrigInDetRoadPredictorTool",
false,
"Option to use TrigInDetRoadPredictorTool instead of ISiDetElementsRoadMaker"};
156 DoubleProperty
m_xi2max{
this,
"Xi2max", 15.,
"max Xi2 for updators"};
157 DoubleProperty
m_xi2maxNoAdd{
this,
"Xi2maxNoAdd", 35.,
"max Xi2 for clusters"};
158 DoubleProperty
m_xi2maxlink{
this,
"Xi2maxlink", 200.,
"max Xi2 for clusters"};
159 DoubleProperty
m_pTmin{
this,
"pTmin", 500.,
"min pT"};
160 DoubleProperty
m_pTminBrem{
this,
"pTminBrem", 1000.,
"min pT for Brem mode"};
161 DoubleProperty
m_distmax{
this,
"MaxDistanceForSCTsp", 5.};
162 DoubleProperty
m_xi2multitracks{
this,
"Xi2maxMultiTracks", 3.,
"max Xi2 for multi tracks"};
163 IntegerProperty
m_nholesmax{
this,
"nHolesMax", 2,
"Max number holes"};
164 IntegerProperty
m_dholesmax{
this,
"nHolesGapMax", 2,
"Max holes gap"};
165 IntegerProperty
m_nclusmin{
this,
"nClustersMin", 6,
"Min number clusters"};
166 IntegerProperty
m_nwclusmin{
this,
"nWeightedClustersMin", 6,
"Min umber weighted clusters(pix=2 sct=1)"};
167 IntegerProperty
m_trackletPoints{
this,
"trackletPoints", 1,
"Select which tracklet points to use"};
170 DoubleArrayProperty
m_etabins{
this,
"etaBins", {},
"eta bins"};
171 DoubleArrayProperty
m_ptbins{
this,
"pTBins", {},
"pT bins"};
238 const std::vector<const Trk::SpacePoint*>& SP,
239 const EventContext& ctx)
const;
250 std::vector<const InDetDD::SiDetectorElement*>& DE) ;
252 static int kindSeed(
const std::vector<const Trk::SpacePoint*>& Sp) ;
253 static int rapidity(
const std::vector<const Trk::SpacePoint*>& Sp) ;
258 double pTmin(
double eta)
const;
268 template <
typename T,
size_t N>
void resetCounter(std::array<T,N> &
a)
const{
275 #endif // SiTrackMaker_xk_H
MsgStream & dumpStatistics(MsgStream &out) const
char data[hepevt_bytes_allocation_ATLAS]
IntegerProperty m_nclusmin
Contains information about the 'fitter' of this track.
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
DoubleProperty m_xi2multitracks
std::vector< std::vector< double > > m_seedsWithTracksEta ATLAS_THREAD_SAFE
MsgStream & dumpconditions(MsgStream &out) const
DoubleProperty m_xi2maxNoAdd
IntegerProperty m_nwclusmin
ToolHandle< InDet::ISeedToTrackConversionTool > m_seedtrack
static MsgStream & dumpevent(SiTrackMakerEventData_xk &data, MsgStream &out)
BooleanProperty m_useTrigTrackFollowingTool
BooleanProperty m_seedsfilter
Trk::TrackInfo m_trackinfo
Trk::MagneticFieldMode m_fieldModeEnum
BooleanProperty m_useCaloSeeds
ToolHandle< ITrigInDetRoadPredictorTool > m_trigInDetRoadPredictorTool
bool globalPositions(const Trk::SpacePoint &s0, const Trk::SpacePoint &s1, const Trk::SpacePoint &s2, double *p0, double *p1, double *p2) const
static int kindSeed(const std::vector< const Trk::SpacePoint * > &Sp)
StringProperty m_fieldmode
StringProperty m_patternName
BooleanProperty m_useHClusSeed
virtual StatusCode finalize() override
virtual void endEvent(SiTrackMakerEventData_xk &data) const override
virtual StatusCode initialize() override
SiTrackMaker_xk & operator=(const SiTrackMaker_xk &)=delete
static void detectorElementsSelection(SiTrackMakerEventData_xk &data, std::vector< const InDetDD::SiDetectorElement * > &DE)
void resetCounter(std::array< T, N > &a) const
static bool isNewTrack(SiTrackMakerEventData_xk &data, Trk::Track *Tr)
DoubleArrayProperty m_ptbins
BooleanProperty m_useTrigInDetRoadPredictorTool
BooleanProperty m_seedsegmentsWrite
InDet::TrackQualityCuts setTrackQualityCuts(bool simpleTrack) const
BooleanProperty m_multitracks
std::array< std::atomic< int >, SiCombinatorialTrackFinderData_xk::kNSeedTypes > m_totalInputSeeds ATLAS_THREAD_SAFE
static void globalDirections(const double *p0, const double *p1, const double *p2, double *d0, double *d1, double *d2)
Here, we derive the local track direction in the space-points as the tangents to the estimated trajec...
bool isHadCaloCompatible(SiTrackMakerEventData_xk &data) const
bool globalPosition(const Trk::SpacePoint &sp, const double *dir, double *p) const
This is a refinement of the global position for strip space-points.
BooleanProperty m_LRTmode
std::vector< std::vector< double > > m_usedSeedsEta ATLAS_THREAD_SAFE
::StatusCode StatusCode
StatusCode definition for legacy code.
DoubleProperty m_phiWidth
ToolHandle< InDet::ISiDetElementsRoadMaker > m_roadmaker
BooleanProperty m_useSSSfilter
SG::ReadHandleKey< ROIPhiRZContainer > m_caloCluster
BooleanProperty m_useassoTool
double pTmin(double eta) const
SG::ReadHandleKey< ROIPhiRZContainer > m_caloHad
BooleanProperty m_ITKGeometry
IntegerProperty m_dholesmax
@ FullField
Field is set to be realistic, but within a given Volume.
BooleanProperty m_useBremModel
void fill(H5::Group &out_file, size_t iterations)
SiTrackMaker_xk(const SiTrackMaker_xk &)=delete
IntegerProperty m_trackletPoints
virtual std::list< Trk::Track * > getTracks(const EventContext &ctx, SiTrackMakerEventData_xk &data, const std::vector< const Trk::SpacePoint * > &Sp) const override
DoubleArrayProperty m_etabins
bool isCaloCompatible(SiTrackMakerEventData_xk &data) const
DoubleProperty m_etaWidth
ToolHandle< InDet::ISiCombinatorialTrackFinder > m_tracksfinder
MsgStream & dump(SiTrackMakerEventData_xk &data, MsgStream &out) const override
virtual ~SiTrackMaker_xk()=default
virtual void newEvent(const EventContext &ctx, SiTrackMakerEventData_xk &data, bool PIX, bool SCT) const override
bool newSeed(SiTrackMakerEventData_xk &data, const std::vector< const Trk::SpacePoint * > &Sp) const
std::unique_ptr< Trk::TrackParameters > getAtaPlane(MagField::AtlasFieldCache &fieldCache, SiTrackMakerEventData_xk &data, bool sss, const std::vector< const Trk::SpacePoint * > &SP, const EventContext &ctx) const
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
DoubleProperty m_pTminBrem
virtual void newTrigEvent(const EventContext &ctx, SiTrackMakerEventData_xk &data, bool PIX, bool SCT) const override
BooleanProperty m_cosmicTrack
std::mutex m_counterMutex
void resetCounter(std::array< std::array< T, M >, N > &a) const
helper for working with the stat arrays
DoubleProperty m_xi2maxlink
static int rapidity(const std::vector< const Trk::SpacePoint * > &Sp)
std::vector< statAllTypes > m_indexToEnum
ToolHandle< ITrigInDetTrackFollowingTool > m_trigInDetTrackFollowingTool
static void clusterTrackMap(SiTrackMakerEventData_xk &data, Trk::Track *Tr)
IntegerProperty m_nholesmax