ATLAS Offline Software
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 
25 class TRT_ID ;
26 class AtlasDetectorID ;
27 
28 namespace Trk {
29  class ITrackFitter ;
30  class Track ;
31  class ITrackSummaryTool ;
32  class TrackStateOnSurface ;
34 }
35 
37  public:
44  AddTRTMomConstr(const std::string& name, ISvcLocator* pSvcLocator) ;
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 ;
82  bool m_applyTrkSel ;
83  double m_selPtMin ;
84  double m_selEtaMin ;
85  double m_selEtaMax ;
90  double m_selEtaCrackMin ;
91  double m_selEtaCrackMax ;
94  size_t m_nTracksPresel ;
96  size_t m_nRejectPIX ;
97  size_t m_nRejectSCT ;
98  size_t m_nRejectTRT ;
99  size_t m_nRejectPM ;
100 } ;
101 
102 MsgStream& operator<<( MsgStream& outst, const AddTRTMomConstr& alg ) ;
103 
104 #endif
AddTRTMomConstr::m_selNHitPIXMin
int m_selNHitPIXMin
minimal number of PIX hits cut value for the TrackSelection
Definition: AddTRTMomConstr.h:86
AddTRTMomConstr::finalize
StatusCode finalize()
finalize method of this algorithm.
Definition: AddTRTMomConstr.cxx:112
AddTRTMomConstr::m_selPtMin
double m_selPtMin
minimal pT cut value for the TrackSelection
Definition: AddTRTMomConstr.h:83
AddTRTMomConstr::createPMfromTRT
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
Definition: AddTRTMomConstr.cxx:291
AddTRTMomConstr::dump
MsgStream & dump(MsgStream &outst) const
Definition: AddTRTMomConstr.cxx:436
SGout2dot.alg
alg
Definition: SGout2dot.py:243
TrackParameters.h
AddTRTMomConstr::m_trackSummaryTool
ToolHandle< Trk::ITrackSummaryTool > m_trackSummaryTool
The summary tool to make the track selection.
Definition: AddTRTMomConstr.h:76
AthMsgStreamMacros.h
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
AddTRTMomConstr::addTRTMomentumConstraint
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...
Definition: AddTRTMomConstr.cxx:338
AddTRTMomConstr::m_selEtaCrackMax
double m_selEtaCrackMax
maximum |eta| to define the transition region
Definition: AddTRTMomConstr.h:91
AddTRTMomConstr::m_selEtaCrackMin
double m_selEtaCrackMin
minimum |eta| to define the transition region
Definition: AddTRTMomConstr.h:90
AddTRTMomConstr::m_trtid
const TRT_ID * m_trtid
Identifier helper class for the TRT.
Definition: AddTRTMomConstr.h:73
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
AddTRTMomConstr::m_trackListInput
std::string m_trackListInput
Name of the TrackCollection (input)
Definition: AddTRTMomConstr.h:74
AddTRTMomConstr::m_idHelper
const AtlasDetectorID * m_idHelper
Detector ID helper.
Definition: AddTRTMomConstr.h:72
AddTRTMomConstr::m_nTracksPresel
size_t m_nTracksPresel
Counter for number of tracks passing the preselection.
Definition: AddTRTMomConstr.h:94
AddTRTMomConstr::m_selEtaMax
double m_selEtaMax
maximal eta cut value for the TrackSelection
Definition: AddTRTMomConstr.h:85
FitterTypes.h
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
operator<<
MsgStream & operator<<(MsgStream &outst, const AddTRTMomConstr &alg)
Definition: AddTRTMomConstr.cxx:432
AddTRTMomConstr::m_useThetaCorrection
bool m_useThetaCorrection
correct theta after TRT+PM(z0,theta) refit, small diff.
Definition: AddTRTMomConstr.h:80
AddTRTMomConstr
Definition: AddTRTMomConstr.h:36
AddTRTMomConstr::m_applyTrkSel
bool m_applyTrkSel
apply a selection on tracks or not
Definition: AddTRTMomConstr.h:82
AddTRTMomConstr::addPM
const Trk::MeasurementSet addPM(Trk::MeasurementSet &ms, const Trk::PseudoMeasurementOnTrack *pm)
adds a PseudoMeasurement to a MeasurementSet
Definition: AddTRTMomConstr.cxx:329
AddTRTMomConstr::m_nTracksProcessed
size_t m_nTracksProcessed
Counter for number of tracks processed.
Definition: AddTRTMomConstr.h:93
Trk::PseudoMeasurementOnTrack
Class to handle pseudo-measurements in fitters and on track objects.
Definition: PseudoMeasurementOnTrack.h:44
AthAlgorithm.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AddTRTMomConstr::AddTRTMomConstr
AddTRTMomConstr(const std::string &name, ISvcLocator *pSvcLocator)
The AddTRTMomConstr is an implementation to add the so-called TRT momentum constraint on a track.
Definition: AddTRTMomConstr.cxx:34
AddTRTMomConstr::m_thetaCorr
double m_thetaCorr
theta can be different after TRT+PM fit by < o(10e-4).
Definition: AddTRTMomConstr.h:81
AddTRTMomConstr::m_nRejectPM
size_t m_nRejectPM
Counter for number of tracks failing the addition of a pseudo-measurement (PM)
Definition: AddTRTMomConstr.h:99
AddTRTMomConstr::m_nRejectTRT
size_t m_nRejectTRT
Counter for number of tracks failing the min number of TRT hits req.
Definition: AddTRTMomConstr.h:98
AddTRTMomConstr::m_selEtaMin
double m_selEtaMin
minimal eta cut value for the TrackSelection
Definition: AddTRTMomConstr.h:84
AthAlgorithm
Definition: AthAlgorithm.h:47
AddTRTMomConstr::accept
bool accept(const Trk::Track &track)
Verifies if the given track passes the track selection criteria specified via the jobOptions.
Definition: AddTRTMomConstr.cxx:149
AddTRTMomConstr::initialize
StatusCode initialize()
initialize method of this algorithm.
Definition: AddTRTMomConstr.cxx:84
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
AddTRTMomConstr::m_nTracksAccepted
size_t m_nTracksAccepted
Counter for number of tracks passing the preselection and with PM.
Definition: AddTRTMomConstr.h:95
AddTRTMomConstr::findouterscthit
const Trk::TrackStateOnSurface * findouterscthit(const Trk::Track *track)
Returns the outermost SCT TSOS on the given Track.
Definition: AddTRTMomConstr.cxx:219
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AddTRTMomConstr::m_nRejectSCT
size_t m_nRejectSCT
Counter for number of tracks failing the min number of SCT hits req.
Definition: AddTRTMomConstr.h:97
AddTRTMomConstr::findinnertrthit
const Trk::TrackStateOnSurface * findinnertrthit(const Trk::Track *track)
Returns the innermost TRT TSOS on the given Track.
Definition: AddTRTMomConstr.cxx:244
AddTRTMomConstr::m_selChiSqPerDOFMin
double m_selChiSqPerDOFMin
maximal Chisquare per degree of freedom cut value for the TrackSelection
Definition: AddTRTMomConstr.h:92
AddTRTMomConstr::m_trackListOutput
std::string m_trackListOutput
Name of the TrackCollection (Output)
Definition: AddTRTMomConstr.h:75
TRT_ID
Definition: TRT_ID.h:84
AddTRTMomConstr::m_selNHitTRTMin
int m_selNHitTRTMin
minimal number of TRT hits cut value for the TrackSelection
Definition: AddTRTMomConstr.h:88
AddTRTMomConstr::~AddTRTMomConstr
~AddTRTMomConstr()
Definition: AddTRTMomConstr.cxx:82
AddTRTMomConstr::m_selNHitSCTMin
int m_selNHitSCTMin
minimal number of SCT hits cut value for the TrackSelection
Definition: AddTRTMomConstr.h:87
AddTRTMomConstr::m_trackFitter
ToolHandle< Trk::ITrackFitter > m_trackFitter
The TrackFitter to refit the tracks (segment, momentum constraint)
Definition: AddTRTMomConstr.h:77
Trk::MeasurementBaseType::PseudoMeasurementOnTrack
@ PseudoMeasurementOnTrack
Definition: MeasurementBase.h:51
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
AddTRTMomConstr::m_nRejectPIX
size_t m_nRejectPIX
Counter for number of tracks failing the min number of PIX hits req.
Definition: AddTRTMomConstr.h:96
AddTRTMomConstr::createPMfromSi
const Trk::PseudoMeasurementOnTrack * createPMfromSi(const Trk::Perigee *mp)
creates a PseudoMeasurement with (z0, theta) from extended track perigee parameters
Definition: AddTRTMomConstr.cxx:269
AddTRTMomConstr::execute
StatusCode execute()
execute method of this algorithm that is called for each event
Definition: AddTRTMomConstr.cxx:117
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
AddTRTMomConstr::m_selNHitTRTMinCrack
int m_selNHitTRTMinCrack
minimal number of TRT hits cut value in trans.
Definition: AddTRTMomConstr.h:89