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
 normal track fitter
PublicToolHandle< Muon::IMuonHitSummaryToolm_muonHitSummaryTool {this,"MuonHitSummaryTool","Muon::MuonHitSummaryTool/MuonHitSummaryTool",""}
std::string m_inputMuonCollection
 Name of input combined muons collection.
std::string m_inputTracksCollection
 Name of input tracks collection.
RunOutlierRemoval m_runOutlierRemoval
 run outlier removal in the GX2 fitter
int m_maxRetrievalErrors
 maximum allowed number of retrieval errors at the beginning of the job (-1 for infinite)
bool m_useMSConstraintTrkOnly
bool m_doTree
double m_minPt
int m_minPIXHits
int m_minSCTHits
int m_minTRTHits
double m_maxIDd0
double m_maxIDz0
double m_minIDPt
int m_minMDTHits
int m_minRPCPhiHits
int m_minTGCPhiHits
double m_maxMSd0
double m_maxMSz0
double m_minMSPt
double m_maxNumberOfSectors
double m_minNumberOfPhiLayers
double m_minStationLayers
int m_nCBMuonsFromSG
int m_nCBMuonsHasEXandID
int m_nCBMuonsPassSelection
int m_nCBMuonsFailedRefit
int m_nCBMuonsSucRefit
TFile * m_ntuple
TTree * m_tree
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 30 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 28 of file MSConstraintTracksProvider.cxx.

32 : AthAlgTool(type,name,parent)
33 , m_trackFitter("Trk::GlobalChi2Fitter/InDetTrackFitter")
34 , m_inputMuonCollection("MuidMuonCollection")
35 , m_inputTracksCollection("Tracks")
41 , m_ntuple(nullptr)
42 , m_tree(nullptr)
43 , m_run{}
44 , m_event{}
45 , m_pID{}
46 , m_pMS{}
47 , m_ptID{}
48 , m_ptMS{}
49 , m_charge{}
51 , m_IDEta{}
53 , m_IDPhi{}
59 , m_eBLhits{}
60 , m_nBLhits{}
61 , m_nPIXDS{}
62 , m_nSCTDS{}
63 , m_nPIXH{}
64 , m_nSCTH{}
65 , m_nPIXHits{}
66 , m_nSCTHits{}
67 , m_nTRTHits{}
68 , m_sectors{}
69 , m_phiLayers{}
71 , m_sectorNum{}
74 {
75
76 declareInterface<ITrackCollectionProvider>(this);
77
78 declareProperty("TrackFitter", m_trackFitter );
79 declareProperty("InputMuonCollection", m_inputMuonCollection );
80 declareProperty("InputTracksCollection", m_inputTracksCollection );
81 declareProperty("RunOutlierRemoval", m_runOutlierRemoval = true );
82 declareProperty("MaxRetrievalErrors", m_maxRetrievalErrors = 10 );
83 declareProperty("UseMSConstraintTrkOnly", m_useMSConstraintTrkOnly = true );
84 declareProperty("DoTree", m_doTree = true );
85 declareProperty("MinPt", m_minPt = 15.0 );
86 declareProperty("MinPIXHits", m_minPIXHits = 1 );
87 declareProperty("MinSCTHits", m_minSCTHits = 6 );
88 declareProperty("MinTRTHits", m_minTRTHits = 0 );
89 declareProperty("MaxIDd0", m_maxIDd0 = 500. );
90 declareProperty("MaxIDz0", m_maxIDz0 = 500. );
91 declareProperty("MinIDPt", m_minIDPt = 10 );
92 declareProperty("MDTHits", m_minMDTHits = 15 );
93 declareProperty("MinRPCPhiHits", m_minRPCPhiHits = 0 );
94 declareProperty("MinTGCPhiHits", m_minTGCPhiHits = 0 );
95 declareProperty("MaxMSd0", m_maxMSd0 = 500. );
96 declareProperty("MaxMSz0", m_maxMSz0 = 500. );
97 declareProperty("MinMSPt", m_minMSPt = 0 );
98 declareProperty("MaxNumberOfSectors", m_maxNumberOfSectors = 1 );
99 declareProperty("MinNumberOfPhiLayers", m_minNumberOfPhiLayers = 2 );
100 declareProperty("MinStationLayers", m_minStationLayers = 3 );
101
102 }
AthAlgTool()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
std::string m_inputTracksCollection
Name of input tracks collection.
RunOutlierRemoval m_runOutlierRemoval
run outlier removal in the GX2 fitter
int m_maxRetrievalErrors
maximum allowed number of retrieval errors at the beginning of the job (-1 for infinite)
ToolHandle< IGlobalTrackFitter > m_trackFitter
normal track fitter
std::string m_inputMuonCollection
Name of input combined muons collection.

◆ ~MSConstraintTracksProvider()

Trk::MSConstraintTracksProvider::~MSConstraintTracksProvider ( )
virtualdefault

Member Function Documentation

◆ bookNtuple()

bool Trk::MSConstraintTracksProvider::bookNtuple ( )
private

Definition at line 131 of file MSConstraintTracksProvider.cxx.

131 {
132
133 ATH_MSG_DEBUG("in MSConstraintTracksProvider::bookNtuple");
134
135 if (m_doTree && !m_tree && m_ntuple) {
136 m_ntuple->cd();
137 m_tree = new TTree("MSMomentumConstraint","MSMomentumConstraint");
138
139 ATH_MSG_DEBUG(" Start book Ntuple");
140
141 m_tree->Branch("run", &m_run, "run/I" );
142 m_tree->Branch("event", &m_event, "event/I" );
143 m_tree->Branch("pID", &m_pID, "pID/D" );
144 m_tree->Branch("pMS", &m_pMS, "pMS/D" );
145 m_tree->Branch("ptID", &m_ptID, "ptID/D" );
146 m_tree->Branch("ptMS", &m_ptMS, "ptMS/D" );
147 m_tree->Branch("charge", &m_charge, "charge/D" );
148
149 m_tree->Branch("combinedEta", &m_combinedEta, "combinedEta/D" );
150 m_tree->Branch("IDEta", &m_IDEta, "IDEta/D" );
151 m_tree->Branch("combinedPhi", &m_combinedPhi, "combinedPhi/D" );
152 m_tree->Branch("IDPhi", &m_IDPhi, "IDPhi/D" );
153
154 m_tree->Branch("pID_constrained", &m_pID_constrained, "pID_constrained/D" );
155 m_tree->Branch("ptID_constrained", &m_ptID_constrained, "ptID_constrained/D" );
156 m_tree->Branch("IDEta_constrained", &m_IDEta_constrained, "IDEta_constrained/D" );
157 m_tree->Branch("IDPhi_constrained", &m_IDPhi_constrained, "IDPhi_constrained/D" );
158 m_tree->Branch("charge_constrained", &m_charge_constrained, "charge_constrained/D" );
159
160
161 m_tree->Branch("eBLhits", &m_eBLhits, "eBLhits/I" );
162 m_tree->Branch("nBLhits", &m_nBLhits, "nBLhits/I" );
163
164 m_tree->Branch("nPIXDS", &m_nPIXDS, "nPIXDS/I" );
165 m_tree->Branch("nSCTDS", &m_nSCTDS, "nSCTDS/I" );
166
167 m_tree->Branch("nPIXH", &m_nPIXH, "nPIXH/I" );
168 m_tree->Branch("nSCTH", &m_nSCTH, "nSCTH/I" );
169
170 m_tree->Branch("nPIXHits", &m_nPIXHits, "nPIXHits/I" );
171 m_tree->Branch("nSCTHits", &m_nSCTHits, "nSCTHits/I" );
172 m_tree->Branch("nTRTHits", &m_nTRTHits, "nTRTHits/I" );
173
174 m_tree->Branch("sectors", &m_sectors, "sectors/I" );
175 m_tree->Branch("phiLayers", &m_phiLayers, "phiLayers/I" );
176 m_tree->Branch("stationLayers", &m_stationLayers, "stationLayers/I" );
177
178 m_tree->Branch("sectorNum", &m_sectorNum, "sectorNum/I" );
179 m_tree->Branch("phiLayerNum", &m_phiLayerNum, "phiLayerNum/I" );
180 m_tree->Branch("stationLayerNum", &m_stationLayerNum, "stationLayerNum/I" );
181
182 }
183
184 ATH_MSG_DEBUG("done with bookNtuple");
185
186 return true;
187
188}
#define ATH_MSG_DEBUG(x)

◆ combinedMuonSelection()

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

Definition at line 259 of file MSConstraintTracksProvider.cxx.

259 {
260
261 const Trk::Perigee* IDTrkMeasuredPerigee = dynamic_cast<const Trk::Perigee*>(& (it->inDetTrackParticle()->definingParameters()));
262 if(!IDTrkMeasuredPerigee){
263 ATH_MSG_DEBUG("NO inDetTrackParticle or no IDTrkMeasuredPerigee");
264 return false;
265 }
266
267 const Trk::Perigee* METrkMeasuredPerigee = dynamic_cast<const Trk::Perigee*>(&(it->muonExtrapolatedTrackParticle()->definingParameters()));
268 if(!METrkMeasuredPerigee){
269 ATH_MSG_DEBUG("NO muonExtrapolatedTrackParticle or no METrkMeasuredPerigee");
270 return false;
271 }
272
273 const double pt = fabs(it->pt())/1000.;
274 const double eta = fabs(it->eta());
275 ATH_MSG_DEBUG(" the combined pt : "<< pt );
276
277 if ( pt < m_minPt ||
278 eta > 2.7 ||
279 (eta > 0.8 && eta < 1.2) ){
280 ATH_MSG_DEBUG(" this combinedMuon not pass basic pt and eta cuts --- pt: "<< pt << " eta: " << eta);
281 return false;
282 }
283
284 const int nPixHits = it->numberOfPixelHits();
285 const int nSCTHits = it->numberOfSCTHits();
286 const int nTRTHits = it->numberOfTRTHits();
287
288 // Do you need fit quality cuts???
289 // const Trk::FitQuality* idfq = idtrk->fitQuality();
290 // const double chisqID = idfq->chiSquared();
291 // const int ndofID = idfq->numberDoF();
292
293
294 const double idQoverPatIP = IDTrkMeasuredPerigee->parameters()[Trk::qOverP] * 1000.;
295 const double idz0atIP = IDTrkMeasuredPerigee->parameters()[Trk::z0];
296 const double idd0atIP = IDTrkMeasuredPerigee->parameters()[Trk::d0];
297 double ptIDatIP = 0.;
298 if ( idQoverPatIP != 0 ) ptIDatIP = fabs(1.0/idQoverPatIP)*sin(IDTrkMeasuredPerigee->parameters()[Trk::theta]);
299
300 ATH_MSG_DEBUG( " ID pt : "<< ptIDatIP );
301
302
303 if( nPixHits < m_minPIXHits ||
304 nSCTHits < m_minSCTHits ||
305 nTRTHits < m_minTRTHits ||
306 idd0atIP > m_maxIDd0 ||
307 idz0atIP > m_maxIDz0 ||
308 ptIDatIP < m_minIDPt ) {
309 ATH_MSG_DEBUG("this combined muon not pass ID cuts --- nPixHits: " << nPixHits << " nSCTHits: " << nSCTHits <<
310 "nTRTHits: " << nTRTHits << " idd0atIP: " << idd0atIP << " idz0atIP: " << idz0atIP <<" ptIDatIP: " << ptIDatIP );
311 return false;
312 }
313
314
315
316 const int nMDTHits = it->numberOfMDTHits();
317 const int nRPCPhiHits = it->numberOfRPCPhiHits();
318 const int nTGCPhiHits = it->numberOfTGCPhiHits();
319
320 const double msQoverPatIP = METrkMeasuredPerigee->parameters()[Trk::qOverP] * 1000.;
321 const double msz0atIP = METrkMeasuredPerigee->parameters()[Trk::z0];
322 const double msd0atIP = METrkMeasuredPerigee->parameters()[Trk::d0];
323
324 double ptMSatIP = 0.;
325 if ( msQoverPatIP != 0 ) ptMSatIP = fabs(1.0/msQoverPatIP)*sin(METrkMeasuredPerigee->parameters()[Trk::theta]);
326
327 ATH_MSG_DEBUG( " ME pt : "<< ptMSatIP);
328
329
330
331 if( nMDTHits < m_minMDTHits ||
332 nRPCPhiHits < m_minRPCPhiHits ||
333 nTGCPhiHits < m_minTGCPhiHits ||
334 msd0atIP > m_maxMSd0 ||
335 msz0atIP > m_maxMSz0 ||
336 ptMSatIP < m_minMSPt ){
337
338 ATH_MSG_DEBUG("this combined muon not pass MS cuts --- nMDTHits: " << nMDTHits << " nRPCPhiHits: " << nRPCPhiHits <<
339 " nTGCPhiHits: " << nTGCPhiHits << " msd0atIP: " << msd0atIP <<
340 " msz0atIP: " << msz0atIP << " pMSatIP:" << ptMSatIP);
341 return false;
342 }
343
344
345 Muon::IMuonHitSummaryTool::CompactSummary summary;
346 const Rec::TrackParticle* aTrackParticle = it->track();
347
348 const Trk::Track* aTrack = nullptr;
349 if (aTrackParticle) aTrack = aTrackParticle->originalTrack();
350
351 if (aTrack && aTrack != it->inDetTrkTrack()) {
352 summary = m_muonHitSummaryTool->summary(*aTrack);
353 }
354 else {
355 ATH_MSG_WARNING("aTrack possible null !");
356 std::vector<const Muon::MuonSegment*> segments;
357 unsigned int nSeg = it->numberOfSegments();
358 segments.reserve(nSeg); // avoid death by push back
359 for( unsigned int si=0; si<nSeg; ++si ){
360 const Muon::MuonSegment* seg = dynamic_cast<const Muon::MuonSegment*>(it->muonSegment(si));
361 if( seg ) segments.push_back(seg);
362 }
363 summary = m_muonHitSummaryTool->summary(segments);
364 }
365
366 // it is possible to avoid the verbose summary construction in the above,
367 const int sectors = summary.sectors.size();
368 const int phiLayers = summary.phiLayers.size();
369 const int stationLayers = summary.stationLayers.size();
370
371
372 if ( sectors > m_maxNumberOfSectors ||
373 phiLayers < m_minNumberOfPhiLayers ||
374 stationLayers < m_minStationLayers ){
375
376 ATH_MSG_DEBUG("this combined muon not pass muonHitSummary cuts --- sectors: "<< sectors << " phiLayers: "<< phiLayers << " stationLayers: " << stationLayers);
377
378 return false;
379 }
380
381 m_pID = it->inDetTrackParticle()->p();
382 m_pMS = it->muonExtrapolatedTrackParticle()->p();
383 m_ptID = it->inDetTrackParticle()->pt();
384 m_ptMS = it->muonExtrapolatedTrackParticle()->pt();
385 m_charge = it->inDetTrackParticle()->charge();
386
387 m_combinedEta = it->eta();
388 m_IDEta = it->inDetTrackParticle()->eta();
389 m_combinedPhi = it->phi();
390 m_IDPhi = it->inDetTrackParticle()->phi();
391
392 m_nPIXHits = it->numberOfPixelHits();
393 m_nSCTHits = it->numberOfSCTHits();
394 m_nTRTHits = it->numberOfTRTHits();
395
396 m_sectors = sectors;
397 m_phiLayers = phiLayers;
398 m_stationLayers = stationLayers;
399
400 m_sectorNum = *(summary.sectors.begin());
401 //m_phiLayerNum = (summary.phiLayers)[0];
402 //m_stationLayerNum = (summary.stationLayers)[0];
403
404
405
406 return true;
407 }
Scalar eta() const
pseudorapidity method
#define ATH_MSG_WARNING(x)
PublicToolHandle< 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 }

◆ 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 239 of file MSConstraintTracksProvider.cxx.

240 {
241 ATH_MSG_DEBUG("writing tree");
242 int success=1;
243 if (m_tree) {
244 m_ntuple->cd();
245 success = m_tree->Write();
246 }
247 return success>0 ? StatusCode::SUCCESS : StatusCode::FAILURE;
248 }

◆ finalize()

StatusCode Trk::MSConstraintTracksProvider::finalize ( )
virtual

Definition at line 253 of file MSConstraintTracksProvider.cxx.

254 {
255 return StatusCode::SUCCESS;
256 }

◆ initialize()

StatusCode Trk::MSConstraintTracksProvider::initialize ( )
virtual

Definition at line 109 of file MSConstraintTracksProvider.cxx.

110 {
111 // configure main track fitter
112 ATH_CHECK(m_trackFitter.retrieve());
113 ATH_MSG_DEBUG("Retrieved " << m_trackFitter);
115 //
116 bookNtuple();
117 return StatusCode::SUCCESS;
118 }
#define ATH_CHECK
Evaluate an expression and check for errors.

◆ initializeNtuple()

void Trk::MSConstraintTracksProvider::initializeNtuple ( )
private

Definition at line 192 of file MSConstraintTracksProvider.cxx.

192 {
193
194 m_run = -999;
195 m_event = -999;
196 m_pID = -999.;
197 m_pMS = -999.;
198 m_ptID = -999.;
199 m_ptMS = -999.;
200 m_charge = -999.;
201
202 m_combinedEta = -999.;
203 m_IDEta = -999.;
204 m_combinedPhi = -999.;
205 m_IDPhi = -999.;
206
207 m_pID_constrained = -999.;
208 m_ptID_constrained = -999.;
209 m_IDEta_constrained = -999.;
210 m_IDPhi_constrained = -999.;
211 m_charge_constrained = -999.;
212
213
214 m_eBLhits = -999;
215 m_nBLhits = -999;
216 m_nPIXDS = -999,
217 m_nSCTDS = -999,
218
219 m_nPIXH = -999;
220 m_nSCTH = -999;
221
222
223 m_nPIXHits = -999;
224 m_nSCTHits = -999;
225 m_nTRTHits = -999;
226
227 m_sectors = -999;
228 m_phiLayers = -999;
229 m_stationLayers = -999;
230
231 m_sectorNum = -999;
232 m_phiLayerNum = -999;
233 m_stationLayerNum = -999;
234
235 }

◆ 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 573 of file MSConstraintTracksProvider.cxx.

573 {
574
575 if(m_logStream) {
576
577 *m_logStream<<"*************************************************************"<<std::endl;
578 *m_logStream<<"****** MSConstraintTracksProvider Summary ******"<<std::endl;
579 *m_logStream<<"*"<<std::endl;
580 *m_logStream<<"* number of combined muons From SG : " << m_nCBMuonsFromSG << std::endl;
581 *m_logStream<<"* number of combined muons have Extrapolated && InDet TrackParticle : " << m_nCBMuonsHasEXandID << std::endl;
582 *m_logStream<<"* number of combined muons pass selection: " << m_nCBMuonsPassSelection << std::endl;
583 *m_logStream<<"* number of combined muons failed in refit: " << m_nCBMuonsFailedRefit << std::endl;
584 *m_logStream<<"* number of combined muons succeeded in refit: " << m_nCBMuonsSucRefit << std::endl;
585
586 *m_logStream<<"*"<<std::endl;
587 }
588 }
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 123 of file MSConstraintTracksProvider.cxx.

123 {
124 m_ntuple = ntuple;
125 bookNtuple();
126 }

◆ 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 411 of file MSConstraintTracksProvider.cxx.

411 {
413
414 originalTracks = nullptr;
415
416 const Analysis::MuonContainer* muonContainer = nullptr;
417 if ( StatusCode::SUCCESS != evtStore()->retrieve( muonContainer , m_inputMuonCollection) ){
418 ATH_MSG_WARNING(" Can't retrieve " << m_inputMuonCollection << " from the StoreGate ");
419 ATH_MSG_WARNING("One probability is that you are not running on ESD/DESD ");
420
421 // Can't do MS constraint refit, resort to retrieve tracks directly
422 if ( StatusCode::SUCCESS != evtStore()->retrieve(originalTracks, m_inputTracksCollection) ){
423 originalTracks = nullptr;
424 ATH_MSG_WARNING(" Can't retrieve " << m_inputTracksCollection << " from the StoreGate ");
425 } else {
426 if (originalTracks){
427 ATH_MSG_DEBUG(" have tracks of this event: " << originalTracks->size());
428 }
429 }
430
431 return StatusCode::SUCCESS;
432 } else {
433
435 ATH_MSG_DEBUG("have combined Muons of the event: " << muonContainer->size());
436
439 int goodQualityCombinedMuon = 0;
440
441 for ( ; combinedTrackIt != combinedTrackItE; ++combinedTrackIt ) {
443 const Analysis::Muon* muon = *combinedTrackIt;
444 if ( muon->isCombinedMuon() && muon->hasMuonExtrapolatedTrackParticle() && muon->hasInDetTrackParticle() ){
447 ATH_MSG_DEBUG("have good quality combined Muons of the event: " << ++goodQualityCombinedMuon);
449 const Trk::Perigee* METrkMeasuredPerigee = dynamic_cast<const Trk::Perigee*>(&(muon->muonExtrapolatedTrackParticle()->definingParameters()));
450 if(!METrkMeasuredPerigee){
451 ATH_MSG_DEBUG("NO muonExtrapolatedTrackParticle or no METrkMeasuredPerigee");
452 continue;
453 }
454
455 const Trk::Surface* surf = &(METrkMeasuredPerigee->associatedSurface()) ;
456 if( !surf ) {
457 ATH_MSG_DEBUG("NO surface of the METrkMeasuredPerigee");
458 continue;
459 }
460
461 const Trk::Perigee* IDTrkMeasuredPerigee = dynamic_cast<const Trk::Perigee*>(&(muon->inDetTrackParticle()->definingParameters()));
462 if(!IDTrkMeasuredPerigee){
463 ATH_MSG_DEBUG("NO inDetTrackParticle or no IDTrkMeasuredPerigee");
464 continue;
465 }
466
467 Trk::DefinedParameter qOverPFromMS(METrkMeasuredPerigee->parameters()[Trk::qOverP], Trk::qOverP) ;
468
469 std::vector<Trk::DefinedParameter> parFromMSVec;
470 parFromMSVec.push_back( qOverPFromMS) ;
471
472 Amg::MatrixX covFromMS( 1,1 ) ;
473 covFromMS( 1, 1 ) = (*METrkMeasuredPerigee->covariance())( Trk::qOverP, Trk::qOverP ) ;
474
475 auto pmot = std::make_unique<Trk::PseudoMeasurementOnTrack>(
476 Trk::LocalParameters(parFromMSVec), std::move(covFromMS), *surf);
477
478 auto trackStateOnSurfaces = std::make_unique<Trk::TrackStates>();
479 trackStateOnSurfaces->reserve(muon->inDetTrackParticle()->originalTrack()->trackStateOnSurfaces()->size() + 1);
480 Trk::TrackStates::const_iterator sb = muon->inDetTrackParticle()->originalTrack()->trackStateOnSurfaces()->begin();
481
482 std::bitset<Trk::TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes> type;
484
485 const Perigee* IDPerigeeParameters = muon->inDetTrackParticle()->originalTrack()->perigeeParameters();
486
487 auto IDPerigeeParametersClone =
488 (IDPerigeeParameters)
489 ? std::make_unique<Perigee>(*IDPerigeeParameters)
490 : nullptr;
491
492 if(IDPerigeeParameters && IDPerigeeParametersClone ){
493 trackStateOnSurfaces->push_back(new const Trk::TrackStateOnSurface(std::move(pmot), std::move(IDPerigeeParametersClone), nullptr, type));
494
495 for ( ; sb != muon->inDetTrackParticle()->originalTrack()->trackStateOnSurfaces()->end(); ++sb) trackStateOnSurfaces->push_back((**sb).clone());
496
497 Trk::Track* tmpTrack = new Trk::Track(
498 muon->inDetTrackParticle()->originalTrack()->info(),
499 std::move(trackStateOnSurfaces),
500 nullptr);
501
502 Trk::Track* MSConstraintFittedTrack = (m_trackFitter->fit(Gaudi::Hive::currentContext(),
503 *tmpTrack, m_runOutlierRemoval,
504 Trk::muon)).release();
505
506 if(!MSConstraintFittedTrack){
508 ATH_MSG_WARNING("MSConstraintFittedTrack refit failed!");
509
511 ATH_MSG_WARNING("Try to push the originalIDTrack into the trackCollection");
512 Trk::Track* IDOriginalTrackClone = new Trk::Track(*(muon->inDetTrackParticle()->originalTrack()));
513 if(IDOriginalTrackClone){
514 const Trk::Perigee * aMeasPerClone = IDOriginalTrackClone->perigeeParameters();
515 if (aMeasPerClone) {
517 "IDOriginalTrackClone parameters --- pt: "
518 << fabs(1. / (aMeasPerClone->parameters()[Trk::qOverP])) *
519 sin(aMeasPerClone->parameters()[Trk::theta])
520 << " d0: " << aMeasPerClone->parameters()[Trk::d0]);
521 }
522 }
523 if(!IDOriginalTrackClone){
524 ATH_MSG_WARNING("Exception when IDOriginalTrackClone!");
525 } else
526 trackCollection->push_back(IDOriginalTrackClone);
527 }
528 } else {
530 ATH_MSG_DEBUG("Got 1 successful MSConstraintFittedTrack ");
531
532 Trk::Track* MSConstraintFittedTrackClone = new Trk::Track(*MSConstraintFittedTrack);
533 const Trk::Perigee * MSConstraintFittedTrackMPClone = (MSConstraintFittedTrackClone->perigeeParameters());
534 m_pID_constrained = fabs(1./(MSConstraintFittedTrackMPClone->parameters()[Trk::qOverP]));
535 m_IDEta_constrained = -log(tan(MSConstraintFittedTrackMPClone->parameters()[Trk::theta]/2.));
536 m_IDPhi_constrained = MSConstraintFittedTrackMPClone->parameters()[Trk::phi];
537 m_ptID_constrained = fabs( m_pID_constrained*sin(MSConstraintFittedTrackMPClone->parameters()[Trk::theta]) );
538 m_charge_constrained = MSConstraintFittedTrackMPClone->parameters()[Trk::qOverP]/fabs(MSConstraintFittedTrackMPClone->parameters()[Trk::qOverP]);
539
540 delete MSConstraintFittedTrackClone;
541 // only fill the tracks used in the alignment
542 m_ntuple->cd();
543 m_tree->Fill();
544
545 trackCollection->push_back(MSConstraintFittedTrack);
546 }
547
548 // clean up
549 delete tmpTrack;
550 } else{
551 ATH_MSG_WARNING("failed in IDPerigeeParameters or IDPerigeeParametersClone !");
552 }
553
554 }
555 }
556 }// end loop over tracks
557
558 if (StatusCode::SUCCESS != evtStore()->record(trackCollection, "MSMomentumConstraintTracks")){
559 ATH_MSG_WARNING("problem with recording MSMomentumConstraintTracks to StoreGate!");
560 return StatusCode::SUCCESS;
561 }
562
563 ATH_MSG_DEBUG(" The final trackCollection size : " << trackCollection->size() );
564 if ( not trackCollection->empty() ){
565 originalTracks = trackCollection;
566 }
567
568 }
569 return StatusCode::SUCCESS;
570}
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.
bool combinedMuonSelection(const Analysis::Muon *)
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...
retrieve(aClass, aKey=None)
Definition PyKernel.py:110

◆ 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 93 of file MSConstraintTracksProvider.h.

◆ m_charge_constrained

int Trk::MSConstraintTracksProvider::m_charge_constrained
private

Definition at line 104 of file MSConstraintTracksProvider.h.

◆ m_combinedEta

double Trk::MSConstraintTracksProvider::m_combinedEta
private

Definition at line 95 of file MSConstraintTracksProvider.h.

◆ m_combinedPhi

double Trk::MSConstraintTracksProvider::m_combinedPhi
private

Definition at line 97 of file MSConstraintTracksProvider.h.

◆ 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

bool Trk::MSConstraintTracksProvider::m_doTree
private

Definition at line 60 of file MSConstraintTracksProvider.h.

◆ m_eBLhits

int Trk::MSConstraintTracksProvider::m_eBLhits
private

Definition at line 106 of file MSConstraintTracksProvider.h.

◆ m_event

int Trk::MSConstraintTracksProvider::m_event
private

Definition at line 88 of file MSConstraintTracksProvider.h.

◆ 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 96 of file MSConstraintTracksProvider.h.

◆ m_IDEta_constrained

double Trk::MSConstraintTracksProvider::m_IDEta_constrained
private

Definition at line 102 of file MSConstraintTracksProvider.h.

◆ m_IDPhi

double Trk::MSConstraintTracksProvider::m_IDPhi
private

Definition at line 98 of file MSConstraintTracksProvider.h.

◆ m_IDPhi_constrained

double Trk::MSConstraintTracksProvider::m_IDPhi_constrained
private

Definition at line 103 of file MSConstraintTracksProvider.h.

◆ m_inputMuonCollection

std::string Trk::MSConstraintTracksProvider::m_inputMuonCollection
private

Name of input combined muons collection.

Definition at line 55 of file MSConstraintTracksProvider.h.

◆ m_inputTracksCollection

std::string Trk::MSConstraintTracksProvider::m_inputTracksCollection
private

Name of input tracks collection.

Definition at line 56 of file MSConstraintTracksProvider.h.

◆ m_logStream

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

logfile output stream

Definition at line 53 of file ITrackCollectionProvider.h.

◆ m_maxIDd0

double Trk::MSConstraintTracksProvider::m_maxIDd0
private

Definition at line 66 of file MSConstraintTracksProvider.h.

◆ m_maxIDz0

double Trk::MSConstraintTracksProvider::m_maxIDz0
private

Definition at line 67 of file MSConstraintTracksProvider.h.

◆ m_maxMSd0

double Trk::MSConstraintTracksProvider::m_maxMSd0
private

Definition at line 72 of file MSConstraintTracksProvider.h.

◆ m_maxMSz0

double Trk::MSConstraintTracksProvider::m_maxMSz0
private

Definition at line 73 of file MSConstraintTracksProvider.h.

◆ m_maxNumberOfSectors

double Trk::MSConstraintTracksProvider::m_maxNumberOfSectors
private

Definition at line 75 of file MSConstraintTracksProvider.h.

◆ m_maxRetrievalErrors

int Trk::MSConstraintTracksProvider::m_maxRetrievalErrors
private

maximum allowed number of retrieval errors at the beginning of the job (-1 for infinite)

Definition at line 58 of file MSConstraintTracksProvider.h.

◆ m_minIDPt

double Trk::MSConstraintTracksProvider::m_minIDPt
private

Definition at line 68 of file MSConstraintTracksProvider.h.

◆ m_minMDTHits

int Trk::MSConstraintTracksProvider::m_minMDTHits
private

Definition at line 69 of file MSConstraintTracksProvider.h.

◆ m_minMSPt

double Trk::MSConstraintTracksProvider::m_minMSPt
private

Definition at line 74 of file MSConstraintTracksProvider.h.

◆ m_minNumberOfPhiLayers

double Trk::MSConstraintTracksProvider::m_minNumberOfPhiLayers
private

Definition at line 76 of file MSConstraintTracksProvider.h.

◆ m_minPIXHits

int Trk::MSConstraintTracksProvider::m_minPIXHits
private

Definition at line 63 of file MSConstraintTracksProvider.h.

◆ m_minPt

double Trk::MSConstraintTracksProvider::m_minPt
private

Definition at line 62 of file MSConstraintTracksProvider.h.

◆ m_minRPCPhiHits

int Trk::MSConstraintTracksProvider::m_minRPCPhiHits
private

Definition at line 70 of file MSConstraintTracksProvider.h.

◆ m_minSCTHits

int Trk::MSConstraintTracksProvider::m_minSCTHits
private

Definition at line 64 of file MSConstraintTracksProvider.h.

◆ m_minStationLayers

double Trk::MSConstraintTracksProvider::m_minStationLayers
private

Definition at line 77 of file MSConstraintTracksProvider.h.

◆ m_minTGCPhiHits

int Trk::MSConstraintTracksProvider::m_minTGCPhiHits
private

Definition at line 71 of file MSConstraintTracksProvider.h.

◆ m_minTRTHits

int Trk::MSConstraintTracksProvider::m_minTRTHits
private

Definition at line 65 of file MSConstraintTracksProvider.h.

◆ m_muonHitSummaryTool

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

Definition at line 52 of file MSConstraintTracksProvider.h.

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

◆ m_nBLhits

int Trk::MSConstraintTracksProvider::m_nBLhits
private

Definition at line 107 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsFailedRefit

int Trk::MSConstraintTracksProvider::m_nCBMuonsFailedRefit
private

Definition at line 81 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsFromSG

int Trk::MSConstraintTracksProvider::m_nCBMuonsFromSG
private

Definition at line 78 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsHasEXandID

int Trk::MSConstraintTracksProvider::m_nCBMuonsHasEXandID
private

Definition at line 79 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsPassSelection

int Trk::MSConstraintTracksProvider::m_nCBMuonsPassSelection
private

Definition at line 80 of file MSConstraintTracksProvider.h.

◆ m_nCBMuonsSucRefit

int Trk::MSConstraintTracksProvider::m_nCBMuonsSucRefit
private

Definition at line 82 of file MSConstraintTracksProvider.h.

◆ m_nPIXDS

int Trk::MSConstraintTracksProvider::m_nPIXDS
private

Definition at line 109 of file MSConstraintTracksProvider.h.

◆ m_nPIXH

int Trk::MSConstraintTracksProvider::m_nPIXH
private

Definition at line 112 of file MSConstraintTracksProvider.h.

◆ m_nPIXHits

int Trk::MSConstraintTracksProvider::m_nPIXHits
private

Definition at line 115 of file MSConstraintTracksProvider.h.

◆ m_nSCTDS

int Trk::MSConstraintTracksProvider::m_nSCTDS
private

Definition at line 110 of file MSConstraintTracksProvider.h.

◆ m_nSCTH

int Trk::MSConstraintTracksProvider::m_nSCTH
private

Definition at line 113 of file MSConstraintTracksProvider.h.

◆ m_nSCTHits

int Trk::MSConstraintTracksProvider::m_nSCTHits
private

Definition at line 116 of file MSConstraintTracksProvider.h.

◆ m_nTRTHits

int Trk::MSConstraintTracksProvider::m_nTRTHits
private

Definition at line 117 of file MSConstraintTracksProvider.h.

◆ m_ntuple

TFile* Trk::MSConstraintTracksProvider::m_ntuple
private

Definition at line 85 of file MSConstraintTracksProvider.h.

◆ m_phiLayerNum

int Trk::MSConstraintTracksProvider::m_phiLayerNum
private

Definition at line 124 of file MSConstraintTracksProvider.h.

◆ m_phiLayers

int Trk::MSConstraintTracksProvider::m_phiLayers
private

Definition at line 120 of file MSConstraintTracksProvider.h.

◆ m_pID

double Trk::MSConstraintTracksProvider::m_pID
private

Definition at line 89 of file MSConstraintTracksProvider.h.

◆ m_pID_constrained

double Trk::MSConstraintTracksProvider::m_pID_constrained
private

Definition at line 100 of file MSConstraintTracksProvider.h.

◆ m_pMS

double Trk::MSConstraintTracksProvider::m_pMS
private

Definition at line 90 of file MSConstraintTracksProvider.h.

◆ m_ptID

double Trk::MSConstraintTracksProvider::m_ptID
private

Definition at line 91 of file MSConstraintTracksProvider.h.

◆ m_ptID_constrained

double Trk::MSConstraintTracksProvider::m_ptID_constrained
private

Definition at line 101 of file MSConstraintTracksProvider.h.

◆ m_ptMS

double Trk::MSConstraintTracksProvider::m_ptMS
private

Definition at line 92 of file MSConstraintTracksProvider.h.

◆ m_run

int Trk::MSConstraintTracksProvider::m_run
private

Definition at line 87 of file MSConstraintTracksProvider.h.

◆ m_runOutlierRemoval

RunOutlierRemoval Trk::MSConstraintTracksProvider::m_runOutlierRemoval
private

run outlier removal in the GX2 fitter

Definition at line 57 of file MSConstraintTracksProvider.h.

◆ m_sectorNum

int Trk::MSConstraintTracksProvider::m_sectorNum
private

Definition at line 123 of file MSConstraintTracksProvider.h.

◆ m_sectors

int Trk::MSConstraintTracksProvider::m_sectors
private

Definition at line 119 of file MSConstraintTracksProvider.h.

◆ m_stationLayerNum

int Trk::MSConstraintTracksProvider::m_stationLayerNum
private

Definition at line 125 of file MSConstraintTracksProvider.h.

◆ m_stationLayers

int Trk::MSConstraintTracksProvider::m_stationLayers
private

Definition at line 121 of file MSConstraintTracksProvider.h.

◆ m_trackFitter

ToolHandle<IGlobalTrackFitter> Trk::MSConstraintTracksProvider::m_trackFitter
private

normal track fitter

Definition at line 51 of file MSConstraintTracksProvider.h.

◆ m_tree

TTree* Trk::MSConstraintTracksProvider::m_tree
private

Definition at line 86 of file MSConstraintTracksProvider.h.

◆ m_useMSConstraintTrkOnly

bool Trk::MSConstraintTracksProvider::m_useMSConstraintTrkOnly
private

Definition at line 59 of file MSConstraintTracksProvider.h.

◆ 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: