ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::MSConstraintTracksProvider Class Reference

#include <MSConstraintTracksProvider.h>

Inheritance diagram for Trk::MSConstraintTracksProvider:
Collaboration diagram for Trk::MSConstraintTracksProvider:

Public Member Functions

 MSConstraintTracksProvider (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~MSConstraintTracksProvider ()
virtual StatusCode initialize ()
virtual StatusCode finalize ()
virtual StatusCode trackCollection (const TrackCollection *&tracks)
virtual void printSummary ()
 Print statistical summary to logfile.
virtual void setLogStream (std::ostream *os)
 sets the output stream for the logfile
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Protected Attributes

std::ostream * m_logStream = nullptr
 logfile output stream

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

bool combinedMuonSelection (const Analysis::Muon *)
bool bookNtuple ()
void initializeNtuple ()
void setNtuple (TFile *ntuple)
 sets ntuple
StatusCode fillNtuple ()
 writes tree to ntuple
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

ToolHandle< IGlobalTrackFitterm_trackFitter {this, "TrackFitter", "Trk::GlobalChi2Fitter/InDetTrackFitter"}
ToolHandle< Muon::IMuonHitSummaryToolm_muonHitSummaryTool {this, "MuonHitSummaryTool", "Muon::MuonHitSummaryTool/MuonHitSummaryTool"}
SG::ReadHandleKey< Analysis::MuonContainerm_muonContainerKey {this, "InputMuonCollection", "MuidMuonCollection"}
SG::ReadHandleKey< TrackCollectionm_trackContainerKey {this, "InputTracksCollection", "Tracks"}
Gaudi::Property< RunOutlierRemovalm_runOutlierRemoval {this, "RunOutlierRemoval", true, "run outlier removal in the GX2 fitter"}
Gaudi::Property< bool > m_useMSConstraintTrkOnly {this, "UseMSConstraintTrkOnly", true}
Gaudi::Property< bool > m_doTree {this, "DoTree", true}
Gaudi::Property< double > m_minPt {this, "MinPt", 15.}
Gaudi::Property< int > m_minPIXHits {this, "MinPIXHits", 1}
Gaudi::Property< int > m_minSCTHits {this, "MinSCTHits", 6}
Gaudi::Property< int > m_minTRTHits {this, "MinTRTHits", 0}
Gaudi::Property< double > m_maxIDd0 {this, "MaxIDd0", 500.}
Gaudi::Property< double > m_maxIDz0 {this, "MaxIDz0", 500.}
Gaudi::Property< double > m_minIDPt {this, "MinIDPt", 10.}
Gaudi::Property< int > m_minMDTHits {this, "MDTHits", 15}
Gaudi::Property< int > m_minRPCPhiHits {this, "MinRPCPhiHits", 0}
Gaudi::Property< int > m_minTGCPhiHits {this, "MinTGCPhiHits", 0}
Gaudi::Property< double > m_maxMSd0 {this, "MaxMSd0", 500.}
Gaudi::Property< double > m_maxMSz0 {this, "MaxMSz0", 500.}
Gaudi::Property< double > m_minMSPt {this, "MinMSPt", 0.}
Gaudi::Property< int > m_maxNumberOfSectors {this, "MaxNumberOfSectors", 1}
Gaudi::Property< int > m_minNumberOfPhiLayers {this, "MinNumberOfPhiLayers", 2}
Gaudi::Property< int > m_minStationLayers {this, "MinStationLayers", 3}
int m_nCBMuonsFromSG = 0
int m_nCBMuonsHasEXandID = 0
int m_nCBMuonsPassSelection = 0
int m_nCBMuonsFailedRefit = 0
int m_nCBMuonsSucRefit = 0
TFile * m_ntuple = nullptr
TTree * m_tree = nullptr
int m_run {}
int m_event {}
double m_pID {}
double m_pMS {}
double m_ptID {}
double m_ptMS {}
int m_charge {}
double m_combinedEta {}
double m_IDEta {}
double m_combinedPhi {}
double m_IDPhi {}
double m_pID_constrained {}
double m_ptID_constrained {}
double m_IDEta_constrained {}
double m_IDPhi_constrained {}
int m_charge_constrained {}
int m_eBLhits {}
int m_nBLhits {}
int m_nPIXDS {}
int m_nSCTDS {}
int m_nPIXH {}
int m_nSCTH {}
int m_nPIXHits {}
int m_nSCTHits {}
int m_nTRTHits {}
int m_sectors {}
int m_phiLayers {}
int m_stationLayers {}
int m_sectorNum {}
int m_phiLayerNum {}
int m_stationLayerNum {}
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 24 of file MSConstraintTracksProvider.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ MSConstraintTracksProvider()

Trk::MSConstraintTracksProvider::MSConstraintTracksProvider ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 26 of file MSConstraintTracksProvider.cxx.

30 : AthAlgTool(type,name,parent)
31 {
32 declareInterface<ITrackCollectionProvider>(this);
33 }
AthAlgTool()
Default constructor:

◆ ~MSConstraintTracksProvider()

Trk::MSConstraintTracksProvider::~MSConstraintTracksProvider ( )
virtualdefault

Member Function Documentation

◆ bookNtuple()

bool Trk::MSConstraintTracksProvider::bookNtuple ( )
private

Definition at line 65 of file MSConstraintTracksProvider.cxx.

65 {
66
67 ATH_MSG_DEBUG("in MSConstraintTracksProvider::bookNtuple");
68
69 if (m_doTree && !m_tree && m_ntuple) {
70 m_ntuple->cd();
71 m_tree = new TTree("MSMomentumConstraint","MSMomentumConstraint");
72
73 ATH_MSG_DEBUG(" Start book Ntuple");
74
75 m_tree->Branch("run", &m_run, "run/I" );
76 m_tree->Branch("event", &m_event, "event/I" );
77 m_tree->Branch("pID", &m_pID, "pID/D" );
78 m_tree->Branch("pMS", &m_pMS, "pMS/D" );
79 m_tree->Branch("ptID", &m_ptID, "ptID/D" );
80 m_tree->Branch("ptMS", &m_ptMS, "ptMS/D" );
81 m_tree->Branch("charge", &m_charge, "charge/D" );
82
83 m_tree->Branch("combinedEta", &m_combinedEta, "combinedEta/D" );
84 m_tree->Branch("IDEta", &m_IDEta, "IDEta/D" );
85 m_tree->Branch("combinedPhi", &m_combinedPhi, "combinedPhi/D" );
86 m_tree->Branch("IDPhi", &m_IDPhi, "IDPhi/D" );
87
88 m_tree->Branch("pID_constrained", &m_pID_constrained, "pID_constrained/D" );
89 m_tree->Branch("ptID_constrained", &m_ptID_constrained, "ptID_constrained/D" );
90 m_tree->Branch("IDEta_constrained", &m_IDEta_constrained, "IDEta_constrained/D" );
91 m_tree->Branch("IDPhi_constrained", &m_IDPhi_constrained, "IDPhi_constrained/D" );
92 m_tree->Branch("charge_constrained", &m_charge_constrained, "charge_constrained/D" );
93
94
95 m_tree->Branch("eBLhits", &m_eBLhits, "eBLhits/I" );
96 m_tree->Branch("nBLhits", &m_nBLhits, "nBLhits/I" );
97
98 m_tree->Branch("nPIXDS", &m_nPIXDS, "nPIXDS/I" );
99 m_tree->Branch("nSCTDS", &m_nSCTDS, "nSCTDS/I" );
100
101 m_tree->Branch("nPIXH", &m_nPIXH, "nPIXH/I" );
102 m_tree->Branch("nSCTH", &m_nSCTH, "nSCTH/I" );
103
104 m_tree->Branch("nPIXHits", &m_nPIXHits, "nPIXHits/I" );
105 m_tree->Branch("nSCTHits", &m_nSCTHits, "nSCTHits/I" );
106 m_tree->Branch("nTRTHits", &m_nTRTHits, "nTRTHits/I" );
107
108 m_tree->Branch("sectors", &m_sectors, "sectors/I" );
109 m_tree->Branch("phiLayers", &m_phiLayers, "phiLayers/I" );
110 m_tree->Branch("stationLayers", &m_stationLayers, "stationLayers/I" );
111
112 m_tree->Branch("sectorNum", &m_sectorNum, "sectorNum/I" );
113 m_tree->Branch("phiLayerNum", &m_phiLayerNum, "phiLayerNum/I" );
114 m_tree->Branch("stationLayerNum", &m_stationLayerNum, "stationLayerNum/I" );
115
116 }
117
118 ATH_MSG_DEBUG("done with bookNtuple");
119
120 return true;
121
122}
#define ATH_MSG_DEBUG(x)

◆ combinedMuonSelection()

bool Trk::MSConstraintTracksProvider::combinedMuonSelection ( const Analysis::Muon * it)
private

Definition at line 193 of file MSConstraintTracksProvider.cxx.

193 {
194
195 const Trk::Perigee* IDTrkMeasuredPerigee = dynamic_cast<const Trk::Perigee*>(& (it->inDetTrackParticle()->definingParameters()));
196 if(!IDTrkMeasuredPerigee){
197 ATH_MSG_DEBUG("NO inDetTrackParticle or no IDTrkMeasuredPerigee");
198 return false;
199 }
200
201 const Trk::Perigee* METrkMeasuredPerigee = dynamic_cast<const Trk::Perigee*>(&(it->muonExtrapolatedTrackParticle()->definingParameters()));
202 if(!METrkMeasuredPerigee){
203 ATH_MSG_DEBUG("NO muonExtrapolatedTrackParticle or no METrkMeasuredPerigee");
204 return false;
205 }
206
207 const double pt = fabs(it->pt())/1000.;
208 const double eta = fabs(it->eta());
209 ATH_MSG_DEBUG(" the combined pt : "<< pt );
210
211 if ( pt < m_minPt ||
212 eta > 2.7 ||
213 (eta > 0.8 && eta < 1.2) ){
214 ATH_MSG_DEBUG(" this combinedMuon not pass basic pt and eta cuts --- pt: "<< pt << " eta: " << eta);
215 return false;
216 }
217
218 const int nPixHits = it->numberOfPixelHits();
219 const int nSCTHits = it->numberOfSCTHits();
220 const int nTRTHits = it->numberOfTRTHits();
221
222 // Do you need fit quality cuts???
223 // const Trk::FitQuality* idfq = idtrk->fitQuality();
224 // const double chisqID = idfq->chiSquared();
225 // const int ndofID = idfq->numberDoF();
226
227
228 const double idQoverPatIP = IDTrkMeasuredPerigee->parameters()[Trk::qOverP] * 1000.;
229 const double idz0atIP = IDTrkMeasuredPerigee->parameters()[Trk::z0];
230 const double idd0atIP = IDTrkMeasuredPerigee->parameters()[Trk::d0];
231 double ptIDatIP = 0.;
232 if ( idQoverPatIP != 0 ) ptIDatIP = fabs(1.0/idQoverPatIP)*sin(IDTrkMeasuredPerigee->parameters()[Trk::theta]);
233
234 ATH_MSG_DEBUG( " ID pt : "<< ptIDatIP );
235
236
237 if( nPixHits < m_minPIXHits ||
238 nSCTHits < m_minSCTHits ||
239 nTRTHits < m_minTRTHits ||
240 idd0atIP > m_maxIDd0 ||
241 idz0atIP > m_maxIDz0 ||
242 ptIDatIP < m_minIDPt ) {
243 ATH_MSG_DEBUG("this combined muon not pass ID cuts --- nPixHits: " << nPixHits << " nSCTHits: " << nSCTHits <<
244 "nTRTHits: " << nTRTHits << " idd0atIP: " << idd0atIP << " idz0atIP: " << idz0atIP <<" ptIDatIP: " << ptIDatIP );
245 return false;
246 }
247
248
249
250 const int nMDTHits = it->numberOfMDTHits();
251 const int nRPCPhiHits = it->numberOfRPCPhiHits();
252 const int nTGCPhiHits = it->numberOfTGCPhiHits();
253
254 const double msQoverPatIP = METrkMeasuredPerigee->parameters()[Trk::qOverP] * 1000.;
255 const double msz0atIP = METrkMeasuredPerigee->parameters()[Trk::z0];
256 const double msd0atIP = METrkMeasuredPerigee->parameters()[Trk::d0];
257
258 double ptMSatIP = 0.;
259 if ( msQoverPatIP != 0 ) ptMSatIP = fabs(1.0/msQoverPatIP)*sin(METrkMeasuredPerigee->parameters()[Trk::theta]);
260
261 ATH_MSG_DEBUG( " ME pt : "<< ptMSatIP);
262
263
264
265 if( nMDTHits < m_minMDTHits ||
266 nRPCPhiHits < m_minRPCPhiHits ||
267 nTGCPhiHits < m_minTGCPhiHits ||
268 msd0atIP > m_maxMSd0 ||
269 msz0atIP > m_maxMSz0 ||
270 ptMSatIP < m_minMSPt ){
271
272 ATH_MSG_DEBUG("this combined muon not pass MS cuts --- nMDTHits: " << nMDTHits << " nRPCPhiHits: " << nRPCPhiHits <<
273 " nTGCPhiHits: " << nTGCPhiHits << " msd0atIP: " << msd0atIP <<
274 " msz0atIP: " << msz0atIP << " pMSatIP:" << ptMSatIP);
275 return false;
276 }
277
278
279 Muon::IMuonHitSummaryTool::CompactSummary summary;
280 const Rec::TrackParticle* aTrackParticle = it->track();
281
282 const Trk::Track* aTrack = nullptr;
283 if (aTrackParticle) aTrack = aTrackParticle->originalTrack();
284
285 if (aTrack && aTrack != it->inDetTrkTrack()) {
286 summary = m_muonHitSummaryTool->summary(*aTrack);
287 }
288 else {
289 ATH_MSG_WARNING("aTrack possible null !");
290 std::vector<const Muon::MuonSegment*> segments;
291 unsigned int nSeg = it->numberOfSegments();
292 segments.reserve(nSeg); // avoid death by push back
293 for( unsigned int si=0; si<nSeg; ++si ){
294 const Muon::MuonSegment* seg = dynamic_cast<const Muon::MuonSegment*>(it->muonSegment(si));
295 if( seg ) segments.push_back(seg);
296 }
297 summary = m_muonHitSummaryTool->summary(segments);
298 }
299
300 // it is possible to avoid the verbose summary construction in the above,
301 const int sectors = summary.sectors.size();
302 const int phiLayers = summary.phiLayers.size();
303 const int stationLayers = summary.stationLayers.size();
304
305
306 if ( sectors > m_maxNumberOfSectors ||
307 phiLayers < m_minNumberOfPhiLayers ||
308 stationLayers < m_minStationLayers ){
309
310 ATH_MSG_DEBUG("this combined muon not pass muonHitSummary cuts --- sectors: "<< sectors << " phiLayers: "<< phiLayers << " stationLayers: " << stationLayers);
311
312 return false;
313 }
314
315 m_pID = it->inDetTrackParticle()->p();
316 m_pMS = it->muonExtrapolatedTrackParticle()->p();
317 m_ptID = it->inDetTrackParticle()->pt();
318 m_ptMS = it->muonExtrapolatedTrackParticle()->pt();
319 m_charge = it->inDetTrackParticle()->charge();
320
321 m_combinedEta = it->eta();
322 m_IDEta = it->inDetTrackParticle()->eta();
323 m_combinedPhi = it->phi();
324 m_IDPhi = it->inDetTrackParticle()->phi();
325
326 m_nPIXHits = it->numberOfPixelHits();
327 m_nSCTHits = it->numberOfSCTHits();
328 m_nTRTHits = it->numberOfTRTHits();
329
330 m_sectors = sectors;
331 m_phiLayers = phiLayers;
332 m_stationLayers = stationLayers;
333
334 m_sectorNum = *(summary.sectors.begin());
335 //m_phiLayerNum = (summary.phiLayers)[0];
336 //m_stationLayerNum = (summary.stationLayers)[0];
337
338
339
340 return true;
341 }
Scalar eta() const
pseudorapidity method
#define ATH_MSG_WARNING(x)
ToolHandle< Muon::IMuonHitSummaryTool > m_muonHitSummaryTool
const Track * originalTrack() const
Return pointer to associated track.
float nSCTHits(const U &p)
float nTRTHits(const U &p)
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
@ theta
Definition ParamDefs.h:66
@ qOverP
perigee
Definition ParamDefs.h:67
@ d0
Definition ParamDefs.h:63
@ z0
Definition ParamDefs.h:64

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ fillNtuple()

StatusCode Trk::MSConstraintTracksProvider::fillNtuple ( )
privatevirtual

writes tree to ntuple

Reimplemented from Trk::ITrackCollectionProvider.

Definition at line 173 of file MSConstraintTracksProvider.cxx.

174 {
175 ATH_MSG_DEBUG("writing tree");
176 int success=1;
177 if (m_tree) {
178 m_ntuple->cd();
179 success = m_tree->Write();
180 }
181 return success>0 ? StatusCode::SUCCESS : StatusCode::FAILURE;
182 }

◆ finalize()

StatusCode Trk::MSConstraintTracksProvider::finalize ( )
virtual

Definition at line 187 of file MSConstraintTracksProvider.cxx.

188 {
189 return StatusCode::SUCCESS;
190 }

◆ initialize()

StatusCode Trk::MSConstraintTracksProvider::initialize ( )
virtual

Definition at line 40 of file MSConstraintTracksProvider.cxx.

41 {
42 // configure main track fitter
43 ATH_CHECK(m_trackFitter.retrieve());
44 ATH_MSG_DEBUG("Retrieved " << m_trackFitter);
46
47 ATH_CHECK(m_muonContainerKey.initialize());
48 ATH_CHECK(m_trackContainerKey.initialize());
49 //
50 bookNtuple();
51 return StatusCode::SUCCESS;
52 }
#define ATH_CHECK
Evaluate an expression and check for errors.
ToolHandle< IGlobalTrackFitter > m_trackFitter
SG::ReadHandleKey< TrackCollection > m_trackContainerKey
SG::ReadHandleKey< Analysis::MuonContainer > m_muonContainerKey

◆ initializeNtuple()

void Trk::MSConstraintTracksProvider::initializeNtuple ( )
private

Definition at line 126 of file MSConstraintTracksProvider.cxx.

126 {
127
128 m_run = -999;
129 m_event = -999;
130 m_pID = -999.;
131 m_pMS = -999.;
132 m_ptID = -999.;
133 m_ptMS = -999.;
134 m_charge = -999.;
135
136 m_combinedEta = -999.;
137 m_IDEta = -999.;
138 m_combinedPhi = -999.;
139 m_IDPhi = -999.;
140
141 m_pID_constrained = -999.;
142 m_ptID_constrained = -999.;
143 m_IDEta_constrained = -999.;
144 m_IDPhi_constrained = -999.;
145 m_charge_constrained = -999.;
146
147
148 m_eBLhits = -999;
149 m_nBLhits = -999;
150 m_nPIXDS = -999,
151 m_nSCTDS = -999,
152
153 m_nPIXH = -999;
154 m_nSCTH = -999;
155
156
157 m_nPIXHits = -999;
158 m_nSCTHits = -999;
159 m_nTRTHits = -999;
160
161 m_sectors = -999;
162 m_phiLayers = -999;
163 m_stationLayers = -999;
164
165 m_sectorNum = -999;
166 m_phiLayerNum = -999;
167 m_stationLayerNum = -999;
168
169 }

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & ITrackCollectionProvider::interfaceID ( )
inlinestaticinherited

Definition at line 57 of file ITrackCollectionProvider.h.

57 {
59 }
static const InterfaceID IID_TRK_ITrackCollectionProvider("ITrackCollectionProvider", 1, 0)

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ printSummary()

void Trk::MSConstraintTracksProvider::printSummary ( )
virtual

Print statistical summary to logfile.

Reimplemented from Trk::ITrackCollectionProvider.

Definition at line 507 of file MSConstraintTracksProvider.cxx.

507 {
508
509 if(m_logStream) {
510
511 *m_logStream<<"*************************************************************"<<std::endl;
512 *m_logStream<<"****** MSConstraintTracksProvider Summary ******"<<std::endl;
513 *m_logStream<<"*"<<std::endl;
514 *m_logStream<<"* number of combined muons From SG : " << m_nCBMuonsFromSG << std::endl;
515 *m_logStream<<"* number of combined muons have Extrapolated && InDet TrackParticle : " << m_nCBMuonsHasEXandID << std::endl;
516 *m_logStream<<"* number of combined muons pass selection: " << m_nCBMuonsPassSelection << std::endl;
517 *m_logStream<<"* number of combined muons failed in refit: " << m_nCBMuonsFailedRefit << std::endl;
518 *m_logStream<<"* number of combined muons succeeded in refit: " << m_nCBMuonsSucRefit << std::endl;
519
520 *m_logStream<<"*"<<std::endl;
521 }
522 }
std::ostream * m_logStream
logfile output stream

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setLogStream()

virtual void Trk::ITrackCollectionProvider::setLogStream ( std::ostream * os)
inlinevirtualinherited

sets the output stream for the logfile

Definition at line 40 of file ITrackCollectionProvider.h.

◆ setNtuple()

void Trk::MSConstraintTracksProvider::setNtuple ( TFile * )
privatevirtual

sets ntuple

Reimplemented from Trk::ITrackCollectionProvider.

Definition at line 57 of file MSConstraintTracksProvider.cxx.

57 {
58 m_ntuple = ntuple;
59 bookNtuple();
60 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ trackCollection()

StatusCode Trk::MSConstraintTracksProvider::trackCollection ( const TrackCollection *& tracks)
virtual

Implements Trk::ITrackCollectionProvider.

Definition at line 345 of file MSConstraintTracksProvider.cxx.

345 {
347
348 originalTracks = nullptr;
349
350 SG::ReadHandle<Analysis::MuonContainer> muonContainer(m_muonContainerKey);
351 if (!muonContainer.isValid()){
352 ATH_MSG_WARNING(" Can't retrieve " << m_muonContainerKey);
353 ATH_MSG_WARNING("One probability is that you are not running on ESD/DESD ");
354
355 // Can't do MS constraint refit, resort to retrieve tracks directly
356 SG::ReadHandle<TrackCollection> trackContainer(m_trackContainerKey);
357 if (!trackContainer.isValid()){
358 originalTracks = nullptr;
359 ATH_MSG_WARNING(" Can't retrieve " << m_trackContainerKey);
360 } else {
361 originalTracks = trackContainer.cptr();
362 ATH_MSG_DEBUG(" have tracks of this event: " << originalTracks->size());
363 }
364
365 return StatusCode::SUCCESS;
366 } else {
367
369 ATH_MSG_DEBUG("have combined Muons of the event: " << muonContainer->size());
370
373 int goodQualityCombinedMuon = 0;
374
375 for ( ; combinedTrackIt != combinedTrackItE; ++combinedTrackIt ) {
377 const Analysis::Muon* muon = *combinedTrackIt;
378 if ( muon->isCombinedMuon() && muon->hasMuonExtrapolatedTrackParticle() && muon->hasInDetTrackParticle() ){
381 ATH_MSG_DEBUG("have good quality combined Muons of the event: " << ++goodQualityCombinedMuon);
383 const Trk::Perigee* METrkMeasuredPerigee = dynamic_cast<const Trk::Perigee*>(&(muon->muonExtrapolatedTrackParticle()->definingParameters()));
384 if(!METrkMeasuredPerigee){
385 ATH_MSG_DEBUG("NO muonExtrapolatedTrackParticle or no METrkMeasuredPerigee");
386 continue;
387 }
388
389 const Trk::Surface* surf = &(METrkMeasuredPerigee->associatedSurface()) ;
390 if( !surf ) {
391 ATH_MSG_DEBUG("NO surface of the METrkMeasuredPerigee");
392 continue;
393 }
394
395 const Trk::Perigee* IDTrkMeasuredPerigee = dynamic_cast<const Trk::Perigee*>(&(muon->inDetTrackParticle()->definingParameters()));
396 if(!IDTrkMeasuredPerigee){
397 ATH_MSG_DEBUG("NO inDetTrackParticle or no IDTrkMeasuredPerigee");
398 continue;
399 }
400
401 Trk::DefinedParameter qOverPFromMS(METrkMeasuredPerigee->parameters()[Trk::qOverP], Trk::qOverP) ;
402
403 std::vector<Trk::DefinedParameter> parFromMSVec;
404 parFromMSVec.push_back( qOverPFromMS) ;
405
406 Amg::MatrixX covFromMS( 1,1 ) ;
407 covFromMS( 1, 1 ) = (*METrkMeasuredPerigee->covariance())( Trk::qOverP, Trk::qOverP ) ;
408
409 auto pmot = std::make_unique<Trk::PseudoMeasurementOnTrack>(
410 Trk::LocalParameters(parFromMSVec), std::move(covFromMS), *surf);
411
412 auto trackStateOnSurfaces = std::make_unique<Trk::TrackStates>();
413 trackStateOnSurfaces->reserve(muon->inDetTrackParticle()->originalTrack()->trackStateOnSurfaces()->size() + 1);
414 Trk::TrackStates::const_iterator sb = muon->inDetTrackParticle()->originalTrack()->trackStateOnSurfaces()->begin();
415
416 std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> type;
418
419 const Perigee* IDPerigeeParameters = muon->inDetTrackParticle()->originalTrack()->perigeeParameters();
420
421 auto IDPerigeeParametersClone =
422 (IDPerigeeParameters)
423 ? std::make_unique<Perigee>(*IDPerigeeParameters)
424 : nullptr;
425
426 if(IDPerigeeParameters && IDPerigeeParametersClone ){
427 trackStateOnSurfaces->push_back(new const Trk::TrackStateOnSurface(std::move(pmot), std::move(IDPerigeeParametersClone), nullptr, type));
428
429 for ( ; sb != muon->inDetTrackParticle()->originalTrack()->trackStateOnSurfaces()->end(); ++sb) trackStateOnSurfaces->push_back((**sb).clone());
430
431 Trk::Track* tmpTrack = new Trk::Track(
432 muon->inDetTrackParticle()->originalTrack()->info(),
433 std::move(trackStateOnSurfaces),
434 nullptr);
435
436 Trk::Track* MSConstraintFittedTrack = (m_trackFitter->fit(Gaudi::Hive::currentContext(),
437 *tmpTrack, m_runOutlierRemoval,
438 Trk::muon)).release();
439
440 if(!MSConstraintFittedTrack){
442 ATH_MSG_WARNING("MSConstraintFittedTrack refit failed!");
443
445 ATH_MSG_WARNING("Try to push the originalIDTrack into the trackCollection");
446 Trk::Track* IDOriginalTrackClone = new Trk::Track(*(muon->inDetTrackParticle()->originalTrack()));
447 if(IDOriginalTrackClone){
448 const Trk::Perigee * aMeasPerClone = IDOriginalTrackClone->perigeeParameters();
449 if (aMeasPerClone) {
451 "IDOriginalTrackClone parameters --- pt: "
452 << fabs(1. / (aMeasPerClone->parameters()[Trk::qOverP])) *
453 sin(aMeasPerClone->parameters()[Trk::theta])
454 << " d0: " << aMeasPerClone->parameters()[Trk::d0]);
455 }
456 }
457 if(!IDOriginalTrackClone){
458 ATH_MSG_WARNING("Exception when IDOriginalTrackClone!");
459 } else
460 trackCollection->push_back(IDOriginalTrackClone);
461 }
462 } else {
464 ATH_MSG_DEBUG("Got 1 successful MSConstraintFittedTrack ");
465
466 Trk::Track* MSConstraintFittedTrackClone = new Trk::Track(*MSConstraintFittedTrack);
467 const Trk::Perigee * MSConstraintFittedTrackMPClone = (MSConstraintFittedTrackClone->perigeeParameters());
468 m_pID_constrained = fabs(1./(MSConstraintFittedTrackMPClone->parameters()[Trk::qOverP]));
469 m_IDEta_constrained = -log(tan(MSConstraintFittedTrackMPClone->parameters()[Trk::theta]/2.));
470 m_IDPhi_constrained = MSConstraintFittedTrackMPClone->parameters()[Trk::phi];
471 m_ptID_constrained = fabs( m_pID_constrained*sin(MSConstraintFittedTrackMPClone->parameters()[Trk::theta]) );
472 m_charge_constrained = MSConstraintFittedTrackMPClone->parameters()[Trk::qOverP]/fabs(MSConstraintFittedTrackMPClone->parameters()[Trk::qOverP]);
473
474 delete MSConstraintFittedTrackClone;
475 // only fill the tracks used in the alignment
476 m_ntuple->cd();
477 m_tree->Fill();
478
479 trackCollection->push_back(MSConstraintFittedTrack);
480 }
481
482 // clean up
483 delete tmpTrack;
484 } else{
485 ATH_MSG_WARNING("failed in IDPerigeeParameters or IDPerigeeParametersClone !");
486 }
487
488 }
489 }
490 }// end loop over tracks
491
492 if (StatusCode::SUCCESS != evtStore()->record(trackCollection, "MSMomentumConstraintTracks")){
493 ATH_MSG_WARNING("problem with recording MSMomentumConstraintTracks to StoreGate!");
494 return StatusCode::SUCCESS;
495 }
496
497 ATH_MSG_DEBUG(" The final trackCollection size : " << trackCollection->size() );
498 if ( not trackCollection->empty() ){
499 originalTracks = trackCollection;
500 }
501
502 }
503 return StatusCode::SUCCESS;
504}
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
xAOD::MuonContainer * muonContainer
ServiceHandle< StoreGateSvc > & evtStore()
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Property< RunOutlierRemoval > m_runOutlierRemoval
bool combinedMuonSelection(const Analysis::Muon *)
Gaudi::Property< bool > m_useMSConstraintTrkOnly
virtual StatusCode trackCollection(const TrackCollection *&tracks)
virtual const S & associatedSurface() const override final
Access to the Surface method.
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
const Perigee * perigeeParameters() const
return Perigee.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
@ phi
Definition ParamDefs.h:75
std::pair< double, ParamDefs > DefinedParameter
Typedef to of a std::pair<double, ParamDefs> to identify a passed-through double as a specific type o...

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_charge

int Trk::MSConstraintTracksProvider::m_charge {}
private

Definition at line 95 of file MSConstraintTracksProvider.h.

95{};

◆ m_charge_constrained

int Trk::MSConstraintTracksProvider::m_charge_constrained {}
private

Definition at line 106 of file MSConstraintTracksProvider.h.

106{};

◆ m_combinedEta

double Trk::MSConstraintTracksProvider::m_combinedEta {}
private

Definition at line 97 of file MSConstraintTracksProvider.h.

97{};

◆ m_combinedPhi

double Trk::MSConstraintTracksProvider::m_combinedPhi {}
private

Definition at line 99 of file MSConstraintTracksProvider.h.

99{};

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doTree

Gaudi::Property<bool> Trk::MSConstraintTracksProvider::m_doTree {this, "DoTree", true}
private

Definition at line 61 of file MSConstraintTracksProvider.h.

61{this, "DoTree", true};

◆ m_eBLhits

int Trk::MSConstraintTracksProvider::m_eBLhits {}
private

Definition at line 108 of file MSConstraintTracksProvider.h.

108{};

◆ m_event

int Trk::MSConstraintTracksProvider::m_event {}
private

Definition at line 90 of file MSConstraintTracksProvider.h.

90{};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_IDEta

double Trk::MSConstraintTracksProvider::m_IDEta {}
private

Definition at line 98 of file MSConstraintTracksProvider.h.

98{};

◆ m_IDEta_constrained

double Trk::MSConstraintTracksProvider::m_IDEta_constrained {}
private

Definition at line 104 of file MSConstraintTracksProvider.h.

104{};

◆ m_IDPhi

double Trk::MSConstraintTracksProvider::m_IDPhi {}
private

Definition at line 100 of file MSConstraintTracksProvider.h.

100{};

◆ m_IDPhi_constrained

double Trk::MSConstraintTracksProvider::m_IDPhi_constrained {}
private

Definition at line 105 of file MSConstraintTracksProvider.h.

105{};

◆ m_logStream

std::ostream* Trk::ITrackCollectionProvider::m_logStream = nullptr
protectedinherited

logfile output stream

Definition at line 53 of file ITrackCollectionProvider.h.

◆ m_maxIDd0

Gaudi::Property<double> Trk::MSConstraintTracksProvider::m_maxIDd0 {this, "MaxIDd0", 500.}
private

Definition at line 67 of file MSConstraintTracksProvider.h.

67{this, "MaxIDd0", 500.};

◆ m_maxIDz0

Gaudi::Property<double> Trk::MSConstraintTracksProvider::m_maxIDz0 {this, "MaxIDz0", 500.}
private

Definition at line 68 of file MSConstraintTracksProvider.h.

68{this, "MaxIDz0", 500.};

◆ m_maxMSd0

Gaudi::Property<double> Trk::MSConstraintTracksProvider::m_maxMSd0 {this, "MaxMSd0", 500.}
private

Definition at line 73 of file MSConstraintTracksProvider.h.

73{this, "MaxMSd0", 500.};

◆ m_maxMSz0

Gaudi::Property<double> Trk::MSConstraintTracksProvider::m_maxMSz0 {this, "MaxMSz0", 500.}
private

Definition at line 74 of file MSConstraintTracksProvider.h.

74{this, "MaxMSz0", 500.};

◆ m_maxNumberOfSectors

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_maxNumberOfSectors {this, "MaxNumberOfSectors", 1}
private

Definition at line 76 of file MSConstraintTracksProvider.h.

76{this, "MaxNumberOfSectors", 1};

◆ m_minIDPt

Gaudi::Property<double> Trk::MSConstraintTracksProvider::m_minIDPt {this, "MinIDPt", 10.}
private

Definition at line 69 of file MSConstraintTracksProvider.h.

69{this, "MinIDPt", 10.};

◆ m_minMDTHits

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_minMDTHits {this, "MDTHits", 15}
private

Definition at line 70 of file MSConstraintTracksProvider.h.

70{this, "MDTHits", 15};

◆ m_minMSPt

Gaudi::Property<double> Trk::MSConstraintTracksProvider::m_minMSPt {this, "MinMSPt", 0.}
private

Definition at line 75 of file MSConstraintTracksProvider.h.

75{this, "MinMSPt", 0.};

◆ m_minNumberOfPhiLayers

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_minNumberOfPhiLayers {this, "MinNumberOfPhiLayers", 2}
private

Definition at line 77 of file MSConstraintTracksProvider.h.

77{this, "MinNumberOfPhiLayers", 2};

◆ m_minPIXHits

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_minPIXHits {this, "MinPIXHits", 1}
private

Definition at line 64 of file MSConstraintTracksProvider.h.

64{this, "MinPIXHits", 1};

◆ m_minPt

Gaudi::Property<double> Trk::MSConstraintTracksProvider::m_minPt {this, "MinPt", 15.}
private

Definition at line 63 of file MSConstraintTracksProvider.h.

63{this, "MinPt", 15.};

◆ m_minRPCPhiHits

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_minRPCPhiHits {this, "MinRPCPhiHits", 0}
private

Definition at line 71 of file MSConstraintTracksProvider.h.

71{this, "MinRPCPhiHits", 0};

◆ m_minSCTHits

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_minSCTHits {this, "MinSCTHits", 6}
private

Definition at line 65 of file MSConstraintTracksProvider.h.

65{this, "MinSCTHits", 6};

◆ m_minStationLayers

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_minStationLayers {this, "MinStationLayers", 3}
private

Definition at line 78 of file MSConstraintTracksProvider.h.

78{this, "MinStationLayers", 3};

◆ m_minTGCPhiHits

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_minTGCPhiHits {this, "MinTGCPhiHits", 0}
private

Definition at line 72 of file MSConstraintTracksProvider.h.

72{this, "MinTGCPhiHits", 0};

◆ m_minTRTHits

Gaudi::Property<int> Trk::MSConstraintTracksProvider::m_minTRTHits {this, "MinTRTHits", 0}
private

Definition at line 66 of file MSConstraintTracksProvider.h.

66{this, "MinTRTHits", 0};

◆ m_muonContainerKey

SG::ReadHandleKey<Analysis::MuonContainer> Trk::MSConstraintTracksProvider::m_muonContainerKey {this, "InputMuonCollection", "MuidMuonCollection"}
private

Definition at line 51 of file MSConstraintTracksProvider.h.

52{this, "InputMuonCollection", "MuidMuonCollection"};

◆ m_muonHitSummaryTool

ToolHandle<Muon::IMuonHitSummaryTool> Trk::MSConstraintTracksProvider::m_muonHitSummaryTool {this, "MuonHitSummaryTool", "Muon::MuonHitSummaryTool/MuonHitSummaryTool"}
private

Definition at line 48 of file MSConstraintTracksProvider.h.

49{this, "MuonHitSummaryTool", "Muon::MuonHitSummaryTool/MuonHitSummaryTool"};

◆ m_nBLhits

int Trk::MSConstraintTracksProvider::m_nBLhits {}
private

Definition at line 109 of file MSConstraintTracksProvider.h.

109{};

◆ m_nCBMuonsFailedRefit

int Trk::MSConstraintTracksProvider::m_nCBMuonsFailedRefit = 0
private

Definition at line 83 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsFromSG

int Trk::MSConstraintTracksProvider::m_nCBMuonsFromSG = 0
private

Definition at line 80 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsHasEXandID

int Trk::MSConstraintTracksProvider::m_nCBMuonsHasEXandID = 0
private

Definition at line 81 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsPassSelection

int Trk::MSConstraintTracksProvider::m_nCBMuonsPassSelection = 0
private

Definition at line 82 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsSucRefit

int Trk::MSConstraintTracksProvider::m_nCBMuonsSucRefit = 0
private

Definition at line 84 of file MSConstraintTracksProvider.h.

◆ m_nPIXDS

int Trk::MSConstraintTracksProvider::m_nPIXDS {}
private

Definition at line 111 of file MSConstraintTracksProvider.h.

111{};

◆ m_nPIXH

int Trk::MSConstraintTracksProvider::m_nPIXH {}
private

Definition at line 114 of file MSConstraintTracksProvider.h.

114{};

◆ m_nPIXHits

int Trk::MSConstraintTracksProvider::m_nPIXHits {}
private

Definition at line 117 of file MSConstraintTracksProvider.h.

117{};

◆ m_nSCTDS

int Trk::MSConstraintTracksProvider::m_nSCTDS {}
private

Definition at line 112 of file MSConstraintTracksProvider.h.

112{};

◆ m_nSCTH

int Trk::MSConstraintTracksProvider::m_nSCTH {}
private

Definition at line 115 of file MSConstraintTracksProvider.h.

115{};

◆ m_nSCTHits

int Trk::MSConstraintTracksProvider::m_nSCTHits {}
private

Definition at line 118 of file MSConstraintTracksProvider.h.

118{};

◆ m_nTRTHits

int Trk::MSConstraintTracksProvider::m_nTRTHits {}
private

Definition at line 119 of file MSConstraintTracksProvider.h.

119{};

◆ m_ntuple

TFile* Trk::MSConstraintTracksProvider::m_ntuple = nullptr
private

Definition at line 87 of file MSConstraintTracksProvider.h.

◆ m_phiLayerNum

int Trk::MSConstraintTracksProvider::m_phiLayerNum {}
private

Definition at line 126 of file MSConstraintTracksProvider.h.

126{};

◆ m_phiLayers

int Trk::MSConstraintTracksProvider::m_phiLayers {}
private

Definition at line 122 of file MSConstraintTracksProvider.h.

122{};

◆ m_pID

double Trk::MSConstraintTracksProvider::m_pID {}
private

Definition at line 91 of file MSConstraintTracksProvider.h.

91{};

◆ m_pID_constrained

double Trk::MSConstraintTracksProvider::m_pID_constrained {}
private

Definition at line 102 of file MSConstraintTracksProvider.h.

102{};

◆ m_pMS

double Trk::MSConstraintTracksProvider::m_pMS {}
private

Definition at line 92 of file MSConstraintTracksProvider.h.

92{};

◆ m_ptID

double Trk::MSConstraintTracksProvider::m_ptID {}
private

Definition at line 93 of file MSConstraintTracksProvider.h.

93{};

◆ m_ptID_constrained

double Trk::MSConstraintTracksProvider::m_ptID_constrained {}
private

Definition at line 103 of file MSConstraintTracksProvider.h.

103{};

◆ m_ptMS

double Trk::MSConstraintTracksProvider::m_ptMS {}
private

Definition at line 94 of file MSConstraintTracksProvider.h.

94{};

◆ m_run

int Trk::MSConstraintTracksProvider::m_run {}
private

Definition at line 89 of file MSConstraintTracksProvider.h.

89{};

◆ m_runOutlierRemoval

Gaudi::Property<RunOutlierRemoval> Trk::MSConstraintTracksProvider::m_runOutlierRemoval {this, "RunOutlierRemoval", true, "run outlier removal in the GX2 fitter"}
private

Definition at line 57 of file MSConstraintTracksProvider.h.

58{this, "RunOutlierRemoval", true, "run outlier removal in the GX2 fitter"};

◆ m_sectorNum

int Trk::MSConstraintTracksProvider::m_sectorNum {}
private

Definition at line 125 of file MSConstraintTracksProvider.h.

125{};

◆ m_sectors

int Trk::MSConstraintTracksProvider::m_sectors {}
private

Definition at line 121 of file MSConstraintTracksProvider.h.

121{};

◆ m_stationLayerNum

int Trk::MSConstraintTracksProvider::m_stationLayerNum {}
private

Definition at line 127 of file MSConstraintTracksProvider.h.

127{};

◆ m_stationLayers

int Trk::MSConstraintTracksProvider::m_stationLayers {}
private

Definition at line 123 of file MSConstraintTracksProvider.h.

123{};

◆ m_trackContainerKey

SG::ReadHandleKey<TrackCollection> Trk::MSConstraintTracksProvider::m_trackContainerKey {this, "InputTracksCollection", "Tracks"}
private

Definition at line 54 of file MSConstraintTracksProvider.h.

55{this, "InputTracksCollection", "Tracks"};

◆ m_trackFitter

ToolHandle<IGlobalTrackFitter> Trk::MSConstraintTracksProvider::m_trackFitter {this, "TrackFitter", "Trk::GlobalChi2Fitter/InDetTrackFitter"}
private

Definition at line 45 of file MSConstraintTracksProvider.h.

46{this, "TrackFitter", "Trk::GlobalChi2Fitter/InDetTrackFitter"};

◆ m_tree

TTree* Trk::MSConstraintTracksProvider::m_tree = nullptr
private

Definition at line 88 of file MSConstraintTracksProvider.h.

◆ m_useMSConstraintTrkOnly

Gaudi::Property<bool> Trk::MSConstraintTracksProvider::m_useMSConstraintTrkOnly {this, "UseMSConstraintTrkOnly", true}
private

Definition at line 59 of file MSConstraintTracksProvider.h.

60{this, "UseMSConstraintTrkOnly", true};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: