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  // vertexing using disapperaing track
232 
233  // When doSelectTracksWithLRTCuts is set to true, the addtional track cuts
234  // be applied to the selected tracks to reduce the number of fake tracks in
235  // the selected track collected. These cuts are inspired by the improvments that
236  // were implmented for LRT Run 3.
238 
239  // Additional dressing option
240  bool doAugmentDVimpactParametersToMuons; // potentially useful for DV + muon search
241  bool doAugmentDVimpactParametersToElectrons; // potentially useful for analyses involving electrons
242 
243  // MC truth
245  double TruthTrkLen;
246 
247  };
248 
249  struct JobProperties m_jp;
250 
251  // Indicates give-up modes during vertexing
252  // 0 if no errors occured
253  // 1 if too few selected tracks
254  // 2 if too many selected tracks
255  // 3 if wrkVertices container is truncated
256  // 4 if any uncaught exception is raised at the top level of VSI execute()
258 
259  // xAOD Accessors
262  std::vector<const xAOD::TrackParticle*> m_selectedTracks;
263  std::vector<const xAOD::TrackParticle*> m_associatedTracks;
264  std::vector<const xAOD::TrackParticle*> m_leptonicTracks;
265  std::vector<double> m_BeamPosition;
266 
268  //
269  // Athena JobOption Properties
270  //
271 
272  ToolHandle <Trk::ITrkVKalVrtFitter> m_fitSvc; // VKalVrtFitter tool
273  ToolHandle <Trk::ITruthToTrack> m_truthToTrack; // tool to create trkParam from genPart
274 
276  ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool;
277  ToolHandle<Trk::ITrackToVertexIPEstimator> m_trackToVertexIPEstimatorTool;
278  ToolHandle<Trk::IExtrapolator> m_extrapolator;
279  ToolHandle<Trk::IVertexMapper> m_vertexMapper;
280 
282  ToolHandle<IInDetConditionsTool> m_pixelCondSummaryTool{this, "PixelConditionsSummaryTool", "PixelConditionsSummaryTool", "Tool to retrieve Pixel Conditions summary"};
283  ToolHandle<IInDetConditionsTool> m_sctCondSummaryTool{this, "InDetSCT_ConditionsSummaryTool", "SCT_ConditionsSummaryTool/InDetSCT_ConditionsSummaryTool", "Tool to retrieve SCT conditions summary"};
284 
285  const AtlasDetectorID* m_atlasId = nullptr;
286  const PixelID* m_pixelId = nullptr;
287  const SCT_ID* m_sctId = nullptr;
288 
291  std::map<std::string, PatternStrategyFunc> m_patternStrategyFuncs;
292 
293  // AuxElement decorators
294  std::optional< SG::Decorator< char > > m_decor_isSelected;
295  std::optional< SG::Decorator< char > > m_decor_isAssociated;
296  std::optional< SG::Decorator< char > > m_decor_is_svtrk_final;
297  std::map< unsigned, SG::Decorator<float> > m_trkDecors;
298 
300  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey", "EventInfo", "EventInfo name"};
302 
304  std::vector< IPDecoratorType > m_ipDecors;
305 
307  std::optional< VertexELType > m_decor_svLink;
308 
310  //
311  // define ntuple variables here
312  //
313 
314  // The standard AANT, CollectionTree, is bare bones
315  TTree *m_tree_Vert;
316  std::unique_ptr<NtupleVars> m_ntupleVars;
317 
318  // Histograms for stats
319  std::map<std::string, TH1*> m_hists;
320 
321 
323  //
324  // Private member functions
325  //
326 
327  // for event info to new ntuple (used to go by default in CollectionTree)
328  void declareProperties();
329 
338 
339  //
340  struct WrkVrt {
341  bool isGood = false;
342  std::deque<long int> selectedTrackIndices;
343  std::deque<long int> associatedTrackIndices;
345  TLorentzVector vertexMom;
346  std::vector<double> vertexCov;
347  double Chi2 = 0;
348  double Chi2_core = 0;
349  std::vector<double> Chi2PerTrk;
350  long int Charge = 0;
351  std::vector< std::vector<double> > TrkAtVrt;
352  unsigned long closestWrkVrtIndex = 0;
353  double closestWrkVrtValue = 0;
354 
355  inline double ndof() const { return 2.0*( selectedTrackIndices.size() + associatedTrackIndices.size() ) - 3.0; }
356  inline double ndof_core() const { return 2.0*( selectedTrackIndices.size() ) - 3.0; }
357  inline unsigned nTracksTotal() const { return selectedTrackIndices.size() + associatedTrackIndices.size(); }
358  inline double fitQuality() const { return Chi2 / ndof(); }
359  };
360 
361 
362  using Detector = int;
363  using Bec = int;
364  using Layer = int;
365  using Flag = int;
366  using ExtrapolatedPoint = std::tuple<const TVector3, Detector, Bec, Layer, Flag>;
367  using ExtrapolatedPattern = std::vector< ExtrapolatedPoint >;
368  using PatternBank = std::map<const xAOD::TrackParticle*, std::pair< std::unique_ptr<ExtrapolatedPattern>, std::unique_ptr<ExtrapolatedPattern> > >;
369 
371 
372  std::vector< std::pair<int, int> > m_incomp;
373 
374  // the map used by printWrkSet
375  std::map<const xAOD::TruthVertex*, bool> m_matchMap;
376 
381 
383  void selectTrack( const xAOD::TrackParticle* );
388 
390  std::vector<TrackSelectionAlg> m_trackSelectionAlgs;
391 
393  using CutFunc = bool (VrtSecInclusive::*) ( const xAOD::TrackParticle* ) const;
394  std::vector<CutFunc> m_trackSelectionFuncs;
395 
397  bool selectTrack_notPVassociated ( const xAOD::TrackParticle* ) const;
398  bool selectTrack_pTCut ( const xAOD::TrackParticle* ) const;
399  bool selectTrack_chi2Cut ( const xAOD::TrackParticle* ) const;
400  bool selectTrack_hitPattern ( const xAOD::TrackParticle* ) const;
401  bool selectTrack_hitPatternTight ( const xAOD::TrackParticle* ) const;
402  bool selectTrack_d0Cut ( const xAOD::TrackParticle* ) const;
403  bool selectTrack_z0Cut ( const xAOD::TrackParticle* ) const;
404  bool selectTrack_d0errCut ( const xAOD::TrackParticle* ) const;
405  bool selectTrack_z0errCut ( const xAOD::TrackParticle* ) const;
406  static bool selectTrack_d0signifCut ( const xAOD::TrackParticle* ) ;
407  static bool selectTrack_z0signifCut ( const xAOD::TrackParticle* ) ;
408  bool selectTrack_LRTR3Cut ( const xAOD::TrackParticle* ) const;
409 
411  StatusCode extractIncompatibleTrackPairs( std::vector<WrkVrt>* );
412  StatusCode findNtrackVertices(std::vector<WrkVrt>* );
413  StatusCode rearrangeTracks( std::vector<WrkVrt>* );
414 
416  StatusCode reassembleVertices( std::vector<WrkVrt>* );
417 
420  StatusCode mergeByShuffling( std::vector<WrkVrt>* );
421 
423  StatusCode mergeFinalVertices( std::vector<WrkVrt>* ); // Kazuki
424 
426  StatusCode associateNonSelectedTracks( std::vector<WrkVrt>* );
427 
429  StatusCode refitAndSelectGoodQualityVertices( std::vector<WrkVrt>* );
430 
432  bool getSVImpactParameters(const xAOD::TrackParticle* trk, const Amg::Vector3D& vertex, std::vector<double>& impactParameters, std::vector<double>& impactParErrors);
433 
434  enum TrkParameter { k_d0=0, k_z0=1, k_theta=2, k_phi=3, k_qOverP=4 ,k_nTP=5 };
436 
437  using vertexingAlg = StatusCode (VrtSecInclusive::*)( std::vector<WrkVrt>* );
438  std::vector< std::pair<std::string, vertexingAlg> > m_vertexingAlgorithms;
440 
441 
443  //
444  // Supporting utility functions
445 
447  void printWrkSet(const std::vector<WrkVrt> *WrkVrtSet, const std::string& name);
448 
452 
456 
459  double improveVertexChi2( WrkVrt& );
460 
461  static void removeTrackFromVertex(std::vector<WrkVrt>*,
462  std::vector< std::deque<long int> > *,
463  const long int & ,const long int & );
464 
465  StatusCode disassembleVertex(std::vector<WrkVrt> *, const unsigned& vertexIndex );
466 
467  void trackClassification(std::vector< WrkVrt >* , std::map< long int, std::vector<long int> >& );
468 
469  double findWorstChi2ofMaximallySharedTrack(std::vector<WrkVrt>*, std::map< long int, std::vector<long int> >&, long int & ,long int & );
470 
472  static size_t nTrkCommon( std::vector<WrkVrt> *WrkVrtSet, const std::pair<unsigned, unsigned>& pairIndex ) ;
473 
475  double significanceBetweenVertices( const WrkVrt&, const WrkVrt& ) const;
476 
478  double distanceBetweenVertices( const WrkVrt&, const WrkVrt& ) const;
479 
480  using AlgForVerticesPair = double (VrtSecInclusive::*)( const WrkVrt&, const WrkVrt& ) const;
481 
483  double findMinVerticesPair( std::vector<WrkVrt>*, std::pair<unsigned, unsigned>&, const AlgForVerticesPair& );
484 
486  static double findMinVerticesNextPair( std::vector<WrkVrt>*, std::pair<unsigned, unsigned>& );
487 
489  StatusCode mergeVertices( WrkVrt& destination, WrkVrt& source );
490 
492 
493  typedef struct track_summary_properties {
514 
516  static void fillTrackSummary( track_summary& summary, const xAOD::TrackParticle *trk );
517 
519 
520  bool patternCheck ( const uint32_t& pattern, const Amg::Vector3D& vertex );
521  static bool patternCheckRun1( const uint32_t& pattern, const Amg::Vector3D& vertex );
522  static bool patternCheckRun2( const uint32_t& pattern, const Amg::Vector3D& vertex );
523 
525  static bool patternCheckRun1OuterOnly( const uint32_t& pattern, const Amg::Vector3D& vertex );
526  static bool patternCheckRun2OuterOnly( const uint32_t& pattern, const Amg::Vector3D& vertex );
527 
530 
533 
536 
539 
541  bool passedFakeReject( const Amg::Vector3D& FitVertex, const xAOD::TrackParticle *itrk, const xAOD::TrackParticle *jtrk );
542 
544  void removeInconsistentTracks( WrkVrt& );
545 
546  template<class Track> void getIntersection(Track *trk, std::vector<IntersectionPos*>& layers, const Trk::Perigee* per);
547  template<class Track> void setIntersection(Track *trk, IntersectionPos *bec, const Trk::Perigee* per);
548 
550  StatusCode monitorVertexingAlgorithmStep( std::vector<WrkVrt>*, const std::string& name, bool final = false );
551 
553  //
554  // Truth Information Algorithms Member Functions
555  //
556  //
557 
559 
561 
562  void dumpTruthInformation();
563 
564  std::vector<const xAOD::TruthVertex*> m_tracingTruthVertices;
565 
567  //
568  // Additional augmentation
569  //
570  //
571 
572  template<class LeptonFlavor>
573  StatusCode augmentDVimpactParametersToLeptons( const std::string& containerName );
574 
576  void lockTrackDecorations( const xAOD::TrackParticle* trk, bool onlySelection ) const;
577  void lockLeptonDecorations( const SG::AuxVectorData* cont ) const;
578  StatusCode lockTrackDecorations( bool onlySelection ) const;
579 
580  };
581 
582 } // end of namespace bracket
583 
584 
585 // This header file contains the definition of member templates
586 #include "details/Utilities.h"
587 
588 
589 #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:25
SG::WriteDecorHandleKey< xAOD::EventInfo >
VKalVrtAthena::VrtSecInclusive::WrkVrt::vertex
Amg::Vector3D vertex
list if indices in TrackParticleContainer for associatedTracks
Definition: VrtSecInclusive.h:344
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:319
VKalVrtAthena::VrtSecInclusive::k_qOverP
@ k_qOverP
Definition: VrtSecInclusive.h:434
GeoModel
Definition: IGeoDbTagSvc.h:16
VKalVrtAthena::VrtSecInclusive::vertexingAlg
StatusCode(VrtSecInclusive::*)(std::vector< WrkVrt > *) vertexingAlg
Definition: VrtSecInclusive.h:437
VKalVrtAthena::VrtSecInclusive::mergeStep
mergeStep
Definition: VrtSecInclusive.h:491
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:350
VKalVrtAthena::VrtSecInclusive::m_pixelCondSummaryTool
ToolHandle< IInDetConditionsTool > m_pixelCondSummaryTool
Condition service.
Definition: VrtSecInclusive.h:282
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:2196
VKalVrtAthena::VrtSecInclusive::patternCheck
bool patternCheck(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2159
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer1_Hits
uint8_t numSctBarrelLayer1_Hits
Definition: VrtSecInclusive.h:503
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numIBLHits
uint8_t numIBLHits
Definition: VrtSecInclusive.h:494
IInDetConditionsTool.h
VKalVrtAthena::VrtSecInclusive::WrkVrt::associatedTrackIndices
std::deque< long int > associatedTrackIndices
list if indices in TrackParticleContainer for selectedBaseTracks
Definition: VrtSecInclusive.h:343
VKalVrtAthena::VrtSecInclusive::m_vertexMapper
ToolHandle< Trk::IVertexMapper > m_vertexMapper
Definition: VrtSecInclusive.h:279
VKalVrtAthena::VrtSecInclusive::m_vertexingAlgorithmStep
unsigned m_vertexingAlgorithmStep
Definition: VrtSecInclusive.h:439
VKalVrtAthena::VrtSecInclusive::dumpTruthInformation
void dumpTruthInformation()
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2366
VKalVrtAthena::VrtSecInclusive::JobProperties::associateChi2Cut
double associateChi2Cut
Definition: VrtSecInclusive.h:212
VKalVrtAthena::VrtSecInclusive::WrkVrt::isGood
bool isGood
Definition: VrtSecInclusive.h:341
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:558
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:434
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer0_Hits
uint8_t numSctBarrelLayer0_Hits
Definition: VrtSecInclusive.h:502
Utilities.h
VKalVrtAthena::VrtSecInclusive::m_thePV
const xAOD::Vertex * m_thePV
Definition: VrtSecInclusive.h:261
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:434
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:438
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:497
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:946
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:2207
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:264
VKalVrtAthena::VrtSecInclusive::m_extrapolatedPatternBank
PatternBank m_extrapolatedPatternBank
Definition: VrtSecInclusive.h:370
VKalVrtAthena::VrtSecInclusive::m_ntupleVars
std::unique_ptr< NtupleVars > m_ntupleVars
Definition: VrtSecInclusive.h:316
module_driven_slicing.layers
layers
Definition: module_driven_slicing.py:113
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC3_Hits
uint8_t numSctEC3_Hits
Definition: VrtSecInclusive.h:509
VKalVrtAthena::VrtSecInclusive::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: VrtSecInclusive.h:278
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:1849
VKalVrtAthena::VrtSecInclusive::associateNonSelectedTracks
StatusCode associateNonSelectedTracks(std::vector< WrkVrt > *)
in addition to selected tracks, associate as much tracks as possible
Definition: VertexingAlgs.cxx:1101
VKalVrtAthena::VrtSecInclusive::FINAL
@ FINAL
Definition: VrtSecInclusive.h:491
VKalVrtAthena::VrtSecInclusive::m_pixelId
const PixelID * m_pixelId
Definition: VrtSecInclusive.h:286
VKalVrtAthena::VrtSecInclusive::deleteNtupleVariables
StatusCode deleteNtupleVariables()
Definition: AANT_Tools.cxx:209
VKalVrtAthena::VrtSecInclusive::WrkVrt::vertexMom
TLorentzVector vertexMom
VKalVrt fit vertex position.
Definition: VrtSecInclusive.h:345
VKalVrtAthena::VrtSecInclusive::k_z0
@ k_z0
Definition: VrtSecInclusive.h:434
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:244
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:493
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:980
VKalVrtAthena::VrtSecInclusive::JobProperties::doFinalImproveChi2
bool doFinalImproveChi2
Definition: VrtSecInclusive.h:189
VKalVrtAthena::VrtSecInclusive::k_nTPU
@ k_nTPU
Definition: VrtSecInclusive.h:435
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:1439
VKalVrtAthena::VrtSecInclusive::trackClassification
void trackClassification(std::vector< WrkVrt > *, std::map< long int, std::vector< long int > > &)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:914
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:498
VKalVrtAthena::VrtSecInclusive::PatternBank
std::map< const xAOD::TrackParticle *, std::pair< std::unique_ptr< ExtrapolatedPattern >, std::unique_ptr< ExtrapolatedPattern > > > PatternBank
Definition: VrtSecInclusive.h:368
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:754
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:240
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:300
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:499
VKalVrtAthena::VrtSecInclusive::~VrtSecInclusive
~VrtSecInclusive()
Default Destructor.
Definition: VrtSecInclusive.cxx:77
VKalVrtAthena::VrtSecInclusive::m_truthToTrack
ToolHandle< Trk::ITruthToTrack > m_truthToTrack
Definition: VrtSecInclusive.h:273
VKalVrtAthena::VrtSecInclusive::CutFunc
bool(VrtSecInclusive::*)(const xAOD::TrackParticle *) const CutFunc
track selection
Definition: VrtSecInclusive.h:393
VKalVrtAthena::VrtSecInclusive::m_primaryVertices
const xAOD::VertexContainer * m_primaryVertices
Definition: VrtSecInclusive.h:260
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:366
VKalVrtAthena::VrtSecInclusive::selectInDetAndGSFTracks
StatusCode selectInDetAndGSFTracks()
Definition: TrackSelectionAlgs.cxx:304
VKalVrtAthena::VrtSecInclusive::m_sctCondSummaryTool
ToolHandle< IInDetConditionsTool > m_sctCondSummaryTool
Definition: VrtSecInclusive.h:283
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC0_Hits
uint8_t numSctEC0_Hits
Definition: VrtSecInclusive.h:506
VKalVrtAthena::VrtSecInclusive::JobProperties::doDisappearingTrackVertexing
bool doDisappearingTrackVertexing
Definition: VrtSecInclusive.h:229
VKalVrtAthena::VrtSecInclusive::JobProperties::ElectronLocation
std::string ElectronLocation
Definition: VrtSecInclusive.h:112
VKalVrtAthena::VrtSecInclusive::k_d0d0
@ k_d0d0
Definition: VrtSecInclusive.h:435
VKalVrtAthena::VrtSecInclusive::setupNtuple
StatusCode setupNtuple()
Definition: AANT_Tools.cxx:218
VKalVrtAthena::VrtSecInclusive::m_trackToVertexIPEstimatorTool
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimatorTool
Definition: VrtSecInclusive.h:277
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:272
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:491
VKalVrtAthena::VrtSecInclusive::JobProperties::twoTrVrtMinRadius
double twoTrVrtMinRadius
Definition: VrtSecInclusive.h:231
VKalVrtAthena::VrtSecInclusive::m_BeamPosition
std::vector< double > m_BeamPosition
Definition: VrtSecInclusive.h:265
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:349
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:241
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:348
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:1309
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numTrtHits
uint8_t numTrtHits
Definition: VrtSecInclusive.h:512
VKalVrtAthena::VrtSecInclusive::extrapolatedPattern
ExtrapolatedPattern * extrapolatedPattern(const xAOD::TrackParticle *, enum Trk::PropDirection)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:1110
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:434
VKalVrtAthena::VrtSecInclusive::processPrimaryVertices
StatusCode processPrimaryVertices()
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:825
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
VKalVrtAthena::VrtSecInclusive::m_trackSelectionFuncs
std::vector< CutFunc > m_trackSelectionFuncs
Definition: VrtSecInclusive.h:394
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC4_Hits
uint8_t numSctEC4_Hits
Definition: VrtSecInclusive.h:510
VKalVrtAthena::VrtSecInclusive::Bec
int Bec
Definition: VrtSecInclusive.h:363
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numBLayerHits
uint8_t numBLayerHits
Definition: VrtSecInclusive.h:495
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:496
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer2_Hits
uint8_t numSctBarrelLayer2_Hits
Definition: VrtSecInclusive.h:504
VKalVrtAthena::VrtSecInclusive::WrkVrt::vertexCov
std::vector< double > vertexCov
VKalVrt fit vertex 4-momentum.
Definition: VrtSecInclusive.h:346
VKalVrtAthena::VrtSecInclusive::WrkVrt::Chi2
double Chi2
VKalVrt fit covariance.
Definition: VrtSecInclusive.h:347
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:1093
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:390
VKalVrtAthena::VrtSecInclusive::m_vertexingStatus
int m_vertexingStatus
Definition: VrtSecInclusive.h:257
VKalVrtAthena::VrtSecInclusive::AlgForVerticesPair
double(VrtSecInclusive::*)(const WrkVrt &, const WrkVrt &) const AlgForVerticesPair
Definition: VrtSecInclusive.h:480
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:352
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
VKalVrtAthena::VrtSecInclusive::patternCheckOuterOnly
bool patternCheckOuterOnly(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2172
VKalVrtAthena::VrtSecInclusive::WrkVrt::ndof
double ndof() const
stores the value of some observable to the closest WrkVrt ( observable = e.g. significance )
Definition: VrtSecInclusive.h:355
VKalVrtAthena::VrtSecInclusive::refitAndSelectGoodQualityVertices
StatusCode refitAndSelectGoodQualityVertices(std::vector< WrkVrt > *)
finalization of the vertex and store to xAOD::VertexContainer
Definition: VertexingAlgs.cxx:1514
VKalVrtAthena::VrtSecInclusive::m_atlasId
const AtlasDetectorID * m_atlasId
Definition: VrtSecInclusive.h:285
VKalVrtAthena::VrtSecInclusive::m_patternStrategyFuncs
std::map< std::string, PatternStrategyFunc > m_patternStrategyFuncs
Definition: VrtSecInclusive.h:291
VKalVrtAthena::VrtSecInclusive::m_trackToVertexTool
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
get a handle on the Track to Vertex tool
Definition: VrtSecInclusive.h:276
VKalVrtAthena::VrtSecInclusive::m_decor_isAssociated
std::optional< SG::Decorator< char > > m_decor_isAssociated
Definition: VrtSecInclusive.h:295
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:364
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:301
VKalVrtAthena::VrtSecInclusive::m_decor_isSelected
std::optional< SG::Decorator< char > > m_decor_isSelected
Definition: VrtSecInclusive.h:294
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:2317
VKalVrtAthena::VrtSecInclusive::SHUFFLE2
@ SHUFFLE2
Definition: VrtSecInclusive.h:491
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
VKalVrtAthena::VrtSecInclusive::k_z0z0
@ k_z0z0
Definition: VrtSecInclusive.h:435
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctHits
uint8_t numSctHits
Definition: VrtSecInclusive.h:511
VKalVrtAthena::VrtSecInclusive::Flag
int Flag
Definition: VrtSecInclusive.h:365
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
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:367
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:296
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:342
VKalVrtAthena::VrtSecInclusive::Detector
int Detector
Definition: VrtSecInclusive.h:362
VKalVrtAthena::VrtSecInclusive::JobProperties::doReassembleVertices
bool doReassembleVertices
Definition: VrtSecInclusive.h:182
VKalVrtAthena::VrtSecInclusive::WrkVrt
Definition: VrtSecInclusive.h:340
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:357
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:372
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:505
VKalVrtAthena::VrtSecInclusive::m_associatedTracks
std::vector< const xAOD::TrackParticle * > m_associatedTracks
Definition: VrtSecInclusive.h:263
VKalVrtAthena::VrtSecInclusive::WrkVrt::closestWrkVrtValue
double closestWrkVrtValue
stores the index of the closest WrkVrt in std::vector<WrkVrt>
Definition: VrtSecInclusive.h:353
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:2185
VKalVrtAthena::VrtSecInclusive::patternCheckRun1OuterOnly
static bool patternCheckRun1OuterOnly(const uint32_t &pattern, const Amg::Vector3D &vertex)
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2014
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:2323
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:1001
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
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:1653
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:237
Trk::IVKalState
Definition: IVKalState.h:21
VKalVrtAthena::VrtSecInclusive::SHUFFLE3
@ SHUFFLE3
Definition: VrtSecInclusive.h:491
ITruthToTrack.h
VKalVrtAthena::VrtSecInclusive::WrkVrt::fitQuality
double fitQuality() const
Definition: VrtSecInclusive.h:358
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:389
VKalVrtAthena::VrtSecInclusive::JobProperties::CutSiHits
int CutSiHits
Definition: VrtSecInclusive.h:167
VKalVrtAthena::VrtSecInclusive::JobProperties::twoTrVrtMaxPerigeeDist
double twoTrVrtMaxPerigeeDist
Definition: VrtSecInclusive.h:230
VKalVrtAthena::VrtSecInclusive::TrkParameterUnc
TrkParameterUnc
Definition: VrtSecInclusive.h:435
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:351
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:508
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:249
VKalVrtAthena::VrtSecInclusive::JobProperties::doTRTPixCut
bool doTRTPixCut
Definition: VrtSecInclusive.h:164
VKalVrtAthena::VrtSecInclusive::m_decor_svLink
std::optional< VertexELType > m_decor_svLink
Definition: VrtSecInclusive.h:307
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC1_Hits
uint8_t numSctEC1_Hits
Definition: VrtSecInclusive.h:507
VKalVrtAthena::VrtSecInclusive::m_sctId
const SCT_ID * m_sctId
Definition: VrtSecInclusive.h:287
ITrackToVertexIPEstimator.h
VKalVrtAthena::VrtSecInclusive::removeInconsistentTracks
void removeInconsistentTracks(WrkVrt &)
Remove inconsistent tracks from vertices.
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2337
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:375
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
copySelective.source
string source
Definition: copySelective.py:31
VKalVrtAthena::VrtSecInclusive::monitorVertexingAlgorithmStep
StatusCode monitorVertexingAlgorithmStep(std::vector< WrkVrt > *, const std::string &name, bool final=false)
monitor the intermediate status of vertexing
Definition: VertexingAlgs.cxx:2210
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:262
SG::AuxVectorData
Manage lookup of vectors of auxiliary data.
Definition: AuxVectorData.h:164
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
VKalVrtAthena::VrtSecInclusive::m_tree_Vert
TTree * m_tree_Vert
Definition: VrtSecInclusive.h:315
VKalVrtAthena::VrtSecInclusive::JobProperties::VertexMergeFinalDistCut
double VertexMergeFinalDistCut
Definition: VrtSecInclusive.h:192
VKalVrtAthena::VrtSecInclusive::JobProperties::TruthTrkLen
double TruthTrkLen
Definition: VrtSecInclusive.h:245
VKalVrtAthena::VrtSecInclusive::initialize
virtual StatusCode initialize()
Definition: VrtSecInclusive.cxx:84
VKalVrtAthena::VrtSecInclusive::SHUFFLE1
@ SHUFFLE1
Definition: VrtSecInclusive.h:491
VKalVrtAthena::VrtSecInclusive::PatternStrategyFunc
bool(VrtSecInclusive::*)(const xAOD::TrackParticle *trk, const Amg::Vector3D &vertex) PatternStrategyFunc
Definition: VrtSecInclusive.h:290
VKalVrtAthena::VrtSecInclusive::m_tracingTruthVertices
std::vector< const xAOD::TruthVertex * > m_tracingTruthVertices
Definition: VrtSecInclusive.h:564
VKalVrtAthena::VrtSecInclusive::JobProperties::maxWrkVertices
size_t maxWrkVertices
Definition: VrtSecInclusive.h:206
TruthEventContainer.h
VKalVrtAthena::VrtSecInclusive::TrkParameter
TrkParameter
Definition: VrtSecInclusive.h:434
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:1178
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:491
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:52
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:1458
VKalVrtAthena::VrtSecInclusive::WrkVrt::ndof_core
double ndof_core() const
Definition: VrtSecInclusive.h:356
VKalVrtAthena::VrtSecInclusive::m_checkPatternStrategy
std::string m_checkPatternStrategy
Definition: VrtSecInclusive.h:289
VKalVrtAthena::VrtSecInclusive::addEventInfo
StatusCode addEventInfo()
Definition: AANT_Tools.cxx:236
VKalVrtAthena::VrtSecInclusive::k_nTP
@ k_nTP
Definition: VrtSecInclusive.h:434
VertexAuxContainer.h
VKalVrtAthena::VrtSecInclusive::JobProperties::ImpactWrtBL
bool ImpactWrtBL
Definition: VrtSecInclusive.h:148
VKalVrtAthena::VrtSecInclusive::findNtrackVertices
StatusCode findNtrackVertices(std::vector< WrkVrt > *)
Definition: VertexingAlgs.cxx:392
VKalVrtAthena::VrtSecInclusive::m_trkDecors
std::map< unsigned, SG::Decorator< float > > m_trkDecors
Definition: VrtSecInclusive.h:297
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelDisk2_Hits
uint8_t numPixelDisk2_Hits
Definition: VrtSecInclusive.h:500
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelHits
uint8_t numPixelHits
Definition: VrtSecInclusive.h:501
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:304
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65