ATLAS Offline Software
RefitTracksAndVertex.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 RefitTracksAndVertex.cxx
6 //
7 
8 //
9 // $Id: RefitTracksAndVertex.h,v 1.8 2009-05-18 15:48:05 moles Exp $
10 
11 #ifndef RefitTracksAndVertex_H
12 #define RefitTracksAndVertex_H
13 
14 #include <string>
17 #include "GaudiKernel/ToolHandle.h"
20 
21 class AtlasDetectorID ;
22 
23 namespace Trk {
24  class ITrackFitter ;
25  class IVertexFitter ;
26  class Track ;
27  class TrackStateOnSurface ;
29 }
30 
32  public:
39  RefitTracksAndVertex(const std::string& name, ISvcLocator* pSvcLocator) ;
42  StatusCode execute() ;
43  StatusCode finalize() ;
44 
45  MsgStream& dump( MsgStream& outst ) const ;
46 
47  private:
48  // helper functions
50  bool accept( const Trk::Track& track ) ;
58 
59  // infrastructure
61  std::string m_vertexListInput ;
62 
63 
64 
65  std::string m_trackListOutput ;
67  ToolHandle<Trk::ITrackFitter> m_trackFitter ;
68  ToolHandle<Trk::IVertexFitter> m_vertexFitter ;
69 
70  // algorithm-internal members
71  bool m_applyTrkSel ;
72  bool m_refitTracks ;
73  bool m_addPM ;
74  double m_selPtMin ;
75  double m_selEtaMin ;
76  double m_selEtaMax ;
80  size_t m_nTracksPresel ;
82  size_t m_nRejectPIX ;
83  size_t m_nRejectSCT ;
84  size_t m_nRejectTRT ;
85  size_t m_nRejectPM ;
86 } ;
87 
88 MsgStream& operator<<( MsgStream& outst, const RefitTracksAndVertex& alg ) ;
89 
90 #endif
SGout2dot.alg
alg
Definition: SGout2dot.py:243
TrackParameters.h
AthMsgStreamMacros.h
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
RefitTracksAndVertex::m_idHelper
const AtlasDetectorID * m_idHelper
Detector ID helper.
Definition: RefitTracksAndVertex.h:60
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
RefitTracksAndVertex::m_vertexFitter
ToolHandle< Trk::IVertexFitter > m_vertexFitter
The TrackFitter to refit the tracks (segment, momentum constraint)
Definition: RefitTracksAndVertex.h:68
RefitTracksAndVertex
Definition: RefitTracksAndVertex.h:31
RefitTracksAndVertex::m_trackFitter
ToolHandle< Trk::ITrackFitter > m_trackFitter
The TrackFitter to refit the tracks (segment, momentum constraint)
Definition: RefitTracksAndVertex.h:67
RefitTracksAndVertex::addPM
const Trk::MeasurementSet addPM(Trk::MeasurementSet &ms, const Trk::PseudoMeasurementOnTrack *pm)
adds a PseudoMeasurement to a MeasurementSet
Definition: RefitTracksAndVertex.cxx:237
RefitTracksAndVertex::m_selPtMin
double m_selPtMin
minimal pT cut value for the TrackSelection
Definition: RefitTracksAndVertex.h:74
FitterTypes.h
RefitTracksAndVertex::m_trackListOutput
std::string m_trackListOutput
Name of the TrackCollection (Output)
Definition: RefitTracksAndVertex.h:65
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
RefitTracksAndVertex::m_nRejectPM
size_t m_nRejectPM
Counter for number of tracks failing the addition of a pseudo-measurement (PM)
Definition: RefitTracksAndVertex.h:85
Trk::PseudoMeasurementOnTrack
Class to handle pseudo-measurements in fitters and on track objects.
Definition: PseudoMeasurementOnTrack.h:44
AthAlgorithm.h
RefitTracksAndVertex::m_nTracksPresel
size_t m_nTracksPresel
Counter for number of tracks passing the preselection.
Definition: RefitTracksAndVertex.h:80
RefitTracksAndVertex::m_outputVertexContainerName
std::string m_outputVertexContainerName
Name of vertex container.
Definition: RefitTracksAndVertex.h:66
RefitTracksAndVertex::m_selEtaMin
double m_selEtaMin
minimal eta cut value for the TrackSelection
Definition: RefitTracksAndVertex.h:75
RefitTracksAndVertex::RefitTracksAndVertex
RefitTracksAndVertex(const std::string &name, ISvcLocator *pSvcLocator)
The RefitTracksAndVertex is an implementation to add the so-called TRT momentum constraint on a track...
Definition: RefitTracksAndVertex.cxx:27
RefitTracksAndVertex::m_selNHitSCTMin
int m_selNHitSCTMin
minimal number of SCT hits cut value for the TrackSelection
Definition: RefitTracksAndVertex.h:78
RefitTracksAndVertex::m_nRejectTRT
size_t m_nRejectTRT
Counter for number of tracks failing the min number of TRT hits req.
Definition: RefitTracksAndVertex.h:84
RefitTracksAndVertex::createPMfromSi
const Trk::PseudoMeasurementOnTrack * createPMfromSi(const Trk::Perigee *mp)
creates a PseudoMeasurement with (z0, theta) from extended track perigee parameters
Definition: RefitTracksAndVertex.cxx:213
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
RefitTracksAndVertex::dump
MsgStream & dump(MsgStream &outst) const
Definition: RefitTracksAndVertex.cxx:345
RefitTracksAndVertex::m_nRejectSCT
size_t m_nRejectSCT
Counter for number of tracks failing the min number of SCT hits req.
Definition: RefitTracksAndVertex.h:83
RefitTracksAndVertex::~RefitTracksAndVertex
~RefitTracksAndVertex()
Definition: RefitTracksAndVertex.cxx:68
operator<<
MsgStream & operator<<(MsgStream &outst, const RefitTracksAndVertex &alg)
Definition: RefitTracksAndVertex.cxx:341
RefitTracksAndVertex::m_selNHitPIXMin
int m_selNHitPIXMin
minimal number of PIX hits cut value for the TrackSelection
Definition: RefitTracksAndVertex.h:77
AthAlgorithm
Definition: AthAlgorithm.h:47
Trk::MeasurementSet
std::vector< const MeasurementBase * > MeasurementSet
vector of fittable measurements
Definition: FitterTypes.h:30
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
RefitTracksAndVertex::m_applyTrkSel
bool m_applyTrkSel
apply a selection on tracks or not
Definition: RefitTracksAndVertex.h:71
RefitTracksAndVertex::m_vertexListInput
std::string m_vertexListInput
Name of the TrackCollection (input)
Definition: RefitTracksAndVertex.h:61
RefitTracksAndVertex::accept
bool accept(const Trk::Track &track)
Verifies if the given track passes the track selection criteria specified via the jobOptions.
RefitTracksAndVertex::initialize
StatusCode initialize()
initialize method of this algorithm.
Definition: RefitTracksAndVertex.cxx:70
RefitTracksAndVertex::m_nTracksProcessed
size_t m_nTracksProcessed
Counter for number of tracks processed.
Definition: RefitTracksAndVertex.h:79
RefitTracksAndVertex::m_addPM
bool m_addPM
apply a pseudo measurement based on the original track (theta,z0)
Definition: RefitTracksAndVertex.h:73
RefitTracksAndVertex::finalize
StatusCode finalize()
finalize method of this algorithm.
Definition: RefitTracksAndVertex.cxx:118
RefitTracksAndVertex::fitSCTOnlyTrack
Trk::Track * fitSCTOnlyTrack(const Trk::Track *track)
Strips of all TRT hits from the track and replaces them with a TRT momentum constraint from a the TRT...
Definition: RefitTracksAndVertex.cxx:246
Trk::MeasurementBaseType::PseudoMeasurementOnTrack
@ PseudoMeasurementOnTrack
Definition: MeasurementBase.h:51
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
RefitTracksAndVertex::m_nTracksAccepted
size_t m_nTracksAccepted
Counter for number of tracks passing the preselection and with PM.
Definition: RefitTracksAndVertex.h:81
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
RefitTracksAndVertex::execute
StatusCode execute()
execute method of this algorithm that is called for each event
Definition: RefitTracksAndVertex.cxx:123
RefitTracksAndVertex::m_refitTracks
bool m_refitTracks
refitTracks
Definition: RefitTracksAndVertex.h:72
RefitTracksAndVertex::m_nRejectPIX
size_t m_nRejectPIX
Counter for number of tracks failing the min number of PIX hits req.
Definition: RefitTracksAndVertex.h:82
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
RefitTracksAndVertex::m_selEtaMax
double m_selEtaMax
maximal eta cut value for the TrackSelection
Definition: RefitTracksAndVertex.h:76