ATLAS Offline Software
Loading...
Searching...
No Matches
AddTRTMomConstr.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5// @file AddTRTMomConstr.cxx
6//
7// @brief Algorithm for
8// This code is derived from TRT_AlignAlgs/AddTRTMomConstr.h/.cxx
9//
10// @author Oleg Brandt
11// many thanks to the TRTAlignAlgs designers, Pawel Bruckman, Markus Elsing and Thijs Cornelissen!
12//
13// $Id: AddTRTMomConstr.h,v 1.8 2009-05-18 15:48:05 moles Exp $
14
15#ifndef INDETALIGNGENALGS_ADDTRTMOMCONSTR_H
16#define INDETALIGNGENALGS_ADDTRTMOMCONSTR_H
17
18#include <string>
21#include "GaudiKernel/ToolHandle.h"
24
25class TRT_ID ;
26class AtlasDetectorID ;
27
28namespace Trk {
29 class ITrackFitter ;
30 class Track ;
31 class ITrackSummaryTool ;
34}
35
37 public:
44 AddTRTMomConstr(const std::string& name, ISvcLocator* pSvcLocator) ;
46 StatusCode initialize() ;
47 StatusCode execute() ;
48 StatusCode finalize() ;
49
50 MsgStream& dump( MsgStream& outst ) const ;
51
52 private:
53 // helper functions
59 bool accept( const Trk::Track& track ) ;
66 , const Trk::Perigee* mpTRT ) ;
70
71 // infrastructure
73 const TRT_ID* m_trtid ;
74 std::string m_trackListInput ;
75 std::string m_trackListOutput ;
76 ToolHandle<Trk::ITrackSummaryTool> m_trackSummaryTool ;
77 ToolHandle<Trk::ITrackFitter> m_trackFitter ;
78
79 // algorithm-internal members
81 double m_thetaCorr ;
83 double m_selPtMin ;
84 double m_selEtaMin ;
85 double m_selEtaMax ;
96 size_t m_nRejectPIX ;
97 size_t m_nRejectSCT ;
98 size_t m_nRejectTRT ;
99 size_t m_nRejectPM ;
100} ;
101
102MsgStream& operator<<( MsgStream& outst, const AddTRTMomConstr& alg ) ;
103
104#endif
MsgStream & operator<<(MsgStream &outst, const AddTRTMomConstr &alg)
size_t m_nRejectPM
Counter for number of tracks failing the addition of a pseudo-measurement (PM)
Trk::Track * addTRTMomentumConstraint(const Trk::Track *track)
Strips of all TRT hits from the track and replaces them with a TRT momentum constraint from a the TRT...
std::string m_trackListInput
Name of the TrackCollection (input)
double m_selPtMin
minimal pT cut value for the TrackSelection
bool m_useThetaCorrection
correct theta after TRT+PM(z0,theta) refit, small diff.
StatusCode finalize()
finalize method of this algorithm.
size_t m_nRejectSCT
Counter for number of tracks failing the min number of SCT hits req.
size_t m_nTracksProcessed
Counter for number of tracks processed.
const Trk::TrackStateOnSurface * findouterscthit(const Trk::Track *track)
Returns the outermost SCT TSOS on the given Track.
double m_selEtaCrackMax
maximum |eta| to define the transition region
const Trk::PseudoMeasurementOnTrack * createPMfromSi(const Trk::Perigee *mp)
creates a PseudoMeasurement with (z0, theta) from extended track perigee parameters
bool accept(const Trk::Track &track)
Verifies if the given track passes the track selection criteria specified via the jobOptions.
size_t m_nTracksAccepted
Counter for number of tracks passing the preselection and with PM.
std::string m_trackListOutput
Name of the TrackCollection (Output)
ToolHandle< Trk::ITrackFitter > m_trackFitter
The TrackFitter to refit the tracks (segment, momentum constraint)
AddTRTMomConstr(const std::string &name, ISvcLocator *pSvcLocator)
The AddTRTMomConstr is an implementation to add the so-called TRT momentum constraint on a track.
int m_selNHitPIXMin
minimal number of PIX hits cut value for the TrackSelection
const TRT_ID * m_trtid
Identifier helper class for the TRT.
double m_selEtaMax
maximal eta cut value for the TrackSelection
int m_selNHitTRTMinCrack
minimal number of TRT hits cut value in trans.
double m_selEtaMin
minimal eta cut value for the TrackSelection
StatusCode execute()
execute method of this algorithm that is called for each event
int m_selNHitSCTMin
minimal number of SCT hits cut value for the TrackSelection
ToolHandle< Trk::ITrackSummaryTool > m_trackSummaryTool
The summary tool to make the track selection.
double m_selEtaCrackMin
minimum |eta| to define the transition region
int m_selNHitTRTMin
minimal number of TRT hits cut value for the TrackSelection
const Trk::PseudoMeasurementOnTrack * createPMfromTRT(const Trk::Perigee *mpSi, const Trk::Perigee *mpTRT)
creates a PseudoMeasurement with (z0, theta, q/p) from TRT track perigee parameters
double m_selChiSqPerDOFMin
maximal Chisquare per degree of freedom cut value for the TrackSelection
StatusCode initialize()
initialize method of this algorithm.
size_t m_nTracksPresel
Counter for number of tracks passing the preselection.
double m_thetaCorr
theta can be different after TRT+PM fit by < o(10e-4).
bool m_applyTrkSel
apply a selection on tracks or not
size_t m_nRejectTRT
Counter for number of tracks failing the min number of TRT hits req.
size_t m_nRejectPIX
Counter for number of tracks failing the min number of PIX hits req.
const Trk::TrackStateOnSurface * findinnertrthit(const Trk::Track *track)
Returns the innermost TRT TSOS on the given Track.
const AtlasDetectorID * m_idHelper
Detector ID helper.
const Trk::MeasurementSet addPM(Trk::MeasurementSet &ms, const Trk::PseudoMeasurementOnTrack *pm)
adds a PseudoMeasurement to a MeasurementSet
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
Provides the abstract interface for track fitting in the common ATLAS Tracking EDM.
Interface for condensing Trk::Track properties and associated hits to a (non-fittable) foot print,...
Class to handle pseudo-measurements in fitters and on track objects.
represents the track state (measurement, material, fit parameters and quality) at a surface.
Ensure that the ATLAS eigen extensions are properly loaded.
std::vector< const MeasurementBase * > MeasurementSet
vector of fittable measurements
Definition FitterTypes.h:30
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
-event-from-file