ATLAS Offline Software
VrtSecInclusive.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 
14 
15 // Gaudi includes
16 #include "GaudiKernel/ToolHandle.h"
17 #include "GaudiKernel/ITHistSvc.h"
18 //
20 
21 // for truth
23 
31 #include "GaudiKernel/ServiceHandle.h"
34 #include "InDetIdentifier/SCT_ID.h"
35 
36 // xAOD Classes
46 #include "xAODMuon/MuonContainer.h"
47 #include "xAODMuon/Muon.h"
49 #include "xAODEgamma/Electron.h"
50 
51 // Normal STL and physical vectors
52 #include <vector>
53 #include <deque>
54 #include <functional>
55 
56 
59 class TH1;
60 
61 namespace Trk {
62  class ITruthToTrack;
63  class ITrackToVertex;
64  class ITrackToVertexIPEstimator;
65  class IExtrapolator;
66  class IVertexMapper;
67  struct MappedVertex;
68 }
69 
70 namespace VKalVrtAthena {
71 
72  namespace GeoModel { enum GeoModel { Run1=1, Run2=2 }; }
73 
74  class IntersectionPos;
77 
78  class NtupleVars;
79 }
80 
81 
82 namespace VKalVrtAthena {
83 
84  class VrtSecInclusive : public AthAlgorithm {
85  public:
87  VrtSecInclusive(const std::string& name, ISvcLocator* pSvcLocator);
88 
91 
92  virtual StatusCode initialize();
93  virtual StatusCode finalize();
94  virtual StatusCode execute();
95  virtual StatusCode initEvent();
96 
97  private:
98 
100  //
101  // Member Variables
102  //
103 
104  struct JobProperties {
105  // JO: GeoModel
106  int geoModel;
107 
108  std::string TrackLocation;
109  std::string MuonLocation;
110  std::string ElectronLocation;
111  std::string PrimVrtLocation;
113  std::string mcEventContainerName;
114  std::string augVerString;
115  std::string truthParticleFilter;
116 
119 
120  // common feature flags
121  bool doTruth;
122  bool FillHist;
127  bool extrapPV; //extrapolate reco and prim truth trks to PV (for testing only)
128 
130 
131  bool doFastMode; // flag for running in rapid finder mode instead of using graph
132 
133  // track selection conditions
134  unsigned int SelTrkMaxCutoff;
135  bool SAloneTRT;
136 
137  /* impact parameters */
139  bool do_d0Cut;
140  bool do_z0Cut;
145 
156 
157  /* pT anc chi2 */
158  double TrkChi2Cut;
159  double TrkPtCut;
160 
161  /* hit requirements */
162  bool doTRTPixCut; // Kazuki
168  int CutTRTHits; // Kazuki
171 
172  /* track extrpolator; 1==VKalGetImpact, 2==m_trackToVertexTool*/
174 
175  // Vertex reconstruction
190  double VertexMergeFinalDistCut; // Kazuki
194 
198 
199  // When truncateWrkVertices set to true, maxWrkVertices is the maximum
200  // number of potential vertices to process, used to truncate the list
201  // in rare caes where several thousands are found, to avoid algorithm
202  // timeout issues
205 
211 
216 
218 
219  // vertexing using muons (test implementation)
225 
226  // When doSelectTracksWithLRTCuts is set to true, the addtional track cuts
227  // be applied to the selected tracks to reduce the number of fake tracks in
228  // the selected track collected. These cuts are inspired by the improvments that
229  // were implmented for LRT Run 3.
231 
232  // Additional dressing option
233  bool doAugmentDVimpactParametersToMuons; // potentially useful for DV + muon search
234  bool doAugmentDVimpactParametersToElectrons; // potentially useful for analyses involving electrons
235 
236  // MC truth
238  double TruthTrkLen;
239 
240  };
241 
242  struct JobProperties m_jp;
243 
244  // Indicates give-up modes during vertexing
245  // 0 if no errors occured
246  // 1 if too few selected tracks
247  // 2 if too many selected tracks
248  // 3 if wrkVertices container is truncated
249  // 4 if any uncaught exception is raised at the top level of VSI execute()
251 
252  // xAOD Accessors
255  std::unique_ptr<std::vector<const xAOD::TrackParticle*> > m_selectedTracks;
256  std::unique_ptr<std::vector<const xAOD::TrackParticle*> > m_associatedTracks;
257  std::unique_ptr<std::vector<const xAOD::TrackParticle*> > m_leptonicTracks;
258  std::vector<double> m_BeamPosition;
259 
261  //
262  // Athena JobOption Properties
263  //
264 
265  ToolHandle <Trk::ITrkVKalVrtFitter> m_fitSvc; // VKalVrtFitter tool
266  ToolHandle <Trk::ITruthToTrack> m_truthToTrack; // tool to create trkParam from genPart
267 
269  ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool;
270  ToolHandle<Trk::ITrackToVertexIPEstimator> m_trackToVertexIPEstimatorTool;
271  ToolHandle<Trk::IExtrapolator> m_extrapolator;
272  ToolHandle<Trk::IVertexMapper> m_vertexMapper;
273 
275  ToolHandle<IInDetConditionsTool> m_pixelCondSummaryTool{this, "PixelConditionsSummaryTool", "PixelConditionsSummaryTool", "Tool to retrieve Pixel Conditions summary"};
276  ToolHandle<IInDetConditionsTool> m_sctCondSummaryTool{this, "InDetSCT_ConditionsSummaryTool", "SCT_ConditionsSummaryTool/InDetSCT_ConditionsSummaryTool", "Tool to retrieve SCT conditions summary"};
277 
278  const AtlasDetectorID* m_atlasId = nullptr;
279  const PixelID* m_pixelId = nullptr;
280  const SCT_ID* m_sctId = nullptr;
281 
284  std::map<std::string, PatternStrategyFunc> m_patternStrategyFuncs;
285 
286  // AuxElement decorators
287  std::unique_ptr< SG::AuxElement::Decorator< char > > m_decor_isSelected;
288  std::unique_ptr< SG::AuxElement::Decorator< char > > m_decor_isAssociated;
289  std::unique_ptr< SG::AuxElement::Decorator< char > > m_decor_is_svtrk_final;
290  std::map< unsigned, SG::AuxElement::Decorator<float> > m_trkDecors;
291 
293  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EventInfoKey", "EventInfo", "EventInfo name"};
295 
297  std::unique_ptr< IPDecoratorType > m_decor_d0_wrtSVs;
298  std::unique_ptr< IPDecoratorType > m_decor_z0_wrtSVs;
299  std::unique_ptr< IPDecoratorType > m_decor_pt_wrtSVs;
300  std::unique_ptr< IPDecoratorType > m_decor_eta_wrtSVs;
301  std::unique_ptr< IPDecoratorType > m_decor_phi_wrtSVs;
302  std::unique_ptr< IPDecoratorType > m_decor_d0err_wrtSVs;
303  std::unique_ptr< IPDecoratorType > m_decor_z0err_wrtSVs;
304 
306  std::unique_ptr< VertexELType > m_decor_svLink;
307 
309  //
310  // define ntuple variables here
311  //
312 
313  // The standard AANT, CollectionTree, is bare bones
314  TTree *m_tree_Vert;
315  std::unique_ptr<NtupleVars> m_ntupleVars;
316 
317  // Histograms for stats
318  std::map<std::string, TH1*> m_hists;
319 
320 
322  //
323  // Private member functions
324  //
325 
326  // for event info to new ntuple (used to go by default in CollectionTree)
327  void declareProperties();
328 
337 
338  //
339  struct WrkVrt {
340  bool isGood = false;
341  std::deque<long int> selectedTrackIndices;
342  std::deque<long int> associatedTrackIndices;
344  TLorentzVector vertexMom;
345  std::vector<double> vertexCov;
346  double Chi2 = 0;
347  double Chi2_core = 0;
348  std::vector<double> Chi2PerTrk;
349  long int Charge = 0;
350  std::vector< std::vector<double> > TrkAtVrt;
351  unsigned long closestWrkVrtIndex = 0;
352  double closestWrkVrtValue = 0;
353 
354  inline double ndof() const { return 2.0*( selectedTrackIndices.size() + associatedTrackIndices.size() ) - 3.0; }
355  inline double ndof_core() const { return 2.0*( selectedTrackIndices.size() ) - 3.0; }
356  inline unsigned nTracksTotal() const { return selectedTrackIndices.size() + associatedTrackIndices.size(); }
357  inline double fitQuality() const { return Chi2 / ndof(); }
358  };
359 
360 
361  using Detector = int;
362  using Bec = int;
363  using Layer = int;
364  using Flag = int;
365  using ExtrapolatedPoint = std::tuple<const TVector3, Detector, Bec, Layer, Flag>;
366  using ExtrapolatedPattern = std::vector< ExtrapolatedPoint >;
367  using PatternBank = std::map<const xAOD::TrackParticle*, std::pair< std::unique_ptr<ExtrapolatedPattern>, std::unique_ptr<ExtrapolatedPattern> > >;
368 
370 
371  std::vector< std::pair<int, int> > m_incomp;
372 
373  // the map used by printWrkSet
374  std::map<const xAOD::TruthVertex*, bool> m_matchMap;
375 
380 
382  void selectTrack( const xAOD::TrackParticle* );
387 
389  std::vector<TrackSelectionAlg> m_trackSelectionAlgs;
390 
392  using CutFunc = bool (VrtSecInclusive::*) ( const xAOD::TrackParticle* ) const;
393  std::vector<CutFunc> m_trackSelectionFuncs;
394 
396  bool selectTrack_notPVassociated ( const xAOD::TrackParticle* ) const;
397  bool selectTrack_pTCut ( const xAOD::TrackParticle* ) const;
398  bool selectTrack_chi2Cut ( const xAOD::TrackParticle* ) const;
399  bool selectTrack_hitPattern ( const xAOD::TrackParticle* ) const;
400  bool selectTrack_hitPatternTight ( const xAOD::TrackParticle* ) const;
401  bool selectTrack_d0Cut ( const xAOD::TrackParticle* ) const;
402  bool selectTrack_z0Cut ( const xAOD::TrackParticle* ) const;
403  bool selectTrack_d0errCut ( const xAOD::TrackParticle* ) const;
404  bool selectTrack_z0errCut ( const xAOD::TrackParticle* ) const;
405  static bool selectTrack_d0signifCut ( const xAOD::TrackParticle* ) ;
406  static bool selectTrack_z0signifCut ( const xAOD::TrackParticle* ) ;
407  bool selectTrack_LRTR3Cut ( const xAOD::TrackParticle* ) const;
408 
410  StatusCode extractIncompatibleTrackPairs( std::vector<WrkVrt>* );
411  StatusCode findNtrackVertices(std::vector<WrkVrt>* );
412  StatusCode rearrangeTracks( std::vector<WrkVrt>* );
413 
415  StatusCode reassembleVertices( std::vector<WrkVrt>* );
416 
419  StatusCode mergeByShuffling( std::vector<WrkVrt>* );
420 
422  StatusCode mergeFinalVertices( std::vector<WrkVrt>* ); // Kazuki
423 
425  StatusCode associateNonSelectedTracks( std::vector<WrkVrt>* );
426 
428  StatusCode refitAndSelectGoodQualityVertices( std::vector<WrkVrt>* );
429 
431  bool getSVImpactParameters(const xAOD::TrackParticle* trk, const Amg::Vector3D& vertex, std::vector<double>& impactParameters, std::vector<double>& impactParErrors);
432 
433  enum TrkParameter { k_d0=0, k_z0=1, k_theta=2, k_phi=3, k_qOverP=4 ,k_nTP=5 };
435 
436  using vertexingAlg = StatusCode (VrtSecInclusive::*)( std::vector<WrkVrt>* );
437  std::vector< std::pair<std::string, vertexingAlg> > m_vertexingAlgorithms;
439 
440 
442  //
443  // Supporting utility functions
444 
446  void printWrkSet(const std::vector<WrkVrt> *WrkVrtSet, const std::string& name);
447 
451 
455 
458  double improveVertexChi2( WrkVrt& );
459 
460  static void removeTrackFromVertex(std::vector<WrkVrt>*,
461  std::vector< std::deque<long int> > *,
462  const long int & ,const long int & );
463 
464  StatusCode disassembleVertex(std::vector<WrkVrt> *, const unsigned& vertexIndex );
465 
466  void trackClassification(std::vector< WrkVrt >* , std::map< long int, std::vector<long int> >& );
467 
468  double findWorstChi2ofMaximallySharedTrack(std::vector<WrkVrt>*, std::map< long int, std::vector<long int> >&, long int & ,long int & );
469 
471  static size_t nTrkCommon( std::vector<WrkVrt> *WrkVrtSet, const std::pair<unsigned, unsigned>& pairIndex ) ;
472 
474  double significanceBetweenVertices( const WrkVrt&, const WrkVrt& ) const;
475 
477  double distanceBetweenVertices( const WrkVrt&, const WrkVrt& ) const;
478 
479  using AlgForVerticesPair = double (VrtSecInclusive::*)( const WrkVrt&, const WrkVrt& ) const;
480 
482  double findMinVerticesPair( std::vector<WrkVrt>*, std::pair<unsigned, unsigned>&, const AlgForVerticesPair& );
483 
485  static double findMinVerticesNextPair( std::vector<WrkVrt>*, std::pair<unsigned, unsigned>& );
486 
488  StatusCode mergeVertices( WrkVrt& destination, WrkVrt& source );
489 
491 
492  typedef struct track_summary_properties {
513 
515  static void fillTrackSummary( track_summary& summary, const xAOD::TrackParticle *trk );
516 
518 
519  bool patternCheck ( const uint32_t& pattern, const Amg::Vector3D& vertex );
520  static bool patternCheckRun1( const uint32_t& pattern, const Amg::Vector3D& vertex );
521  static bool patternCheckRun2( const uint32_t& pattern, const Amg::Vector3D& vertex );
522 
524  static bool patternCheckRun1OuterOnly( const uint32_t& pattern, const Amg::Vector3D& vertex );
525  static bool patternCheckRun2OuterOnly( const uint32_t& pattern, const Amg::Vector3D& vertex );
526 
529 
532 
535 
538 
540  bool passedFakeReject( const Amg::Vector3D& FitVertex, const xAOD::TrackParticle *itrk, const xAOD::TrackParticle *jtrk );
541 
543  void removeInconsistentTracks( WrkVrt& );
544 
545  template<class Track> void getIntersection(Track *trk, std::vector<IntersectionPos*>& layers, const Trk::Perigee* per);
546  template<class Track> void setIntersection(Track *trk, IntersectionPos *bec, const Trk::Perigee* per);
547 
549  StatusCode monitorVertexingAlgorithmStep( std::vector<WrkVrt>*, const std::string& name, bool final = false );
550 
552  //
553  // Truth Information Algorithms Member Functions
554  //
555  //
556 
558 
560 
561  void dumpTruthInformation();
562 
563  std::vector<const xAOD::TruthVertex*> m_tracingTruthVertices;
564 
566  //
567  // Additional augmentation
568  //
569  //
570 
571  template<class LeptonFlavor>
572  StatusCode augmentDVimpactParametersToLeptons( const std::string& containerName );
573 
574  };
575 
576 } // end of namespace bracket
577 
578 
579 // This header file contains the definition of member templates
580 #include "details/Utilities.h"
581 
582 
583 #endif /* _VrtSecInclusive_VrtSecInclusive_H */
VKalVrtAthena::VrtSecInclusive::JobProperties::doSelectTracksFromMuons
bool doSelectTracksFromMuons
Definition: VrtSecInclusive.h:220
VKalVrtAthena::VrtSecInclusive::JobProperties::extrapPV
bool extrapPV
Definition: VrtSecInclusive.h:127
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:158
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:343
VKalVrtAthena::VrtSecInclusive::selectTrack_z0signifCut
static bool selectTrack_z0signifCut(const xAOD::TrackParticle *)
Definition: TrackSelectionAlgs.cxx:32
VKalVrtAthena::VrtSecInclusive::selectTrack_LRTR3Cut
bool selectTrack_LRTR3Cut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:101
VKalVrtAthena::VrtSecInclusive::m_hists
std::map< std::string, TH1 * > m_hists
Definition: VrtSecInclusive.h:318
VKalVrtAthena::VrtSecInclusive::k_qOverP
@ k_qOverP
Definition: VrtSecInclusive.h:433
GeoModel
Definition: IGeoDbTagSvc.h:16
VKalVrtAthena::VrtSecInclusive::vertexingAlg
StatusCode(VrtSecInclusive::*)(std::vector< WrkVrt > *) vertexingAlg
Definition: VrtSecInclusive.h:436
VKalVrtAthena::VrtSecInclusive::mergeStep
mergeStep
Definition: VrtSecInclusive.h:490
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:176
VKalVrtAthena::VrtSecInclusive::WrkVrt::Charge
long int Charge
list of VKalVrt fit chi2 for each track
Definition: VrtSecInclusive.h:349
VKalVrtAthena::VrtSecInclusive::m_pixelCondSummaryTool
ToolHandle< IInDetConditionsTool > m_pixelCondSummaryTool
Condition service.
Definition: VrtSecInclusive.h:275
VKalVrtAthena::VrtSecInclusive::JobProperties::do_d0errCut
bool do_d0errCut
Definition: VrtSecInclusive.h:141
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:502
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numIBLHits
uint8_t numIBLHits
Definition: VrtSecInclusive.h:493
IInDetConditionsTool.h
VKalVrtAthena::VrtSecInclusive::WrkVrt::associatedTrackIndices
std::deque< long int > associatedTrackIndices
list if indices in TrackParticleContainer for selectedBaseTracks
Definition: VrtSecInclusive.h:342
VKalVrtAthena::VrtSecInclusive::m_vertexMapper
ToolHandle< Trk::IVertexMapper > m_vertexMapper
Definition: VrtSecInclusive.h:272
VKalVrtAthena::VrtSecInclusive::m_vertexingAlgorithmStep
unsigned m_vertexingAlgorithmStep
Definition: VrtSecInclusive.h:438
VKalVrtAthena::VrtSecInclusive::dumpTruthInformation
void dumpTruthInformation()
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:2359
VKalVrtAthena::VrtSecInclusive::JobProperties::associateChi2Cut
double associateChi2Cut
Definition: VrtSecInclusive.h:210
VKalVrtAthena::VrtSecInclusive::WrkVrt::isGood
bool isGood
Definition: VrtSecInclusive.h:340
VKalVrtAthena::IntersectionPos
Definition: IntersectionPos.h:18
VKalVrtAthena::VrtSecInclusive::JobProperties::passThroughTrackSelection
bool passThroughTrackSelection
Definition: VrtSecInclusive.h:129
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
VKalVrtAthena::VrtSecInclusive::selectTrack_pTCut
bool selectTrack_pTCut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:33
VKalVrtAthena::VrtSecInclusive::m_decor_d0_wrtSVs
std::unique_ptr< IPDecoratorType > m_decor_d0_wrtSVs
Definition: VrtSecInclusive.h:297
VKalVrtAthena::VrtSecInclusive::JobProperties::doSelectIDAndGSFTracks
bool doSelectIDAndGSFTracks
Definition: VrtSecInclusive.h:223
VKalVrtAthena::VrtSecInclusive::setupNtupleVariables
StatusCode setupNtupleVariables()
Definition: AANT_Tools.cxx:27
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
ParticleGun_SamplingFraction.bec
int bec
Definition: ParticleGun_SamplingFraction.py:89
VKalVrtAthena::VrtSecInclusive::JobProperties::associateMaxD0Signif
double associateMaxD0Signif
Definition: VrtSecInclusive.h:207
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
VKalVrtAthena::VrtSecInclusive::JobProperties::doSuggestedRefitOnMerging
bool doSuggestedRefitOnMerging
Definition: VrtSecInclusive.h:182
Muon.h
VKalVrtAthena::VrtSecInclusive::k_d0
@ k_d0
Definition: VrtSecInclusive.h:433
VKalVrtAthena::VrtSecInclusive::m_decor_is_svtrk_final
std::unique_ptr< SG::AuxElement::Decorator< char > > m_decor_is_svtrk_final
Definition: VrtSecInclusive.h:289
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer0_Hits
uint8_t numSctBarrelLayer0_Hits
Definition: VrtSecInclusive.h:501
Utilities.h
VKalVrtAthena::VrtSecInclusive::m_thePV
const xAOD::Vertex * m_thePV
Definition: VrtSecInclusive.h:254
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:433
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:118
TruthVertexContainer.h
VKalVrtAthena::VrtSecInclusive::m_vertexingAlgorithms
std::vector< std::pair< std::string, vertexingAlg > > m_vertexingAlgorithms
Definition: VrtSecInclusive.h:437
VKalVrtAthena::VrtSecInclusive::JobProperties::do_z0signifCut
bool do_z0signifCut
Definition: VrtSecInclusive.h:144
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelLayer2_Hits
uint8_t numPixelLayer2_Hits
Definition: VrtSecInclusive.h:496
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:138
VKalVrtAthena::VrtSecInclusive::m_extrapolatedPatternBank
PatternBank m_extrapolatedPatternBank
Definition: VrtSecInclusive.h:369
VKalVrtAthena::VrtSecInclusive::m_ntupleVars
std::unique_ptr< NtupleVars > m_ntupleVars
Definition: VrtSecInclusive.h:315
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:508
VKalVrtAthena::VrtSecInclusive::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: VrtSecInclusive.h:271
VKalVrtAthena::VrtSecInclusive::JobProperties::associatePtCut
double associatePtCut
Definition: VrtSecInclusive.h:209
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:112
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:490
VKalVrtAthena::VrtSecInclusive::m_pixelId
const PixelID * m_pixelId
Definition: VrtSecInclusive.h:279
VKalVrtAthena::VrtSecInclusive::m_decor_z0_wrtSVs
std::unique_ptr< IPDecoratorType > m_decor_z0_wrtSVs
Definition: VrtSecInclusive.h:298
VKalVrtAthena::VrtSecInclusive::deleteNtupleVariables
StatusCode deleteNtupleVariables()
Definition: AANT_Tools.cxx:208
VKalVrtAthena::VrtSecInclusive::WrkVrt::vertexMom
TLorentzVector vertexMom
VKalVrt fit vertex position.
Definition: VrtSecInclusive.h:344
VKalVrtAthena::VrtSecInclusive::k_z0
@ k_z0
Definition: VrtSecInclusive.h:433
Run2
Definition: openCoraCool.cxx:137
VKalVrtAthena::VrtSecInclusive::m_associatedTracks
std::unique_ptr< std::vector< const xAOD::TrackParticle * > > m_associatedTracks
Definition: VrtSecInclusive.h:256
VKalVrtAthena::VrtSecInclusive::JobProperties::TrkPtCut
double TrkPtCut
Definition: VrtSecInclusive.h:159
VKalVrtAthena::VrtSecInclusive::getTrkGenParticle
static const xAOD::TruthParticle * getTrkGenParticle(const xAOD::TrackParticle *)
Definition: TruthAlgs.cxx:26
VKalVrtAthena::VrtSecInclusive::JobProperties::mcTrkResolution
double mcTrkResolution
Definition: VrtSecInclusive.h:237
VKalVrtAthena::VrtSecInclusive::JobProperties::SelVrtChi2Cut
double SelVrtChi2Cut
Definition: VrtSecInclusive.h:189
VKalVrtAthena::VrtSecInclusive::JobProperties::twoTrVrtMinDistFromPV
double twoTrVrtMinDistFromPV
Definition: VrtSecInclusive.h:197
VKalVrtAthena::VrtSecInclusive::track_summary_properties
Definition: VrtSecInclusive.h:492
VKalVrtAthena::VrtSecInclusive::JobProperties::augVerString
std::string augVerString
Definition: VrtSecInclusive.h:114
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:187
VKalVrtAthena::VrtSecInclusive::k_nTPU
@ k_nTPU
Definition: VrtSecInclusive.h:434
VKalVrtAthena::VrtSecInclusive::JobProperties::doRemoveCaloTaggedMuons
bool doRemoveCaloTaggedMuons
Definition: VrtSecInclusive.h:221
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:170
VKalVrtAthena::VrtSecInclusive::JobProperties::associateMinDistanceToPV
double associateMinDistanceToPV
Definition: VrtSecInclusive.h:206
VKalVrtAthena::VrtSecInclusive::JobProperties::d0TrkPVSignifCut
double d0TrkPVSignifCut
Definition: VrtSecInclusive.h:149
SG::ReadHandleKey< xAOD::EventInfo >
VKalVrtAthena::VrtSecInclusive::JobProperties::pvCompatibilityCut
double pvCompatibilityCut
Definition: VrtSecInclusive.h:188
VKalVrtAthena::VrtSecInclusive::JobProperties::removeFakeVrt
bool removeFakeVrt
Definition: VrtSecInclusive.h:178
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelDisk0_Hits
uint8_t numPixelDisk0_Hits
Definition: VrtSecInclusive.h:497
VKalVrtAthena::VrtSecInclusive::PatternBank
std::map< const xAOD::TrackParticle *, std::pair< std::unique_ptr< ExtrapolatedPattern >, std::unique_ptr< ExtrapolatedPattern > > > PatternBank
Definition: VrtSecInclusive.h:367
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:75
VKalVrtAthena::VrtSecInclusive::JobProperties::mcEventContainerName
std::string mcEventContainerName
Definition: VrtSecInclusive.h:113
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:37
VKalVrtAthena::VrtSecInclusive::JobProperties::twoTrkVtxFormingD0Cut
double twoTrkVtxFormingD0Cut
Definition: VrtSecInclusive.h:155
VKalVrtAthena::VrtSecInclusive::JobProperties::doAugmentDVimpactParametersToMuons
bool doAugmentDVimpactParametersToMuons
Definition: VrtSecInclusive.h:233
VKalVrtAthena::VrtSecInclusive::JobProperties::VertexMergeCut
double VertexMergeCut
Definition: VrtSecInclusive.h:192
VKalVrtAthena::VrtSecInclusive::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Read/Write Handle Keys.
Definition: VrtSecInclusive.h:293
TrkVKalVrtFitter.h
VKalVrtAthena::VrtSecInclusive::JobProperties::z0TrkPVSignifCut
double z0TrkPVSignifCut
Definition: VrtSecInclusive.h:152
VKalVrtAthena::VrtSecInclusive::JobProperties::FillIntermediateVertices
bool FillIntermediateVertices
Definition: VrtSecInclusive.h:124
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelDisk1_Hits
uint8_t numPixelDisk1_Hits
Definition: VrtSecInclusive.h:498
VKalVrtAthena::VrtSecInclusive::~VrtSecInclusive
~VrtSecInclusive()
Default Destructor.
Definition: VrtSecInclusive.cxx:77
VKalVrtAthena::VrtSecInclusive::m_truthToTrack
ToolHandle< Trk::ITruthToTrack > m_truthToTrack
Definition: VrtSecInclusive.h:266
VKalVrtAthena::VrtSecInclusive::CutFunc
bool(VrtSecInclusive::*)(const xAOD::TrackParticle *) const CutFunc
track selection
Definition: VrtSecInclusive.h:392
VKalVrtAthena::VrtSecInclusive::m_primaryVertices
const xAOD::VertexContainer * m_primaryVertices
Definition: VrtSecInclusive.h:253
VKalVrtAthena
Definition: AANT_Tools.cxx:24
VKalVrtAthena::VrtSecInclusive::JobProperties::doMergeByShuffling
bool doMergeByShuffling
Definition: VrtSecInclusive.h:181
AthAlgorithm.h
IVertexMapper.h
VKalVrtAthena::VrtSecInclusive::ExtrapolatedPoint
std::tuple< const TVector3, Detector, Bec, Layer, Flag > ExtrapolatedPoint
Definition: VrtSecInclusive.h:365
VKalVrtAthena::VrtSecInclusive::selectInDetAndGSFTracks
StatusCode selectInDetAndGSFTracks()
Definition: TrackSelectionAlgs.cxx:301
VKalVrtAthena::VrtSecInclusive::m_sctCondSummaryTool
ToolHandle< IInDetConditionsTool > m_sctCondSummaryTool
Definition: VrtSecInclusive.h:276
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC0_Hits
uint8_t numSctEC0_Hits
Definition: VrtSecInclusive.h:505
VKalVrtAthena::VrtSecInclusive::JobProperties::ElectronLocation
std::string ElectronLocation
Definition: VrtSecInclusive.h:110
VKalVrtAthena::VrtSecInclusive::k_d0d0
@ k_d0d0
Definition: VrtSecInclusive.h:434
VKalVrtAthena::VrtSecInclusive::setupNtuple
StatusCode setupNtuple()
Definition: AANT_Tools.cxx:217
VKalVrtAthena::VrtSecInclusive::m_trackToVertexIPEstimatorTool
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimatorTool
Definition: VrtSecInclusive.h:270
VKalVrtAthena::VrtSecInclusive::JobProperties::CutSharedHits
int CutSharedHits
Definition: VrtSecInclusive.h:167
VKalVrtAthena::VrtSecInclusive::JobProperties::FillHist
bool FillHist
Definition: VrtSecInclusive.h:122
Trk::PropDirection
PropDirection
Definition: PropDirection.h:19
VKalVrtAthena::VrtSecInclusive::JobProperties::CutPixelHits
int CutPixelHits
Definition: VrtSecInclusive.h:164
VKalVrtAthena::VrtSecInclusive::m_fitSvc
ToolHandle< Trk::ITrkVKalVrtFitter > m_fitSvc
Definition: VrtSecInclusive.h:265
VKalVrtAthena::VrtSecInclusive::JobProperties::mergeByShufflingMaxSignificance
double mergeByShufflingMaxSignificance
Definition: VrtSecInclusive.h:214
VKalVrtAthena::VrtSecInclusive::JobProperties::do_z0Cut
bool do_z0Cut
Definition: VrtSecInclusive.h:140
VKalVrtAthena::VrtSecInclusive::JobProperties::do_z0errCut
bool do_z0errCut
Definition: VrtSecInclusive.h:142
VKalVrtAthena::VrtSecInclusive::REASSEMBLE
@ REASSEMBLE
Definition: VrtSecInclusive.h:490
VKalVrtAthena::VrtSecInclusive::m_BeamPosition
std::vector< double > m_BeamPosition
Definition: VrtSecInclusive.h:258
VKalVrtAthena::VrtSecInclusive::JobProperties::SAloneTRT
bool SAloneTRT
Definition: VrtSecInclusive.h:135
VKalVrtAthena::VrtSecInclusive::JobProperties::do_d0signifCut
bool do_d0signifCut
Definition: VrtSecInclusive.h:143
VKalVrtAthena::VrtSecInclusive::JobProperties::trkExtrapolator
int trkExtrapolator
Definition: VrtSecInclusive.h:173
TrackParticleAuxContainer.h
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:58
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:348
VKalVrtAthena::VrtSecInclusive::JobProperties::doTwoTrSoftBtag
bool doTwoTrSoftBtag
Definition: VrtSecInclusive.h:195
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:203
VKalVrtAthena::VrtSecInclusive::JobProperties::doAugmentDVimpactParametersToElectrons
bool doAugmentDVimpactParametersToElectrons
Definition: VrtSecInclusive.h:234
VKalVrtAthena::VrtSecInclusive::selectTrack_d0signifCut
static bool selectTrack_d0signifCut(const xAOD::TrackParticle *)
Definition: TrackSelectionAlgs.cxx:31
VKalVrtAthena::VrtSecInclusive::WrkVrt::Chi2_core
double Chi2_core
VKalVrt fit chi2 result.
Definition: VrtSecInclusive.h:347
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:1267
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numTrtHits
uint8_t numTrtHits
Definition: VrtSecInclusive.h:511
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:212
VKalVrtAthena::IntersectionPos_endcap
Definition: IntersectionPos.h:58
VKalVrtAthena::VrtSecInclusive::finalize
virtual StatusCode finalize()
Definition: VrtSecInclusive.cxx:269
VKalVrtAthena::VrtSecInclusive::JobProperties::all2trksVerticesContainerName
std::string all2trksVerticesContainerName
Definition: VrtSecInclusive.h:117
VKalVrtAthena::VrtSecInclusive::JobProperties::SelTrkMaxCutoff
unsigned int SelTrkMaxCutoff
Definition: VrtSecInclusive.h:134
VKalVrtAthena::VrtSecInclusive::JobProperties::VertexMergeFinalDistScaling
double VertexMergeFinalDistScaling
Definition: VrtSecInclusive.h:191
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:139
VKalVrtAthena::VrtSecInclusive::k_theta
@ k_theta
Definition: VrtSecInclusive.h:433
VKalVrtAthena::VrtSecInclusive::processPrimaryVertices
StatusCode processPrimaryVertices()
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:818
VKalVrtAthena::VrtSecInclusive::JobProperties::removeFakeVrtLate
bool removeFakeVrtLate
Definition: VrtSecInclusive.h:179
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
VKalVrtAthena::VrtSecInclusive::JobProperties::doFastMode
bool doFastMode
Definition: VrtSecInclusive.h:131
VKalVrtAthena::VrtSecInclusive::JobProperties::CutTRTHits
int CutTRTHits
Definition: VrtSecInclusive.h:168
VKalVrtAthena::VrtSecInclusive::m_trackSelectionFuncs
std::vector< CutFunc > m_trackSelectionFuncs
Definition: VrtSecInclusive.h:393
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC4_Hits
uint8_t numSctEC4_Hits
Definition: VrtSecInclusive.h:509
VKalVrtAthena::VrtSecInclusive::Bec
int Bec
Definition: VrtSecInclusive.h:362
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numBLayerHits
uint8_t numBLayerHits
Definition: VrtSecInclusive.h:494
VKalVrtAthena::VrtSecInclusive::JobProperties::doAssociateNonSelectedTracks
bool doAssociateNonSelectedTracks
Definition: VrtSecInclusive.h:186
VKalVrtAthena::VrtSecInclusive::JobProperties
Definition: VrtSecInclusive.h:104
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:183
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelLayer1_Hits
uint8_t numPixelLayer1_Hits
Definition: VrtSecInclusive.h:495
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer2_Hits
uint8_t numSctBarrelLayer2_Hits
Definition: VrtSecInclusive.h:503
VKalVrtAthena::VrtSecInclusive::WrkVrt::vertexCov
std::vector< double > vertexCov
VKalVrt fit vertex 4-momentum.
Definition: VrtSecInclusive.h:345
VKalVrtAthena::VrtSecInclusive::WrkVrt::Chi2
double Chi2
VKalVrt fit covariance.
Definition: VrtSecInclusive.h:346
VKalVrtAthena::VrtSecInclusive::JobProperties::doIntersectionPos
bool doIntersectionPos
Definition: VrtSecInclusive.h:125
VKalVrtAthena::VrtSecInclusive::JobProperties::doRemoveNonLeptonVertices
bool doRemoveNonLeptonVertices
Definition: VrtSecInclusive.h:224
VKalVrtAthena::VrtSecInclusive::fillTrackSummary
static void fillTrackSummary(track_summary &summary, const xAOD::TrackParticle *trk)
cretrieve 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:27
VKalVrtAthena::VrtSecInclusive::m_trackSelectionAlgs
std::vector< TrackSelectionAlg > m_trackSelectionAlgs
Definition: VrtSecInclusive.h:389
VKalVrtAthena::VrtSecInclusive::m_vertexingStatus
int m_vertexingStatus
Definition: VrtSecInclusive.h:250
VKalVrtAthena::VrtSecInclusive::AlgForVerticesPair
double(VrtSecInclusive::*)(const WrkVrt &, const WrkVrt &) const AlgForVerticesPair
Definition: VrtSecInclusive.h:479
VKalVrtAthena::VrtSecInclusive::execute
virtual StatusCode execute()
Definition: VrtSecInclusive.cxx:295
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:224
VKalVrtAthena::VrtSecInclusive::JobProperties::mergeByShufflingAllowance
double mergeByShufflingAllowance
Definition: VrtSecInclusive.h:215
VKalVrtAthena::VrtSecInclusive::JobProperties::d0TrkPVDstMinCut
double d0TrkPVDstMinCut
Definition: VrtSecInclusive.h:147
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:351
VKalVrtAthena::VrtSecInclusive::m_decor_z0err_wrtSVs
std::unique_ptr< IPDecoratorType > m_decor_z0err_wrtSVs
Definition: VrtSecInclusive.h:303
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
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:354
VKalVrtAthena::VrtSecInclusive::refitAndSelectGoodQualityVertices
StatusCode refitAndSelectGoodQualityVertices(std::vector< WrkVrt > *)
finalization of the vertex and store to xAOD::VertexContainer
Definition: VertexingAlgs.cxx:1472
VKalVrtAthena::VrtSecInclusive::m_atlasId
const AtlasDetectorID * m_atlasId
Definition: VrtSecInclusive.h:278
VKalVrtAthena::VrtSecInclusive::m_patternStrategyFuncs
std::map< std::string, PatternStrategyFunc > m_patternStrategyFuncs
Definition: VrtSecInclusive.h:284
VKalVrtAthena::VrtSecInclusive::m_trackToVertexTool
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
get a handle on the Track to Vertex tool
Definition: VrtSecInclusive.h:269
AthAlgorithm
Definition: AthAlgorithm.h:47
VKalVrtAthena::VrtSecInclusive::JobProperties::doSelectTracksFromElectrons
bool doSelectTracksFromElectrons
Definition: VrtSecInclusive.h:222
VKalVrtAthena::VrtSecInclusive::selectTrack_z0Cut
bool selectTrack_z0Cut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:28
VKalVrtAthena::VrtSecInclusive::JobProperties::geoModel
int geoModel
Definition: VrtSecInclusive.h:106
VKalVrtAthena::VrtSecInclusive::JobProperties::MuonLocation
std::string MuonLocation
Definition: VrtSecInclusive.h:109
VKalVrtAthena::VrtSecInclusive::JobProperties::doWildMerging
bool doWildMerging
Definition: VrtSecInclusive.h:184
ITrackToVertex.h
VKalVrtAthena::VrtSecInclusive::Layer
int Layer
Definition: VrtSecInclusive.h:363
VKalVrtAthena::VrtSecInclusive::selectTrack_d0errCut
bool selectTrack_d0errCut(const xAOD::TrackParticle *) const
Definition: TrackSelectionAlgs.cxx:29
VKalVrtAthena::VrtSecInclusive::m_vertexingStatusKey
SG::WriteDecorHandleKey< xAOD::EventInfo > m_vertexingStatusKey
Definition: VrtSecInclusive.h:294
VKalVrtAthena::VrtSecInclusive::m_decor_pt_wrtSVs
std::unique_ptr< IPDecoratorType > m_decor_pt_wrtSVs
Definition: VrtSecInclusive.h:299
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:2077
VKalVrtAthena::VrtSecInclusive::SHUFFLE2
@ SHUFFLE2
Definition: VrtSecInclusive.h:490
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
VKalVrtAthena::VrtSecInclusive::k_z0z0
@ k_z0z0
Definition: VrtSecInclusive.h:434
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctHits
uint8_t numSctHits
Definition: VrtSecInclusive.h:510
VKalVrtAthena::VrtSecInclusive::Flag
int Flag
Definition: VrtSecInclusive.h:364
VKalVrtAthena::VrtSecInclusive::m_decor_svLink
std::unique_ptr< VertexELType > m_decor_svLink
Definition: VrtSecInclusive.h:306
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
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:217
VKalVrtAthena::VrtSecInclusive::ExtrapolatedPattern
std::vector< ExtrapolatedPoint > ExtrapolatedPattern
Definition: VrtSecInclusive.h:366
VKalVrtAthena::VrtSecInclusive::JobProperties::PrimVrtLocation
std::string PrimVrtLocation
Definition: VrtSecInclusive.h:111
VKalVrtAthena::VrtSecInclusive::fillAANT_SelectedBaseTracks
StatusCode fillAANT_SelectedBaseTracks()
Definition: AANT_Tools.cxx:262
VKalVrtAthena::VrtSecInclusive::JobProperties::CutSctHits
int CutSctHits
Definition: VrtSecInclusive.h:163
VKalVrtAthena::VrtSecInclusive::JobProperties::twoTrVrtAngleCut
double twoTrVrtAngleCut
Definition: VrtSecInclusive.h:196
VKalVrtAthena::VrtSecInclusive::JobProperties::doMapToLocal
bool doMapToLocal
Definition: VrtSecInclusive.h:126
VKalVrtAthena::VrtSecInclusive::selectTrack
void selectTrack(const xAOD::TrackParticle *)
Vertexing Algorithm Member Functions.
Definition: TrackSelectionAlgs.cxx:135
VKalVrtAthena::VrtSecInclusive::JobProperties::doMergeFinalVerticesDistance
bool doMergeFinalVerticesDistance
Definition: VrtSecInclusive.h:185
VKalVrtAthena::VrtSecInclusive::m_decor_isSelected
std::unique_ptr< SG::AuxElement::Decorator< char > > m_decor_isSelected
Definition: VrtSecInclusive.h:287
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:341
VKalVrtAthena::VrtSecInclusive::Detector
int Detector
Definition: VrtSecInclusive.h:361
VKalVrtAthena::VrtSecInclusive::JobProperties::doReassembleVertices
bool doReassembleVertices
Definition: VrtSecInclusive.h:180
VKalVrtAthena::VrtSecInclusive::WrkVrt
Definition: VrtSecInclusive.h:339
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
VKalVrtAthena::VrtSecInclusive::m_decor_isAssociated
std::unique_ptr< SG::AuxElement::Decorator< char > > m_decor_isAssociated
Definition: VrtSecInclusive.h:288
VKalVrtAthena::VrtSecInclusive::JobProperties::associateMaxZ0Signif
double associateMaxZ0Signif
Definition: VrtSecInclusive.h:208
VKalVrtAthena::VrtSecInclusive::m_selectedTracks
std::unique_ptr< std::vector< const xAOD::TrackParticle * > > m_selectedTracks
Definition: VrtSecInclusive.h:255
VKalVrtAthena::VrtSecInclusive::JobProperties::d0TrkErrorCut
double d0TrkErrorCut
Definition: VrtSecInclusive.h:153
VKalVrtAthena::NtupleVars
Definition: NtupleVars.h:117
EventInfo.h
VKalVrtAthena::VrtSecInclusive::selectTracksFromMuons
StatusCode selectTracksFromMuons()
Definition: TrackSelectionAlgs.cxx:252
VKalVrtAthena::VrtSecInclusive::JobProperties::doTightPVcompatibilityCut
bool doTightPVcompatibilityCut
Definition: VrtSecInclusive.h:177
VKalVrtAthena::VrtSecInclusive::WrkVrt::nTracksTotal
unsigned nTracksTotal() const
Definition: VrtSecInclusive.h:356
MuonContainer.h
VKalVrtAthena::VrtSecInclusive::selectTracksFromElectrons
StatusCode selectTracksFromElectrons()
Definition: TrackSelectionAlgs.cxx:278
VKalVrtAthena::VrtSecInclusive::m_incomp
std::vector< std::pair< int, int > > m_incomp
Definition: VrtSecInclusive.h:371
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctBarrelLayer3_Hits
uint8_t numSctBarrelLayer3_Hits
Definition: VrtSecInclusive.h:504
VKalVrtAthena::VrtSecInclusive::WrkVrt::closestWrkVrtValue
double closestWrkVrtValue
stores the index of the closest WrkVrt in std::vector<WrkVrt>
Definition: VrtSecInclusive.h:352
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:154
VKalVrtAthena::VrtSecInclusive::m_leptonicTracks
std::unique_ptr< std::vector< const xAOD::TrackParticle * > > m_leptonicTracks
Definition: VrtSecInclusive.h:257
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:115
SCT_ID
Definition: SCT_ID.h:68
VKalVrtAthena::VrtSecInclusive::JobProperties::doSelectTracksWithLRTCuts
bool doSelectTracksWithLRTCuts
Definition: VrtSecInclusive.h:230
Trk::IVKalState
Definition: IVKalState.h:21
VKalVrtAthena::VrtSecInclusive::SHUFFLE3
@ SHUFFLE3
Definition: VrtSecInclusive.h:490
ITruthToTrack.h
VKalVrtAthena::VrtSecInclusive::WrkVrt::fitQuality
double fitQuality() const
Definition: VrtSecInclusive.h:357
VKalVrtAthena::VrtSecInclusive::JobProperties::TrackDetachCut
double TrackDetachCut
Definition: VrtSecInclusive.h:193
VKalVrtAthena::VrtSecInclusive::declareProperties
void declareProperties()
Definition: Reconstruction/VKalVrt/VrtSecInclusive/src/Utilities.cxx:686
VKalVrtAthena::VrtSecInclusive::TrackSelectionAlg
StatusCode(VrtSecInclusive::*)() TrackSelectionAlg
Definition: VrtSecInclusive.h:388
VKalVrtAthena::VrtSecInclusive::JobProperties::CutSiHits
int CutSiHits
Definition: VrtSecInclusive.h:165
VKalVrtAthena::VrtSecInclusive::TrkParameterUnc
TrkParameterUnc
Definition: VrtSecInclusive.h:434
TH1
Definition: rootspy.cxx:268
VKalVrtAthena::VrtSecInclusive::JobProperties::FillNtuple
bool FillNtuple
Definition: VrtSecInclusive.h:123
VKalVrtAthena::VrtSecInclusive::WrkVrt::TrkAtVrt
std::vector< std::vector< double > > TrkAtVrt
total charge of the vertex
Definition: VrtSecInclusive.h:350
VKalVrtAthena::VrtSecInclusive::fillAANT_SecondaryVertices
StatusCode fillAANT_SecondaryVertices(xAOD::VertexContainer *)
Definition: AANT_Tools.cxx:350
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC2_Hits
uint8_t numSctEC2_Hits
Definition: VrtSecInclusive.h:507
VKalVrtAthena::VrtSecInclusive::initEvent
virtual StatusCode initEvent()
Definition: VrtSecInclusive.cxx:277
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:242
VKalVrtAthena::VrtSecInclusive::JobProperties::doTRTPixCut
bool doTRTPixCut
Definition: VrtSecInclusive.h:162
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numSctEC1_Hits
uint8_t numSctEC1_Hits
Definition: VrtSecInclusive.h:506
VKalVrtAthena::VrtSecInclusive::m_sctId
const SCT_ID * m_sctId
Definition: VrtSecInclusive.h:280
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:108
VKalVrtAthena::VrtSecInclusive::JobProperties::z0TrkPVDstMinCut
double z0TrkPVDstMinCut
Definition: VrtSecInclusive.h:150
VKalVrtAthena::VrtSecInclusive::m_matchMap
std::map< const xAOD::TruthVertex *, bool > m_matchMap
Definition: VrtSecInclusive.h:374
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
VKalVrtAthena::VrtSecInclusive::monitorVertexingAlgorithmStep
StatusCode monitorVertexingAlgorithmStep(std::vector< WrkVrt > *, const std::string &name, bool final=false)
monitor the intermediate status of vertexing
Definition: VertexingAlgs.cxx:1970
VKalVrtAthena::VrtSecInclusive::JobProperties::doTruth
bool doTruth
Definition: VrtSecInclusive.h:121
Electron.h
VKalVrtAthena::VrtSecInclusive::JobProperties::CutTightSCTHits
int CutTightSCTHits
Definition: VrtSecInclusive.h:169
VKalVrtAthena::VrtSecInclusive::m_trkDecors
std::map< unsigned, SG::AuxElement::Decorator< float > > m_trkDecors
Definition: VrtSecInclusive.h:290
VKalVrtAthena::VrtSecInclusive::m_decor_eta_wrtSVs
std::unique_ptr< IPDecoratorType > m_decor_eta_wrtSVs
Definition: VrtSecInclusive.h:300
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
VKalVrtAthena::VrtSecInclusive::m_tree_Vert
TTree * m_tree_Vert
Definition: VrtSecInclusive.h:314
VKalVrtAthena::VrtSecInclusive::JobProperties::VertexMergeFinalDistCut
double VertexMergeFinalDistCut
Definition: VrtSecInclusive.h:190
VKalVrtAthena::VrtSecInclusive::JobProperties::TruthTrkLen
double TruthTrkLen
Definition: VrtSecInclusive.h:238
VKalVrtAthena::VrtSecInclusive::initialize
virtual StatusCode initialize()
Definition: VrtSecInclusive.cxx:84
VKalVrtAthena::VrtSecInclusive::SHUFFLE1
@ SHUFFLE1
Definition: VrtSecInclusive.h:490
VKalVrtAthena::VrtSecInclusive::PatternStrategyFunc
bool(VrtSecInclusive::*)(const xAOD::TrackParticle *trk, const Amg::Vector3D &vertex) PatternStrategyFunc
Definition: VrtSecInclusive.h:283
VKalVrtAthena::VrtSecInclusive::m_tracingTruthVertices
std::vector< const xAOD::TruthVertex * > m_tracingTruthVertices
Definition: VrtSecInclusive.h:563
VKalVrtAthena::VrtSecInclusive::JobProperties::maxWrkVertices
size_t maxWrkVertices
Definition: VrtSecInclusive.h:204
TruthEventContainer.h
VKalVrtAthena::VrtSecInclusive::TrkParameter
TrkParameter
Definition: VrtSecInclusive.h:433
VKalVrtAthena::VrtSecInclusive
Definition: VrtSecInclusive.h:84
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:30
VKalVrtAthena::VrtSecInclusive::JobProperties::z0TrkPVDstMaxCut
double z0TrkPVDstMaxCut
Definition: VrtSecInclusive.h:151
VKalVrtAthena::VrtSecInclusive::JobProperties::reassembleMaxImpactParameterZ0
double reassembleMaxImpactParameterZ0
Definition: VrtSecInclusive.h:213
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::m_decor_d0err_wrtSVs
std::unique_ptr< IPDecoratorType > m_decor_d0err_wrtSVs
Definition: VrtSecInclusive.h:302
VKalVrtAthena::VrtSecInclusive::JobProperties::CutBLayHits
int CutBLayHits
Definition: VrtSecInclusive.h:166
VKalVrtAthena::VrtSecInclusive::selectTrack_notPVassociated
bool selectTrack_notPVassociated(const xAOD::TrackParticle *) const
track-by-track selection strategies
Definition: TrackSelectionAlgs.cxx:96
VKalVrtAthena::VrtSecInclusive::m_decor_phi_wrtSVs
std::unique_ptr< IPDecoratorType > m_decor_phi_wrtSVs
Definition: VrtSecInclusive.h:301
VKalVrtAthena::VrtSecInclusive::RECONSTRUCT_NTRK
@ RECONSTRUCT_NTRK
Definition: VrtSecInclusive.h:490
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:34
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:1416
VKalVrtAthena::VrtSecInclusive::WrkVrt::ndof_core
double ndof_core() const
Definition: VrtSecInclusive.h:355
VKalVrtAthena::VrtSecInclusive::m_checkPatternStrategy
std::string m_checkPatternStrategy
Definition: VrtSecInclusive.h:282
VKalVrtAthena::VrtSecInclusive::addEventInfo
StatusCode addEventInfo()
Definition: AANT_Tools.cxx:235
VKalVrtAthena::VrtSecInclusive::k_nTP
@ k_nTP
Definition: VrtSecInclusive.h:433
VertexAuxContainer.h
VKalVrtAthena::VrtSecInclusive::JobProperties::ImpactWrtBL
bool ImpactWrtBL
Definition: VrtSecInclusive.h:146
VKalVrtAthena::VrtSecInclusive::findNtrackVertices
StatusCode findNtrackVertices(std::vector< WrkVrt > *)
Definition: VertexingAlgs.cxx:360
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelDisk2_Hits
uint8_t numPixelDisk2_Hits
Definition: VrtSecInclusive.h:499
VKalVrtAthena::VrtSecInclusive::track_summary_properties::numPixelHits
uint8_t numPixelHits
Definition: VrtSecInclusive.h:500
VKalVrtAthena::VrtSecInclusive::JobProperties::d0TrkPVDstMaxCut
double d0TrkPVDstMaxCut
Definition: VrtSecInclusive.h:148
VKalVrtAthena::VrtSecInclusive::clearNtupleVariables
StatusCode clearNtupleVariables()
Definition: AANT_Tools.cxx:226
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65