ATLAS Offline Software
VrtSecInclusive.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // VKalVrt.h
6 //
7 #ifndef VRTSECINCLUSIVE_VRTSECINCLUSIVE_H
8 #define VRTSECINCLUSIVE_VRTSECINCLUSIVE_H
9 
10 
11 #include "VrtSecInclusive/Constants.h"
12 
15 
16 // Gaudi includes
17 #include "GaudiKernel/ToolHandle.h"
18 #include "GaudiKernel/ITHistSvc.h"
19 //
21 
22 // for truth
24 
32 #include "GaudiKernel/ServiceHandle.h"
35 #include "InDetIdentifier/SCT_ID.h"
36 
37 // xAOD Classes
47 #include "xAODMuon/MuonContainer.h"
48 #include "xAODMuon/Muon.h"
50 #include "xAODEgamma/Electron.h"
51 
52 // Normal STL and physical vectors
53 #include <vector>
54 #include <deque>
55 #include <functional>
56 #include <optional>
57 
58 
61 class TH1;
62 
63 namespace Trk {
64  class ITruthToTrack;
65  class ITrackToVertex;
66  class ITrackToVertexIPEstimator;
67  class IExtrapolator;
68  class IVertexMapper;
69  struct MappedVertex;
70 }
71 
72 namespace VKalVrtAthena {
73 
74  namespace GeoModel { enum GeoModel { Run1=1, Run2=2 }; }
75 
76  class IntersectionPos;
79 
80  class NtupleVars;
81 }
82 
83 
84 namespace VKalVrtAthena {
85 
86  class VrtSecInclusive : public AthAlgorithm {
87  public:
89  VrtSecInclusive(const std::string& name, ISvcLocator* pSvcLocator);
90 
93 
94  virtual StatusCode initialize();
95  virtual StatusCode finalize();
96  virtual StatusCode execute();
97  virtual StatusCode initEvent();
98 
99  private:
100 
102  //
103  // Member Variables
104  //
105 
106  struct JobProperties {
107  // JO: GeoModel
108  int geoModel;
109 
110  std::string TrackLocation;
111  std::string MuonLocation;
112  std::string ElectronLocation;
113  std::string PrimVrtLocation;
115  std::string mcEventContainerName;
116  std::string augVerString;
117  std::string truthParticleFilter;
118 
121 
122  // common feature flags
123  bool doTruth;
124  bool FillHist;
129  bool extrapPV; //extrapolate reco and prim truth trks to PV (for testing only)
130 
132 
133  bool doFastMode; // flag for running in rapid finder mode instead of using graph
134 
135  // track selection conditions
136  unsigned int SelTrkMaxCutoff;
137  bool SAloneTRT;
138 
139  /* impact parameters */
141  bool do_d0Cut;
142  bool do_z0Cut;
147 
158 
159  /* pT anc chi2 */
160  double TrkChi2Cut;
161  double TrkPtCut;
162 
163  /* hit requirements */
164  bool doTRTPixCut; // Kazuki
170  int CutTRTHits; // Kazuki
173 
174  /* track extrpolator; 1==VKalGetImpact, 2==m_trackToVertexTool*/
176 
177  // Vertex reconstruction
192  double VertexMergeFinalDistCut; // Kazuki
196 
200 
201  // When truncateWrkVertices set to true, maxWrkVertices is the maximum
202  // number of potential vertices to process, used to truncate the list
203  // in rare caes where several thousands are found, to avoid algorithm
204  // timeout issues
207 
213 
218 
220 
221  // vertexing using muons (test implementation)
227 
228  // When doSelectTracksWithLRTCuts is set to true, the addtional track cuts
229  // be applied to the selected tracks to reduce the number of fake tracks in
230  // the selected track collected. These cuts are inspired by the improvments that
231  // were implmented for LRT Run 3.
233 
234  // Additional dressing option
235  bool doAugmentDVimpactParametersToMuons; // potentially useful for DV + muon search
236  bool doAugmentDVimpactParametersToElectrons; // potentially useful for analyses involving electrons
237 
238  // MC truth
240  double TruthTrkLen;
241 
242  };
243 
244  struct JobProperties m_jp;
245 
246  // Indicates give-up modes during vertexing
247  // 0 if no errors occured
248  // 1 if too few selected tracks
249  // 2 if too many selected tracks
250  // 3 if wrkVertices container is truncated
251  // 4 if any uncaught exception is raised at the top level of VSI execute()
253 
254  // xAOD Accessors
257  std::vector<const xAOD::TrackParticle*> m_selectedTracks;
258  std::vector<const xAOD::TrackParticle*> m_associatedTracks;
259  std::vector<const xAOD::TrackParticle*> m_leptonicTracks;
260  std::vector<double> m_BeamPosition;
261 
263  //
264  // Athena JobOption Properties
265  //
266 
267  ToolHandle <Trk::ITrkVKalVrtFitter> m_fitSvc; // VKalVrtFitter tool
268  ToolHandle <Trk::ITruthToTrack> m_truthToTrack; // tool to create trkParam from genPart
269 
271  ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool;
272  ToolHandle<Trk::ITrackToVertexIPEstimator> m_trackToVertexIPEstimatorTool;
273  ToolHandle<Trk::IExtrapolator> m_extrapolator;
274  ToolHandle<Trk::IVertexMapper> m_vertexMapper;
275 
277  ToolHandle<IInDetConditionsTool> m_pixelCondSummaryTool{this, "PixelConditionsSummaryTool", "PixelConditionsSummaryTool", "Tool to retrieve Pixel Conditions summary"};
278  ToolHandle<IInDetConditionsTool> m_sctCondSummaryTool{this, "InDetSCT_ConditionsSummaryTool", "SCT_ConditionsSummaryTool/InDetSCT_ConditionsSummaryTool", "Tool to retrieve SCT conditions summary"};
279 
280  const AtlasDetectorID* m_atlasId = nullptr;
281  const PixelID* m_pixelId = nullptr;
282  const SCT_ID* m_sctId = nullptr;
283 
286  std::map<std::string, PatternStrategyFunc> m_patternStrategyFuncs;
287 
288  // AuxElement decorators
289  std::optional< SG::Decorator< char > > m_decor_isSelected;
290  std::optional< SG::Decorator< char > > m_decor_isAssociated;
291  std::optional< SG::Decorator< char > > m_decor_is_svtrk_final;
292  std::map< unsigned, SG::Decorator<float> > m_trkDecors;
293 
295  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey", "EventInfo", "EventInfo name"};
297 
299  std::vector< IPDecoratorType > m_ipDecors;
300 
302  std::optional< VertexELType > m_decor_svLink;
303 
305  //
306  // define ntuple variables here
307  //
308 
309  // The standard AANT, CollectionTree, is bare bones
310  TTree *m_tree_Vert;
311  std::unique_ptr<NtupleVars> m_ntupleVars;
312 
313  // Histograms for stats
314  std::map<std::string, TH1*> m_hists;
315 
316 
318  //
319  // Private member functions
320  //
321 
322  // for event info to new ntuple (used to go by default in CollectionTree)
323  void declareProperties();
324 
333 
334  //
335  struct WrkVrt {
336  bool isGood = false;
337  std::deque<long int> selectedTrackIndices;
338  std::deque<long int> associatedTrackIndices;
340  TLorentzVector vertexMom;
341  std::vector<double> vertexCov;
342  double Chi2 = 0;
343  double Chi2_core = 0;
344  std::vector<double> Chi2PerTrk;
345  long int Charge = 0;
346  std::vector< std::vector<double> > TrkAtVrt;
347  unsigned long closestWrkVrtIndex = 0;
348  double closestWrkVrtValue = 0;
349 
350  inline double ndof() const { return 2.0*( selectedTrackIndices.size() + associatedTrackIndices.size() ) - 3.0; }
351  inline double ndof_core() const { return 2.0*( selectedTrackIndices.size() ) - 3.0; }
352  inline unsigned nTracksTotal() const { return selectedTrackIndices.size() + associatedTrackIndices.size(); }
353  inline double fitQuality() const { return Chi2 / ndof(); }
354  };
355 
356 
357  using Detector = int;
358  using Bec = int;
359  using Layer = int;
360  using Flag = int;
361  using ExtrapolatedPoint = std::tuple<const TVector3, Detector, Bec, Layer, Flag>;
362  using ExtrapolatedPattern = std::vector< ExtrapolatedPoint >;
363  using PatternBank = std::map<const xAOD::TrackParticle*, std::pair< std::unique_ptr<ExtrapolatedPattern>, std::unique_ptr<ExtrapolatedPattern> > >;
364 
366 
367  std::vector< std::pair<int, int> > m_incomp;
368 
369  // the map used by printWrkSet
370  std::map<const xAOD::TruthVertex*, bool> m_matchMap;
371 
376 
378  void selectTrack( const xAOD::TrackParticle* );
383 
385  std::vector<TrackSelectionAlg> m_trackSelectionAlgs;
386 
388  using CutFunc = bool (VrtSecInclusive::*) ( const xAOD::TrackParticle* ) const;
389  std::vector<CutFunc> m_trackSelectionFuncs;
390 
392  bool selectTrack_notPVassociated ( const xAOD::TrackParticle* ) const;
393  bool selectTrack_pTCut ( const xAOD::TrackParticle* ) const;
394  bool selectTrack_chi2Cut ( const xAOD::TrackParticle* ) const;
395  bool selectTrack_hitPattern ( const xAOD::TrackParticle* ) const;
396  bool selectTrack_hitPatternTight ( const xAOD::TrackParticle* ) const;
397  bool selectTrack_d0Cut ( const xAOD::TrackParticle* ) const;
398  bool selectTrack_z0Cut ( const xAOD::TrackParticle* ) const;
399  bool selectTrack_d0errCut ( const xAOD::TrackParticle* ) const;
400  bool selectTrack_z0errCut ( const xAOD::TrackParticle* ) const;
401  static bool selectTrack_d0signifCut ( const xAOD::TrackParticle* ) ;
402  static bool selectTrack_z0signifCut ( const xAOD::TrackParticle* ) ;
403  bool selectTrack_LRTR3Cut ( const xAOD::TrackParticle* ) const;
404 
406  StatusCode extractIncompatibleTrackPairs( std::vector<WrkVrt>* );
407  StatusCode findNtrackVertices(std::vector<WrkVrt>* );
408  StatusCode rearrangeTracks( std::vector<WrkVrt>* );
409 
411  StatusCode reassembleVertices( std::vector<WrkVrt>* );
412 
415  StatusCode mergeByShuffling( std::vector<WrkVrt>* );
416 
418  StatusCode mergeFinalVertices( std::vector<WrkVrt>* ); // Kazuki
419 
421  StatusCode associateNonSelectedTracks( std::vector<WrkVrt>* );
422 
424  StatusCode refitAndSelectGoodQualityVertices( std::vector<WrkVrt>* );
425 
427  bool getSVImpactParameters(const xAOD::TrackParticle* trk, const Amg::Vector3D& vertex, std::vector<double>& impactParameters, std::vector<double>& impactParErrors);
428 
429  enum TrkParameter { k_d0=0, k_z0=1, k_theta=2, k_phi=3, k_qOverP=4 ,k_nTP=5 };
431 
432  using vertexingAlg = StatusCode (VrtSecInclusive::*)( std::vector<WrkVrt>* );
433  std::vector< std::pair<std::string, vertexingAlg> > m_vertexingAlgorithms;
435 
436 
438  //
439  // Supporting utility functions
440 
442  void printWrkSet(const std::vector<WrkVrt> *WrkVrtSet, const std::string& name);
443 
447 
451 
454  double improveVertexChi2( WrkVrt& );
455 
456  static void removeTrackFromVertex(std::vector<WrkVrt>*,
457  std::vector< std::deque<long int> > *,
458  const long int & ,const long int & );
459 
460  StatusCode disassembleVertex(std::vector<WrkVrt> *, const unsigned& vertexIndex );
461 
462  void trackClassification(std::vector< WrkVrt >* , std::map< long int, std::vector<long int> >& );
463 
464  double findWorstChi2ofMaximallySharedTrack(std::vector<WrkVrt>*, std::map< long int, std::vector<long int> >&, long int & ,long int & );
465 
467  static size_t nTrkCommon( std::vector<WrkVrt> *WrkVrtSet, const std::pair<unsigned, unsigned>& pairIndex ) ;
468 
470  double significanceBetweenVertices( const WrkVrt&, const WrkVrt& ) const;
471 
473  double distanceBetweenVertices( const WrkVrt&, const WrkVrt& ) const;
474 
475  using AlgForVerticesPair = double (VrtSecInclusive::*)( const WrkVrt&, const WrkVrt& ) const;
476 
478  double findMinVerticesPair( std::vector<WrkVrt>*, std::pair<unsigned, unsigned>&, const AlgForVerticesPair& );
479 
481  static double findMinVerticesNextPair( std::vector<WrkVrt>*, std::pair<unsigned, unsigned>& );
482 
484  StatusCode mergeVertices( WrkVrt& destination, WrkVrt& source );
485 
487 
488  typedef struct track_summary_properties {
509 
511  static void fillTrackSummary( track_summary& summary, const xAOD::TrackParticle *trk );
512 
514 
515  bool patternCheck ( const uint32_t& pattern, const Amg::Vector3D& vertex );
516  static bool patternCheckRun1( const uint32_t& pattern, const Amg::Vector3D& vertex );
517  static bool patternCheckRun2( const uint32_t& pattern, const Amg::Vector3D& vertex );
518 
519  bool patternCheckOuterOnly ( const uint32_t& pattern, const Amg::Vector3D& vertex );
520  static bool patternCheckRun1OuterOnly( const uint32_t& pattern, const Amg::Vector3D& vertex );
521  static bool patternCheckRun2OuterOnly( const uint32_t& pattern, const Amg::Vector3D& vertex );
522 
524  bool checkTrackHitPatternToVertex( const xAOD::TrackParticle *trk, const Amg::Vector3D& vertex );
525 
528 
531 
534 
536  bool passedFakeReject( const Amg::Vector3D& FitVertex, const xAOD::TrackParticle *itrk, const xAOD::TrackParticle *jtrk );
537 
539  void removeInconsistentTracks( WrkVrt& );
540 
541  template<class Track> void getIntersection(Track *trk, std::vector<IntersectionPos*>& layers, const Trk::Perigee* per);
542  template<class Track> void setIntersection(Track *trk, IntersectionPos *bec, const Trk::Perigee* per);
543 
545  StatusCode monitorVertexingAlgorithmStep( std::vector<WrkVrt>*, const std::string& name, bool final = false );
546 
548  //
549  // Truth Information Algorithms Member Functions
550  //
551  //
552 
554 
556 
557  void dumpTruthInformation();
558 
559  std::vector<const xAOD::TruthVertex*> m_tracingTruthVertices;
560 
562  //
563  // Additional augmentation
564  //
565  //
566 
567  template<class LeptonFlavor>
568  StatusCode augmentDVimpactParametersToLeptons( const std::string& containerName );
569 
571  void lockTrackDecorations( const xAOD::TrackParticle* trk, bool onlySelection ) const;
572  void lockLeptonDecorations( const SG::AuxVectorData* cont ) const;
573  StatusCode lockTrackDecorations( bool onlySelection ) const;
574 
575  };
576 
577 } // end of namespace bracket
578 
579 
580 // This header file contains the definition of member templates
581 #include "details/Utilities.h"
582 
583 
584 #endif /* VRTSECINCLUSIVE_VRTSECINCLUSIVE_H */
VKalVrtAthena::VrtSecInclusive::JobProperties::doSelectTracksFromMuons
bool doSelectTracksFromMuons
Definition: VrtSecInclusive.h:222
VKalVrtAthena::VrtSecInclusive::JobProperties::extrapPV
bool extrapPV
Definition: VrtSecInclusive.h:129
Run1
USAGE: openCoraCool.exe "COOLONL_SCT/COMP200".
Definition: openCoraCool.cxx:57
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
VKalVrtAthena::VrtSecInclusive::setIntersection
void setIntersection(Track *trk, IntersectionPos *bec, const Trk::Perigee *per)
VKalVrtAthena::VrtSecInclusive::JobProperties::TrkChi2Cut
double TrkChi2Cut
Definition: VrtSecInclusive.h:160
mergePhysValFiles.pattern
pattern
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:26
SG::WriteDecorHandleKey< xAOD::EventInfo >
VKalVrtAthena::VrtSecInclusive::WrkVrt::vertex
Amg::Vector3D vertex
list if indices in TrackParticleContainer for associatedTracks
Definition: VrtSecInclusive.h:339
VKalVrtAthena::VrtSecInclusive::selectTrack_z0signifCut
static bool selectTrack_z0signifCut(const xAOD::TrackParticle *)
Definition: TrackSelectionAlgs.cxx:33
VKalVrtAthena::VrtSecInclusive::selectTrack_LRTR3Cut
bool selectTrack_LRTR3Cut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:102
VKalVrtAthena::VrtSecInclusive::m_hists
std::map< std::string, TH1 * > m_hists
Definition: VrtSecInclusive.h:314
VKalVrtAthena::VrtSecInclusive::k_qOverP
@ k_qOverP
Definition: VrtSecInclusive.h:429
GeoModel
Definition: IGeoDbTagSvc.h:16
VKalVrtAthena::VrtSecInclusive::vertexingAlg
StatusCode(VrtSecInclusive::*)(std::vector< WrkVrt > *) vertexingAlg
Definition: VrtSecInclusive.h:432
VKalVrtAthena::VrtSecInclusive::mergeStep
mergeStep
Definition: VrtSecInclusive.h:486
VKalVrtAthena::VrtSecInclusive::distanceBetweenVertices
double distanceBetweenVertices(const WrkVrt &, const WrkVrt &) const
calculate the physical distance
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:112
VKalVrtAthena::VrtSecInclusive::JobProperties::doPVcompatibilityCut
bool doPVcompatibilityCut
Definition: VrtSecInclusive.h:178
VKalVrtAthena::VrtSecInclusive::WrkVrt::Charge
long int Charge
list of VKalVrt fit chi2 for each track
Definition: VrtSecInclusive.h:345
VKalVrtAthena::VrtSecInclusive::m_pixelCondSummaryTool
ToolHandle< IInDetConditionsTool > m_pixelCondSummaryTool
Condition service.
Definition: VrtSecInclusive.h:277
VKalVrtAthena::VrtSecInclusive::JobProperties::do_d0errCut
bool do_d0errCut
Definition: VrtSecInclusive.h:143
VKalVrtAthena::IntersectionPos_barrel
Definition: IntersectionPos.h:34
SCT_ID.h
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
VKalVrtAthena::VrtSecInclusive::checkTrackHitPatternToVertexOuterOnly
bool checkTrackHitPatternToVertexOuterOnly(const xAOD::TrackParticle *trk, const Amg::Vector3D &vertex)
A classical method with hard-coded geometry.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2189
VKalVrtAthena::VrtSecInclusive::patternCheck
bool patternCheck(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2152
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer1_Hits
uint8_t numSctBarrelLayer1_Hits
Definition: VrtSecInclusive.h:498
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numIBLHits
uint8_t numIBLHits
Definition: VrtSecInclusive.h:489
IInDetConditionsTool.h
VKalVrtAthena::VrtSecInclusive::WrkVrt::associatedTrackIndices
std::deque< long int > associatedTrackIndices
list if indices in TrackParticleContainer for selectedBaseTracks
Definition: VrtSecInclusive.h:338
VKalVrtAthena::VrtSecInclusive::m_vertexMapper
ToolHandle< Trk::IVertexMapper > m_vertexMapper
Definition: VrtSecInclusive.h:274
VKalVrtAthena::VrtSecInclusive::m_vertexingAlgorithmStep
unsigned m_vertexingAlgorithmStep
Definition: VrtSecInclusive.h:434
VKalVrtAthena::VrtSecInclusive::dumpTruthInformation
void dumpTruthInformation()
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2359
VKalVrtAthena::VrtSecInclusive::JobProperties::associateChi2Cut
double associateChi2Cut
Definition: VrtSecInclusive.h:212
VKalVrtAthena::VrtSecInclusive::WrkVrt::isGood
bool isGood
Definition: VrtSecInclusive.h:336
VKalVrtAthena::IntersectionPos
Definition: IntersectionPos.h:18
VKalVrtAthena::VrtSecInclusive::JobProperties::passThroughTrackSelection
bool passThroughTrackSelection
Definition: VrtSecInclusive.h:131
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
VKalVrtAthena::VrtSecInclusive::selectTrack_pTCut
bool selectTrack_pTCut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:34
VKalVrtAthena::VrtSecInclusive::JobProperties::doSelectIDAndGSFTracks
bool doSelectIDAndGSFTracks
Definition: VrtSecInclusive.h:225
VKalVrtAthena::VrtSecInclusive::setupNtupleVariables
StatusCode setupNtupleVariables()
Definition: AANT_Tools.cxx:28
ParticleGun_SamplingFraction.bec
int bec
Definition: ParticleGun_SamplingFraction.py:89
VKalVrtAthena::VrtSecInclusive::JobProperties::associateMaxD0Signif
double associateMaxD0Signif
Definition: VrtSecInclusive.h:209
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
VKalVrtAthena::VrtSecInclusive::JobProperties::doSuggestedRefitOnMerging
bool doSuggestedRefitOnMerging
Definition: VrtSecInclusive.h:184
Muon.h
VKalVrtAthena::VrtSecInclusive::k_d0
@ k_d0
Definition: VrtSecInclusive.h:429
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer0_Hits
uint8_t numSctBarrelLayer0_Hits
Definition: VrtSecInclusive.h:497
Utilities.h
VKalVrtAthena::VrtSecInclusive::m_thePV
const xAOD::Vertex * m_thePV
Definition: VrtSecInclusive.h:256
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
VKalVrtAthena::VrtSecInclusive::k_phi
@ k_phi
Definition: VrtSecInclusive.h:429
VKalVrtAthena::VrtSecInclusive::improveVertexChi2
double improveVertexChi2(WrkVrt &)
attempt to improve the vertex chi2 by removing the most-outlier track one by one until the vertex chi...
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:265
VKalVrtAthena::VrtSecInclusive::JobProperties::secondaryVerticesContainerName
std::string secondaryVerticesContainerName
Definition: VrtSecInclusive.h:120
TruthVertexContainer.h
VKalVrtAthena::VrtSecInclusive::m_vertexingAlgorithms
std::vector< std::pair< std::string, vertexingAlg > > m_vertexingAlgorithms
Definition: VrtSecInclusive.h:433
VKalVrtAthena::VrtSecInclusive::JobProperties::do_z0signifCut
bool do_z0signifCut
Definition: VrtSecInclusive.h:146
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelLayer2_Hits
uint8_t numPixelLayer2_Hits
Definition: VrtSecInclusive.h:492
VKalVrtAthena::VrtSecInclusive::findWorstChi2ofMaximallySharedTrack
double findWorstChi2ofMaximallySharedTrack(std::vector< WrkVrt > *, std::map< long int, std::vector< long int > > &, long int &, long int &)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:939
TruthParticleContainer.h
VKalVrtAthena::VrtSecInclusive::checkTrackHitPatternToVertexByExtrapolationAssist
bool checkTrackHitPatternToVertexByExtrapolationAssist(const xAOD::TrackParticle *trk, const Amg::Vector3D &vertex)
New method with track extrapolation.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2200
VKalVrtAthena::VrtSecInclusive::track_summary
struct VKalVrtAthena::VrtSecInclusive::track_summary_properties track_summary
VKalVrtAthena::VrtSecInclusive::JobProperties::do_PVvetoCut
bool do_PVvetoCut
Definition: VrtSecInclusive.h:140
VKalVrtAthena::VrtSecInclusive::m_leptonicTracks
std::vector< const xAOD::TrackParticle * > m_leptonicTracks
Definition: VrtSecInclusive.h:259
VKalVrtAthena::VrtSecInclusive::m_extrapolatedPatternBank
PatternBank m_extrapolatedPatternBank
Definition: VrtSecInclusive.h:365
VKalVrtAthena::VrtSecInclusive::m_ntupleVars
std::unique_ptr< NtupleVars > m_ntupleVars
Definition: VrtSecInclusive.h:311
module_driven_slicing.layers
layers
Definition: module_driven_slicing.py:114
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC3_Hits
uint8_t numSctEC3_Hits
Definition: VrtSecInclusive.h:504
VKalVrtAthena::VrtSecInclusive::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: VrtSecInclusive.h:273
VKalVrtAthena::VrtSecInclusive::JobProperties::associatePtCut
double associatePtCut
Definition: VrtSecInclusive.h:211
VKalVrtAthena::VrtSecInclusive::mergeVertices
StatusCode mergeVertices(WrkVrt &destination, WrkVrt &source)
the 2nd vertex is merged into the 1st vertex.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:452
VKalVrtAthena::VrtSecInclusive::JobProperties::truthParticleContainerName
std::string truthParticleContainerName
Definition: VrtSecInclusive.h:114
VKalVrtAthena::VrtSecInclusive::patternCheckRun1
static bool patternCheckRun1(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:1842
VKalVrtAthena::VrtSecInclusive::associateNonSelectedTracks
StatusCode associateNonSelectedTracks(std::vector< WrkVrt > *)
in addition to selected tracks, associate as much tracks as possible
Definition: VertexingAlgs.cxx:1061
VKalVrtAthena::VrtSecInclusive::FINAL
@ FINAL
Definition: VrtSecInclusive.h:486
VKalVrtAthena::VrtSecInclusive::m_pixelId
const PixelID * m_pixelId
Definition: VrtSecInclusive.h:281
VKalVrtAthena::VrtSecInclusive::deleteNtupleVariables
StatusCode deleteNtupleVariables()
Definition: AANT_Tools.cxx:209
VKalVrtAthena::VrtSecInclusive::WrkVrt::vertexMom
TLorentzVector vertexMom
VKalVrt fit vertex position.
Definition: VrtSecInclusive.h:340
VKalVrtAthena::VrtSecInclusive::k_z0
@ k_z0
Definition: VrtSecInclusive.h:429
Run2
Definition: openCoraCool.cxx:137
VKalVrtAthena::VrtSecInclusive::JobProperties::TrkPtCut
double TrkPtCut
Definition: VrtSecInclusive.h:161
VKalVrtAthena::VrtSecInclusive::getTrkGenParticle
static const xAOD::TruthParticle * getTrkGenParticle(const xAOD::TrackParticle *)
Definition: TruthAlgs.cxx:26
VKalVrtAthena::VrtSecInclusive::JobProperties::mcTrkResolution
double mcTrkResolution
Definition: VrtSecInclusive.h:239
VKalVrtAthena::VrtSecInclusive::JobProperties::SelVrtChi2Cut
double SelVrtChi2Cut
Definition: VrtSecInclusive.h:191
VKalVrtAthena::VrtSecInclusive::JobProperties::twoTrVrtMinDistFromPV
double twoTrVrtMinDistFromPV
Definition: VrtSecInclusive.h:199
VKalVrtAthena::VrtSecInclusive::track_summary_properties
Definition: VrtSecInclusive.h:488
VKalVrtAthena::VrtSecInclusive::JobProperties::augVerString
std::string augVerString
Definition: VrtSecInclusive.h:116
IExtrapolator.h
IPropagator.h
VKalVrtAthena::VrtSecInclusive::reassembleVertices
StatusCode reassembleVertices(std::vector< WrkVrt > *)
attempt to merge vertices when all tracks of a vertex A is close to vertex B in terms of impact param...
Definition: VertexingAlgs.cxx:940
VKalVrtAthena::VrtSecInclusive::JobProperties::doFinalImproveChi2
bool doFinalImproveChi2
Definition: VrtSecInclusive.h:189
VKalVrtAthena::VrtSecInclusive::k_nTPU
@ k_nTPU
Definition: VrtSecInclusive.h:430
VKalVrtAthena::VrtSecInclusive::JobProperties::doRemoveCaloTaggedMuons
bool doRemoveCaloTaggedMuons
Definition: VrtSecInclusive.h:223
VKalVrtAthena::VrtSecInclusive::patternCheckRun2
static bool patternCheckRun2(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:1432
VKalVrtAthena::VrtSecInclusive::trackClassification
void trackClassification(std::vector< WrkVrt > *, std::map< long int, std::vector< long int > > &)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:907
VKalVrtAthena::VrtSecInclusive::JobProperties::CutTightTRTHits
int CutTightTRTHits
Definition: VrtSecInclusive.h:172
VKalVrtAthena::VrtSecInclusive::JobProperties::associateMinDistanceToPV
double associateMinDistanceToPV
Definition: VrtSecInclusive.h:208
VKalVrtAthena::VrtSecInclusive::JobProperties::d0TrkPVSignifCut
double d0TrkPVSignifCut
Definition: VrtSecInclusive.h:151
SG::ReadHandleKey< xAOD::EventInfo >
VKalVrtAthena::VrtSecInclusive::JobProperties::pvCompatibilityCut
double pvCompatibilityCut
Definition: VrtSecInclusive.h:190
VKalVrtAthena::VrtSecInclusive::JobProperties::removeFakeVrt
bool removeFakeVrt
Definition: VrtSecInclusive.h:180
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelDisk0_Hits
uint8_t numPixelDisk0_Hits
Definition: VrtSecInclusive.h:493
VKalVrtAthena::VrtSecInclusive::PatternBank
std::map< const xAOD::TrackParticle *, std::pair< std::unique_ptr< ExtrapolatedPattern >, std::unique_ptr< ExtrapolatedPattern > > > PatternBank
Definition: VrtSecInclusive.h:363
VKalVrtAthena::VrtSecInclusive::VrtSecInclusive
VrtSecInclusive(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition: VrtSecInclusive.cxx:39
VKalVrtAthena::VrtSecInclusive::findMinVerticesNextPair
static double findMinVerticesNextPair(std::vector< WrkVrt > *, std::pair< unsigned, unsigned > &)
returns the next pair of vertices that give next-to-minimum distance significance
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:414
VKalVrtAthena::VrtSecInclusive::selectTrack_hitPatternTight
bool selectTrack_hitPatternTight(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:76
VKalVrtAthena::VrtSecInclusive::JobProperties::mcEventContainerName
std::string mcEventContainerName
Definition: VrtSecInclusive.h:115
VKalVrtAthena::VrtSecInclusive::rearrangeTracks
StatusCode rearrangeTracks(std::vector< WrkVrt > *)
Definition: VertexingAlgs.cxx:717
VKalVrtAthena::VrtSecInclusive::selectTrack_hitPattern
bool selectTrack_hitPattern(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:38
VKalVrtAthena::VrtSecInclusive::JobProperties::twoTrkVtxFormingD0Cut
double twoTrkVtxFormingD0Cut
Definition: VrtSecInclusive.h:157
VKalVrtAthena::VrtSecInclusive::JobProperties::doAugmentDVimpactParametersToMuons
bool doAugmentDVimpactParametersToMuons
Definition: VrtSecInclusive.h:235
VKalVrtAthena::VrtSecInclusive::JobProperties::VertexMergeCut
double VertexMergeCut
Definition: VrtSecInclusive.h:194
VKalVrtAthena::VrtSecInclusive::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Read/Write Handle Keys.
Definition: VrtSecInclusive.h:295
TrkVKalVrtFitter.h
VKalVrtAthena::VrtSecInclusive::JobProperties::z0TrkPVSignifCut
double z0TrkPVSignifCut
Definition: VrtSecInclusive.h:154
VKalVrtAthena::VrtSecInclusive::JobProperties::FillIntermediateVertices
bool FillIntermediateVertices
Definition: VrtSecInclusive.h:126
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelDisk1_Hits
uint8_t numPixelDisk1_Hits
Definition: VrtSecInclusive.h:494
VKalVrtAthena::VrtSecInclusive::~VrtSecInclusive
~VrtSecInclusive()
Default Destructor.
Definition: VrtSecInclusive.cxx:77
VKalVrtAthena::VrtSecInclusive::m_truthToTrack
ToolHandle< Trk::ITruthToTrack > m_truthToTrack
Definition: VrtSecInclusive.h:268
VKalVrtAthena::VrtSecInclusive::CutFunc
bool(VrtSecInclusive::*)(const xAOD::TrackParticle *) const CutFunc
track selection
Definition: VrtSecInclusive.h:388
VKalVrtAthena::VrtSecInclusive::m_primaryVertices
const xAOD::VertexContainer * m_primaryVertices
Definition: VrtSecInclusive.h:255
VKalVrtAthena
Definition: AANT_Tools.cxx:25
VKalVrtAthena::VrtSecInclusive::JobProperties::doMergeByShuffling
bool doMergeByShuffling
Definition: VrtSecInclusive.h:183
AthAlgorithm.h
IVertexMapper.h
VKalVrtAthena::VrtSecInclusive::ExtrapolatedPoint
std::tuple< const TVector3, Detector, Bec, Layer, Flag > ExtrapolatedPoint
Definition: VrtSecInclusive.h:361
VKalVrtAthena::VrtSecInclusive::selectInDetAndGSFTracks
StatusCode selectInDetAndGSFTracks()
Definition: TrackSelectionAlgs.cxx:304
VKalVrtAthena::VrtSecInclusive::m_sctCondSummaryTool
ToolHandle< IInDetConditionsTool > m_sctCondSummaryTool
Definition: VrtSecInclusive.h:278
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC0_Hits
uint8_t numSctEC0_Hits
Definition: VrtSecInclusive.h:501
VKalVrtAthena::VrtSecInclusive::JobProperties::ElectronLocation
std::string ElectronLocation
Definition: VrtSecInclusive.h:112
VKalVrtAthena::VrtSecInclusive::k_d0d0
@ k_d0d0
Definition: VrtSecInclusive.h:430
VKalVrtAthena::VrtSecInclusive::setupNtuple
StatusCode setupNtuple()
Definition: AANT_Tools.cxx:218
VKalVrtAthena::VrtSecInclusive::m_trackToVertexIPEstimatorTool
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimatorTool
Definition: VrtSecInclusive.h:272
VKalVrtAthena::VrtSecInclusive::JobProperties::CutSharedHits
int CutSharedHits
Definition: VrtSecInclusive.h:169
VKalVrtAthena::VrtSecInclusive::JobProperties::FillHist
bool FillHist
Definition: VrtSecInclusive.h:124
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
VKalVrtAthena::VrtSecInclusive::JobProperties::CutPixelHits
int CutPixelHits
Definition: VrtSecInclusive.h:166
VKalVrtAthena::VrtSecInclusive::m_fitSvc
ToolHandle< Trk::ITrkVKalVrtFitter > m_fitSvc
Definition: VrtSecInclusive.h:267
VKalVrtAthena::VrtSecInclusive::JobProperties::mergeByShufflingMaxSignificance
double mergeByShufflingMaxSignificance
Definition: VrtSecInclusive.h:216
VKalVrtAthena::VrtSecInclusive::JobProperties::do_z0Cut
bool do_z0Cut
Definition: VrtSecInclusive.h:142
VKalVrtAthena::VrtSecInclusive::JobProperties::do_z0errCut
bool do_z0errCut
Definition: VrtSecInclusive.h:144
VKalVrtAthena::VrtSecInclusive::REASSEMBLE
@ REASSEMBLE
Definition: VrtSecInclusive.h:486
VKalVrtAthena::VrtSecInclusive::m_BeamPosition
std::vector< double > m_BeamPosition
Definition: VrtSecInclusive.h:260
VKalVrtAthena::VrtSecInclusive::JobProperties::SAloneTRT
bool SAloneTRT
Definition: VrtSecInclusive.h:137
VKalVrtAthena::VrtSecInclusive::JobProperties::do_d0signifCut
bool do_d0signifCut
Definition: VrtSecInclusive.h:145
VKalVrtAthena::VrtSecInclusive::JobProperties::trkExtrapolator
int trkExtrapolator
Definition: VrtSecInclusive.h:175
TrackParticleAuxContainer.h
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:59
ElectronContainer.h
VKalVrtAthena::VrtSecInclusive::extractIncompatibleTrackPairs
StatusCode extractIncompatibleTrackPairs(std::vector< WrkVrt > *)
related to the graph method and verte finding
Definition: VertexingAlgs.cxx:39
McEventCollection.h
VKalVrtAthena::VrtSecInclusive::WrkVrt::Chi2PerTrk
std::vector< double > Chi2PerTrk
VKalVrt fit chi2 result.
Definition: VrtSecInclusive.h:344
VKalVrtAthena::VrtSecInclusive::JobProperties::doTwoTrSoftBtag
bool doTwoTrSoftBtag
Definition: VrtSecInclusive.h:197
VKalVrtAthena::VrtSecInclusive::findMinVerticesPair
double findMinVerticesPair(std::vector< WrkVrt > *, std::pair< unsigned, unsigned > &, const AlgForVerticesPair &)
returns the pair of vertices that give minimum in terms of some observable (e.g.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:374
VKalVrtAthena::VrtSecInclusive::JobProperties::truncateWrkVertices
bool truncateWrkVertices
Definition: VrtSecInclusive.h:205
VKalVrtAthena::VrtSecInclusive::JobProperties::doAugmentDVimpactParametersToElectrons
bool doAugmentDVimpactParametersToElectrons
Definition: VrtSecInclusive.h:236
VKalVrtAthena::VrtSecInclusive::selectTrack_d0signifCut
static bool selectTrack_d0signifCut(const xAOD::TrackParticle *)
Definition: TrackSelectionAlgs.cxx:32
VKalVrtAthena::VrtSecInclusive::WrkVrt::Chi2_core
double Chi2_core
VKalVrt fit chi2 result.
Definition: VrtSecInclusive.h:343
VKalVrtAthena::VrtSecInclusive::mergeByShuffling
StatusCode mergeByShuffling(std::vector< WrkVrt > *)
attempt to merge splitted vertices when they are significantly distant due to the long-tail behavior ...
Definition: VertexingAlgs.cxx:1269
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numTrtHits
uint8_t numTrtHits
Definition: VrtSecInclusive.h:507
VKalVrtAthena::VrtSecInclusive::extrapolatedPattern
ExtrapolatedPattern * extrapolatedPattern(const xAOD::TrackParticle *, enum Trk::PropDirection)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:1103
VKalVrtAthena::VrtSecInclusive::JobProperties::reassembleMaxImpactParameterD0
double reassembleMaxImpactParameterD0
Definition: VrtSecInclusive.h:214
VKalVrtAthena::IntersectionPos_endcap
Definition: IntersectionPos.h:58
VKalVrtAthena::VrtSecInclusive::finalize
virtual StatusCode finalize()
Definition: VrtSecInclusive.cxx:268
VKalVrtAthena::VrtSecInclusive::JobProperties::all2trksVerticesContainerName
std::string all2trksVerticesContainerName
Definition: VrtSecInclusive.h:119
VKalVrtAthena::VrtSecInclusive::JobProperties::SelTrkMaxCutoff
unsigned int SelTrkMaxCutoff
Definition: VrtSecInclusive.h:136
VKalVrtAthena::VrtSecInclusive::JobProperties::VertexMergeFinalDistScaling
double VertexMergeFinalDistScaling
Definition: VrtSecInclusive.h:193
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
VKalVrtAthena::VrtSecInclusive::JobProperties::do_d0Cut
bool do_d0Cut
Definition: VrtSecInclusive.h:141
VKalVrtAthena::VrtSecInclusive::k_theta
@ k_theta
Definition: VrtSecInclusive.h:429
VKalVrtAthena::VrtSecInclusive::processPrimaryVertices
StatusCode processPrimaryVertices()
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:818
VKalVrtAthena::VrtSecInclusive::JobProperties::removeFakeVrtLate
bool removeFakeVrtLate
Definition: VrtSecInclusive.h:181
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
VKalVrtAthena::VrtSecInclusive::JobProperties::doFastMode
bool doFastMode
Definition: VrtSecInclusive.h:133
VKalVrtAthena::VrtSecInclusive::JobProperties::CutTRTHits
int CutTRTHits
Definition: VrtSecInclusive.h:170
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
VKalVrtAthena::VrtSecInclusive::m_trackSelectionFuncs
std::vector< CutFunc > m_trackSelectionFuncs
Definition: VrtSecInclusive.h:389
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC4_Hits
uint8_t numSctEC4_Hits
Definition: VrtSecInclusive.h:505
VKalVrtAthena::VrtSecInclusive::Bec
int Bec
Definition: VrtSecInclusive.h:358
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numBLayerHits
uint8_t numBLayerHits
Definition: VrtSecInclusive.h:490
VKalVrtAthena::VrtSecInclusive::JobProperties::doAssociateNonSelectedTracks
bool doAssociateNonSelectedTracks
Definition: VrtSecInclusive.h:188
VKalVrtAthena::VrtSecInclusive::JobProperties
Definition: VrtSecInclusive.h:106
VKalVrtAthena::VrtSecInclusive::refitVertexWithSuggestion
StatusCode refitVertexWithSuggestion(WrkVrt &, const Amg::Vector3D &)
refit the vertex with suggestion
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:585
CylinderSurface.h
VKalVrtAthena::VrtSecInclusive::JobProperties::doMagnetMerging
bool doMagnetMerging
Definition: VrtSecInclusive.h:185
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelLayer1_Hits
uint8_t numPixelLayer1_Hits
Definition: VrtSecInclusive.h:491
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer2_Hits
uint8_t numSctBarrelLayer2_Hits
Definition: VrtSecInclusive.h:499
VKalVrtAthena::VrtSecInclusive::WrkVrt::vertexCov
std::vector< double > vertexCov
VKalVrt fit vertex 4-momentum.
Definition: VrtSecInclusive.h:341
VKalVrtAthena::VrtSecInclusive::WrkVrt::Chi2
double Chi2
VKalVrt fit covariance.
Definition: VrtSecInclusive.h:342
VKalVrtAthena::VrtSecInclusive::JobProperties::doIntersectionPos
bool doIntersectionPos
Definition: VrtSecInclusive.h:127
VKalVrtAthena::VrtSecInclusive::JobProperties::doRemoveNonLeptonVertices
bool doRemoveNonLeptonVertices
Definition: VrtSecInclusive.h:226
VKalVrtAthena::VrtSecInclusive::lockLeptonDecorations
void lockLeptonDecorations(const SG::AuxVectorData *cont) const
Definition: VrtSecInclusive.cxx:508
VKalVrtAthena::VrtSecInclusive::fillTrackSummary
static void fillTrackSummary(track_summary &summary, const xAOD::TrackParticle *trk)
retrieve the track hit information
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:1086
VKalVrtAthena::VrtSecInclusive::selectTrack_d0Cut
bool selectTrack_d0Cut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:28
VKalVrtAthena::VrtSecInclusive::m_trackSelectionAlgs
std::vector< TrackSelectionAlg > m_trackSelectionAlgs
Definition: VrtSecInclusive.h:385
VKalVrtAthena::VrtSecInclusive::m_vertexingStatus
int m_vertexingStatus
Definition: VrtSecInclusive.h:252
VKalVrtAthena::VrtSecInclusive::AlgForVerticesPair
double(VrtSecInclusive::*)(const WrkVrt &, const WrkVrt &) const AlgForVerticesPair
Definition: VrtSecInclusive.h:475
VKalVrtAthena::VrtSecInclusive::execute
virtual StatusCode execute()
Definition: VrtSecInclusive.cxx:294
VKalVrtAthena::VrtSecInclusive::significanceBetweenVertices
double significanceBetweenVertices(const WrkVrt &, const WrkVrt &) const
calculate the significance (Mahalanobis distance) between two reconstructed vertices
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:61
VKalVrtAthena::VrtSecInclusive::selectTracksInDet
StatusCode selectTracksInDet()
Definition: TrackSelectionAlgs.cxx:227
VKalVrtAthena::VrtSecInclusive::JobProperties::mergeByShufflingAllowance
double mergeByShufflingAllowance
Definition: VrtSecInclusive.h:217
VKalVrtAthena::VrtSecInclusive::JobProperties::d0TrkPVDstMinCut
double d0TrkPVDstMinCut
Definition: VrtSecInclusive.h:149
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
VKalVrtAthena::VrtSecInclusive::WrkVrt::closestWrkVrtIndex
unsigned long closestWrkVrtIndex
list of track parameters wrt the reconstructed vertex
Definition: VrtSecInclusive.h:347
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
VKalVrtAthena::VrtSecInclusive::patternCheckOuterOnly
bool patternCheckOuterOnly(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2165
VKalVrtAthena::VrtSecInclusive::WrkVrt::ndof
double ndof() const
stores the value of some observable to the closest WrkVrt ( observable = e.g. significance )
Definition: VrtSecInclusive.h:350
VKalVrtAthena::VrtSecInclusive::refitAndSelectGoodQualityVertices
StatusCode refitAndSelectGoodQualityVertices(std::vector< WrkVrt > *)
finalization of the vertex and store to xAOD::VertexContainer
Definition: VertexingAlgs.cxx:1474
VKalVrtAthena::VrtSecInclusive::m_atlasId
const AtlasDetectorID * m_atlasId
Definition: VrtSecInclusive.h:280
VKalVrtAthena::VrtSecInclusive::m_patternStrategyFuncs
std::map< std::string, PatternStrategyFunc > m_patternStrategyFuncs
Definition: VrtSecInclusive.h:286
VKalVrtAthena::VrtSecInclusive::m_trackToVertexTool
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
get a handle on the Track to Vertex tool
Definition: VrtSecInclusive.h:271
VKalVrtAthena::VrtSecInclusive::m_decor_isAssociated
std::optional< SG::Decorator< char > > m_decor_isAssociated
Definition: VrtSecInclusive.h:290
AthAlgorithm
Definition: AthAlgorithm.h:47
VKalVrtAthena::VrtSecInclusive::JobProperties::doSelectTracksFromElectrons
bool doSelectTracksFromElectrons
Definition: VrtSecInclusive.h:224
VKalVrtAthena::VrtSecInclusive::selectTrack_z0Cut
bool selectTrack_z0Cut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:29
VKalVrtAthena::VrtSecInclusive::JobProperties::geoModel
int geoModel
Definition: VrtSecInclusive.h:108
VKalVrtAthena::VrtSecInclusive::JobProperties::MuonLocation
std::string MuonLocation
Definition: VrtSecInclusive.h:111
VKalVrtAthena::VrtSecInclusive::JobProperties::doWildMerging
bool doWildMerging
Definition: VrtSecInclusive.h:186
ITrackToVertex.h
VKalVrtAthena::VrtSecInclusive::Layer
int Layer
Definition: VrtSecInclusive.h:359
VKalVrtAthena::VrtSecInclusive::selectTrack_d0errCut
bool selectTrack_d0errCut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:30
VKalVrtAthena::VrtSecInclusive::m_vertexingStatusKey
SG::WriteDecorHandleKey< xAOD::EventInfo > m_vertexingStatusKey
Definition: VrtSecInclusive.h:296
VKalVrtAthena::VrtSecInclusive::m_decor_isSelected
std::optional< SG::Decorator< char > > m_decor_isSelected
Definition: VrtSecInclusive.h:289
VKalVrtAthena::VrtSecInclusive::categorizeVertexTruthTopology
StatusCode categorizeVertexTruthTopology(xAOD::Vertex *vertex)
Definition: TruthAlgs.cxx:44
VKalVrtAthena::VrtSecInclusive::getSVImpactParameters
bool getSVImpactParameters(const xAOD::TrackParticle *trk, const Amg::Vector3D &vertex, std::vector< double > &impactParameters, std::vector< double > &impactParErrors)
get secondary vertex impact parameters
Definition: VertexingAlgs.cxx:2081
VKalVrtAthena::VrtSecInclusive::SHUFFLE2
@ SHUFFLE2
Definition: VrtSecInclusive.h:486
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
VKalVrtAthena::VrtSecInclusive::k_z0z0
@ k_z0z0
Definition: VrtSecInclusive.h:430
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctHits
uint8_t numSctHits
Definition: VrtSecInclusive.h:506
VKalVrtAthena::VrtSecInclusive::Flag
int Flag
Definition: VrtSecInclusive.h:360
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
VKalVrtAthena::VrtSecInclusive::refitVertex
StatusCode refitVertex(WrkVrt &)
refit the vertex.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:496
VKalVrtAthena::VrtSecInclusive::JobProperties::improveChi2ProbThreshold
double improveChi2ProbThreshold
Definition: VrtSecInclusive.h:219
VKalVrtAthena::VrtSecInclusive::ExtrapolatedPattern
std::vector< ExtrapolatedPoint > ExtrapolatedPattern
Definition: VrtSecInclusive.h:362
VKalVrtAthena::VrtSecInclusive::JobProperties::PrimVrtLocation
std::string PrimVrtLocation
Definition: VrtSecInclusive.h:113
VKalVrtAthena::VrtSecInclusive::fillAANT_SelectedBaseTracks
StatusCode fillAANT_SelectedBaseTracks()
Definition: AANT_Tools.cxx:263
VKalVrtAthena::VrtSecInclusive::JobProperties::CutSctHits
int CutSctHits
Definition: VrtSecInclusive.h:165
VKalVrtAthena::VrtSecInclusive::JobProperties::twoTrVrtAngleCut
double twoTrVrtAngleCut
Definition: VrtSecInclusive.h:198
VKalVrtAthena::VrtSecInclusive::JobProperties::doMapToLocal
bool doMapToLocal
Definition: VrtSecInclusive.h:128
VKalVrtAthena::VrtSecInclusive::selectTrack
void selectTrack(const xAOD::TrackParticle *)
Vertexing Algorithm Member Functions.
Definition: TrackSelectionAlgs.cxx:136
VKalVrtAthena::VrtSecInclusive::m_decor_is_svtrk_final
std::optional< SG::Decorator< char > > m_decor_is_svtrk_final
Definition: VrtSecInclusive.h:291
VKalVrtAthena::VrtSecInclusive::JobProperties::doMergeFinalVerticesDistance
bool doMergeFinalVerticesDistance
Definition: VrtSecInclusive.h:187
VKalVrtAthena::VrtSecInclusive::nTrkCommon
static size_t nTrkCommon(std::vector< WrkVrt > *WrkVrtSet, const std::pair< unsigned, unsigned > &pairIndex)
returns the number of tracks commonly present in both vertices
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:662
VKalVrtAthena::VrtSecInclusive::WrkVrt::selectedTrackIndices
std::deque< long int > selectedTrackIndices
flagged true for good vertex candidates
Definition: VrtSecInclusive.h:337
VKalVrtAthena::VrtSecInclusive::Detector
int Detector
Definition: VrtSecInclusive.h:357
VKalVrtAthena::VrtSecInclusive::JobProperties::doReassembleVertices
bool doReassembleVertices
Definition: VrtSecInclusive.h:182
VKalVrtAthena::VrtSecInclusive::WrkVrt
Definition: VrtSecInclusive.h:335
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
VKalVrtAthena::VrtSecInclusive::JobProperties::associateMaxZ0Signif
double associateMaxZ0Signif
Definition: VrtSecInclusive.h:210
VKalVrtAthena::VrtSecInclusive::JobProperties::d0TrkErrorCut
double d0TrkErrorCut
Definition: VrtSecInclusive.h:155
VKalVrtAthena::NtupleVars
Definition: NtupleVars.h:117
EventInfo.h
VKalVrtAthena::VrtSecInclusive::selectTracksFromMuons
StatusCode selectTracksFromMuons()
Definition: TrackSelectionAlgs.cxx:255
VKalVrtAthena::VrtSecInclusive::JobProperties::doTightPVcompatibilityCut
bool doTightPVcompatibilityCut
Definition: VrtSecInclusive.h:179
VKalVrtAthena::VrtSecInclusive::WrkVrt::nTracksTotal
unsigned nTracksTotal() const
Definition: VrtSecInclusive.h:352
MuonContainer.h
VKalVrtAthena::VrtSecInclusive::selectTracksFromElectrons
StatusCode selectTracksFromElectrons()
Definition: TrackSelectionAlgs.cxx:281
VKalVrtAthena::VrtSecInclusive::m_incomp
std::vector< std::pair< int, int > > m_incomp
Definition: VrtSecInclusive.h:367
VKalVrtAthena::VrtSecInclusive::lockTrackDecorations
void lockTrackDecorations(const xAOD::TrackParticle *trk, bool onlySelection) const
lock decorations at the end of the algorithm
Definition: VrtSecInclusive.cxx:489
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer3_Hits
uint8_t numSctBarrelLayer3_Hits
Definition: VrtSecInclusive.h:500
VKalVrtAthena::VrtSecInclusive::m_associatedTracks
std::vector< const xAOD::TrackParticle * > m_associatedTracks
Definition: VrtSecInclusive.h:258
VKalVrtAthena::VrtSecInclusive::WrkVrt::closestWrkVrtValue
double closestWrkVrtValue
stores the index of the closest WrkVrt in std::vector<WrkVrt>
Definition: VrtSecInclusive.h:348
VKalVrtAthena::VrtSecInclusive::disassembleVertex
StatusCode disassembleVertex(std::vector< WrkVrt > *, const unsigned &vertexIndex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:118
TrackParticle.h
VKalVrtAthena::VrtSecInclusive::checkTrackHitPatternToVertex
bool checkTrackHitPatternToVertex(const xAOD::TrackParticle *trk, const Amg::Vector3D &vertex)
A classical method with hard-coded geometry.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2178
VKalVrtAthena::VrtSecInclusive::patternCheckRun1OuterOnly
static bool patternCheckRun1OuterOnly(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2007
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
VKalVrtAthena::VrtSecInclusive::passedFakeReject
bool passedFakeReject(const Amg::Vector3D &FitVertex, const xAOD::TrackParticle *itrk, const xAOD::TrackParticle *jtrk)
Flag false if the consistituent tracks are not consistent with the vertex position.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2316
VKalVrtAthena::VrtSecInclusive::JobProperties::z0TrkErrorCut
double z0TrkErrorCut
Definition: VrtSecInclusive.h:156
VertexContainer.h
VKalVrtAthena::VrtSecInclusive::printWrkSet
void printWrkSet(const std::vector< WrkVrt > *WrkVrtSet, const std::string &name)
print the contents of reconstructed vertices
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:994
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
VKalVrtAthena::VrtSecInclusive::patternCheckRun2OuterOnly
static bool patternCheckRun2OuterOnly(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:1646
VKalVrtAthena::VrtSecInclusive::JobProperties::truthParticleFilter
std::string truthParticleFilter
Definition: VrtSecInclusive.h:117
SCT_ID
Definition: SCT_ID.h:68
VKalVrtAthena::VrtSecInclusive::JobProperties::doSelectTracksWithLRTCuts
bool doSelectTracksWithLRTCuts
Definition: VrtSecInclusive.h:232
Trk::IVKalState
Definition: IVKalState.h:21
VKalVrtAthena::VrtSecInclusive::SHUFFLE3
@ SHUFFLE3
Definition: VrtSecInclusive.h:486
ITruthToTrack.h
VKalVrtAthena::VrtSecInclusive::WrkVrt::fitQuality
double fitQuality() const
Definition: VrtSecInclusive.h:353
VKalVrtAthena::VrtSecInclusive::JobProperties::TrackDetachCut
double TrackDetachCut
Definition: VrtSecInclusive.h:195
VKalVrtAthena::VrtSecInclusive::declareProperties
void declareProperties()
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:686
VKalVrtAthena::VrtSecInclusive::TrackSelectionAlg
StatusCode(VrtSecInclusive::*)() TrackSelectionAlg
Definition: VrtSecInclusive.h:384
VKalVrtAthena::VrtSecInclusive::JobProperties::CutSiHits
int CutSiHits
Definition: VrtSecInclusive.h:167
VKalVrtAthena::VrtSecInclusive::TrkParameterUnc
TrkParameterUnc
Definition: VrtSecInclusive.h:430
VKalVrtAthena::VrtSecInclusive::JobProperties::FillNtuple
bool FillNtuple
Definition: VrtSecInclusive.h:125
VKalVrtAthena::VrtSecInclusive::WrkVrt::TrkAtVrt
std::vector< std::vector< double > > TrkAtVrt
total charge of the vertex
Definition: VrtSecInclusive.h:346
VKalVrtAthena::VrtSecInclusive::fillAANT_SecondaryVertices
StatusCode fillAANT_SecondaryVertices(xAOD::VertexContainer *)
Definition: AANT_Tools.cxx:351
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC2_Hits
uint8_t numSctEC2_Hits
Definition: VrtSecInclusive.h:503
VKalVrtAthena::VrtSecInclusive::initEvent
virtual StatusCode initEvent()
Definition: VrtSecInclusive.cxx:276
VKalVrtAthena::VrtSecInclusive::removeTrackFromVertex
static void removeTrackFromVertex(std::vector< WrkVrt > *, std::vector< std::deque< long int > > *, const long int &, const long int &)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:337
VKalVrtAthena::VrtSecInclusive::m_jp
struct JobProperties m_jp
Definition: VrtSecInclusive.h:244
VKalVrtAthena::VrtSecInclusive::JobProperties::doTRTPixCut
bool doTRTPixCut
Definition: VrtSecInclusive.h:164
VKalVrtAthena::VrtSecInclusive::m_decor_svLink
std::optional< VertexELType > m_decor_svLink
Definition: VrtSecInclusive.h:302
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC1_Hits
uint8_t numSctEC1_Hits
Definition: VrtSecInclusive.h:502
VKalVrtAthena::VrtSecInclusive::m_sctId
const SCT_ID * m_sctId
Definition: VrtSecInclusive.h:282
ITrackToVertexIPEstimator.h
VKalVrtAthena::VrtSecInclusive::removeInconsistentTracks
void removeInconsistentTracks(WrkVrt &)
Remove inconsistent tracks from vertices.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2330
VKalVrtAthena::VrtSecInclusive::JobProperties::TrackLocation
std::string TrackLocation
Definition: VrtSecInclusive.h:110
VKalVrtAthena::VrtSecInclusive::JobProperties::z0TrkPVDstMinCut
double z0TrkPVDstMinCut
Definition: VrtSecInclusive.h:152
VKalVrtAthena::VrtSecInclusive::m_matchMap
std::map< const xAOD::TruthVertex *, bool > m_matchMap
Definition: VrtSecInclusive.h:370
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
copySelective.source
string source
Definition: copySelective.py:32
VKalVrtAthena::VrtSecInclusive::monitorVertexingAlgorithmStep
StatusCode monitorVertexingAlgorithmStep(std::vector< WrkVrt > *, const std::string &name, bool final=false)
monitor the intermediate status of vertexing
Definition: VertexingAlgs.cxx:1974
VKalVrtAthena::VrtSecInclusive::JobProperties::doTruth
bool doTruth
Definition: VrtSecInclusive.h:123
Electron.h
VKalVrtAthena::VrtSecInclusive::JobProperties::CutTightSCTHits
int CutTightSCTHits
Definition: VrtSecInclusive.h:171
VKalVrtAthena::VrtSecInclusive::m_selectedTracks
std::vector< const xAOD::TrackParticle * > m_selectedTracks
Definition: VrtSecInclusive.h:257
SG::AuxVectorData
Manage lookup of vectors of auxiliary data.
Definition: AuxVectorData.h:168
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
VKalVrtAthena::VrtSecInclusive::m_tree_Vert
TTree * m_tree_Vert
Definition: VrtSecInclusive.h:310
VKalVrtAthena::VrtSecInclusive::JobProperties::VertexMergeFinalDistCut
double VertexMergeFinalDistCut
Definition: VrtSecInclusive.h:192
VKalVrtAthena::VrtSecInclusive::JobProperties::TruthTrkLen
double TruthTrkLen
Definition: VrtSecInclusive.h:240
VKalVrtAthena::VrtSecInclusive::initialize
virtual StatusCode initialize()
Definition: VrtSecInclusive.cxx:84
VKalVrtAthena::VrtSecInclusive::SHUFFLE1
@ SHUFFLE1
Definition: VrtSecInclusive.h:486
VKalVrtAthena::VrtSecInclusive::PatternStrategyFunc
bool(VrtSecInclusive::*)(const xAOD::TrackParticle *trk, const Amg::Vector3D &vertex) PatternStrategyFunc
Definition: VrtSecInclusive.h:285
VKalVrtAthena::VrtSecInclusive::m_tracingTruthVertices
std::vector< const xAOD::TruthVertex * > m_tracingTruthVertices
Definition: VrtSecInclusive.h:559
VKalVrtAthena::VrtSecInclusive::JobProperties::maxWrkVertices
size_t maxWrkVertices
Definition: VrtSecInclusive.h:206
TruthEventContainer.h
VKalVrtAthena::VrtSecInclusive::TrkParameter
TrkParameter
Definition: VrtSecInclusive.h:429
VKalVrtAthena::VrtSecInclusive
Definition: VrtSecInclusive.h:86
PixelID
Definition: PixelID.h:67
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
VKalVrtAthena::VrtSecInclusive::selectTrack_z0errCut
bool selectTrack_z0errCut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:31
VKalVrtAthena::VrtSecInclusive::JobProperties::z0TrkPVDstMaxCut
double z0TrkPVDstMaxCut
Definition: VrtSecInclusive.h:153
VKalVrtAthena::VrtSecInclusive::JobProperties::reassembleMaxImpactParameterZ0
double reassembleMaxImpactParameterZ0
Definition: VrtSecInclusive.h:215
Decorator.h
Helper class to provide type-safe access to aux data.
VKalVrtAthena::VrtSecInclusive::augmentDVimpactParametersToLeptons
StatusCode augmentDVimpactParametersToLeptons(const std::string &containerName)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/VrtSecInclusive/details/Utilities.h:108
VKalVrtAthena::VrtSecInclusive::checkTrackHitPatternToVertexByExtrapolation
bool checkTrackHitPatternToVertexByExtrapolation(const xAOD::TrackParticle *trk, const Amg::Vector3D &vertex)
New method with track extrapolation.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:1171
VKalVrtAthena::VrtSecInclusive::JobProperties::CutBLayHits
int CutBLayHits
Definition: VrtSecInclusive.h:168
VKalVrtAthena::VrtSecInclusive::selectTrack_notPVassociated
bool selectTrack_notPVassociated(const xAOD::TrackParticle *) const
track-by-track selection strategies
Definition: TrackSelectionAlgs.cxx:97
VKalVrtAthena::VrtSecInclusive::RECONSTRUCT_NTRK
@ RECONSTRUCT_NTRK
Definition: VrtSecInclusive.h:486
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
TrackParticleContainer.h
VKalVrtAthena::VrtSecInclusive::selectTrack_chi2Cut
bool selectTrack_chi2Cut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:35
VKalVrtAthena::VrtSecInclusive::getIntersection
void getIntersection(Track *trk, std::vector< IntersectionPos * > &layers, const Trk::Perigee *per)
VKalVrtAthena::VrtSecInclusive::mergeFinalVertices
StatusCode mergeFinalVertices(std::vector< WrkVrt > *)
attempt to merge vertices by lookng at the distance between two vertices
Definition: VertexingAlgs.cxx:1418
VKalVrtAthena::VrtSecInclusive::WrkVrt::ndof_core
double ndof_core() const
Definition: VrtSecInclusive.h:351
VKalVrtAthena::VrtSecInclusive::m_checkPatternStrategy
std::string m_checkPatternStrategy
Definition: VrtSecInclusive.h:284
VKalVrtAthena::VrtSecInclusive::addEventInfo
StatusCode addEventInfo()
Definition: AANT_Tools.cxx:236
VKalVrtAthena::VrtSecInclusive::k_nTP
@ k_nTP
Definition: VrtSecInclusive.h:429
VertexAuxContainer.h
VKalVrtAthena::VrtSecInclusive::JobProperties::ImpactWrtBL
bool ImpactWrtBL
Definition: VrtSecInclusive.h:148
VKalVrtAthena::VrtSecInclusive::findNtrackVertices
StatusCode findNtrackVertices(std::vector< WrkVrt > *)
Definition: VertexingAlgs.cxx:360
VKalVrtAthena::VrtSecInclusive::m_trkDecors
std::map< unsigned, SG::Decorator< float > > m_trkDecors
Definition: VrtSecInclusive.h:292
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelDisk2_Hits
uint8_t numPixelDisk2_Hits
Definition: VrtSecInclusive.h:495
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelHits
uint8_t numPixelHits
Definition: VrtSecInclusive.h:496
VKalVrtAthena::VrtSecInclusive::JobProperties::d0TrkPVDstMaxCut
double d0TrkPVDstMaxCut
Definition: VrtSecInclusive.h:150
VKalVrtAthena::VrtSecInclusive::clearNtupleVariables
StatusCode clearNtupleVariables()
Definition: AANT_Tools.cxx:227
VKalVrtAthena::VrtSecInclusive::m_ipDecors
std::vector< IPDecoratorType > m_ipDecors
Definition: VrtSecInclusive.h:299
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65