ATLAS Offline Software
NewVrtSecInclusiveTool.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 //
6 // NewVrtSecInclusiveTool.h - Description
7 //
8 /*
9  Tool for inclusive secondary vertex reconstruction
10  It returns a pointer to Trk::VxSecVertexInfo object which contains
11  vector of pointers to xAOD::Vertex's of found secondary verteces.
12  In case of failure pointer to Trk::VxSecVertexInfo is 0.
13 
14 
15  Tool creates a derivative object VxSecVKalVertexInfo which contains also additional variables
16  see Tracking/TrkEvent/VxSecVertex/VxSecVertex/VxSecVKalVertexInfo.h
17 
18 
19  Author: Vadim Kostyukhin
20  e-mail: vadim.kostyukhin@cern.ch
21 
22 -----------------------------------------------------------------------------*/
23 
24 
25 
26 #ifndef _VKalVrt_NewVrtSecInclusiveTool_H
27 #define _VKalVrt_NewVrtSecInclusiveTool_H
28 // Normal STL and physical vectors
29 #include <vector>
30 // Gaudi includes
32 #include "GaudiKernel/ToolHandle.h"
33 #include "GaudiKernel/ServiceHandle.h"
34 //Remove in boost > 1.76 when the boost iterator issue
35 //is solved see ATLASRECTS-6358
36 #define BOOST_ALLOW_DEPRECATED_HEADERS
37 #include "boost/graph/adjacency_list.hpp"
38 //
48 
49 #include "Math/LorentzVector.h"
50 
51 class TH1D;
52 class TH2D;
53 class TH1F;
54 class TProfile;
55 class TTree;
56 class ITHistSvc;
57 
58 namespace Trk{
59  class TrkVKalVrtFitter;
60  class IVertexFitter;
61  class IVKalState;
62 }
63 
64 namespace MVAUtils { class BDT; }
65 
66 
67 //------------------------------------------------------------------------
68 namespace Rec {
69 
70  struct workVectorArrxAOD{
71  std::vector<const xAOD::TrackParticle*> listSelTracks; // Selected tracks after quality cuts
72  std::vector<const xAOD::TrackParticle*> tmpListTracks;
73  std::vector<const xAOD::TrackParticle*> inpTrk; // All tracks provided to tool
74  double beamX=0.;
75  double beamY=0.;
76  double beamZ=0.;
77  double tanBeamTiltX=0.;
78  double tanBeamTiltY=0.;
79  };
80 
81  class NewVrtSecInclusiveTool : public AthAlgTool, virtual public IVrtInclusive
82  {
83 
84 
85  public:
86  /* Constructor */
87  NewVrtSecInclusiveTool(const std::string& type, const std::string& name, const IInterface* parent);
88  /* Destructor */
89  virtual ~NewVrtSecInclusiveTool();
90 
91 
94 
95 
96 
97  std::unique_ptr<Trk::VxSecVertexInfo> findAllVertices(const std::vector<const xAOD::TrackParticle*> & inputTracks,
98  const xAOD::Vertex & primaryVertex) const final;
99 //------------------------------------------------------------------------------------------------------------------
100 // Private data and functions
101 //
102 
103  private:
104  void lockDecorations (const std::vector<const xAOD::TrackParticle*> & inpTrk) const;
105 
106  double m_w_1{};
107  struct DevTuple;
108  struct Hists {
109  StatusCode book (ITHistSvc& histSvc, const std::string& histDir);
110  TTree* m_tuple{};
112  TH1D* m_hb_massPiPi{};
113  TH1D* m_hb_massPiPi1{};
114  TH1D* m_hb_massPPi{};
115  TH1D* m_hb_massEE{};
116  TH1D* m_hb_nvrt2{};
117  TH1D* m_hb_ratio{};
118  TH1D* m_hb_totmass{};
119  TH1D* m_hb_impact{};
120  TH1D* m_hb_impactR{};
121  TH2D* m_hb_impactRZ{};
122  TH1D* m_hb_trkD0{};
123  TH1D* m_hb_trkZ{};
127  TH1D* m_hb_impactZ{};
128  TH1D* m_hb_r2d{};
129  TH1D* m_hb_signif3D{};
130  TH1D* m_hb_impV0{};
131  TH1D* m_hb_sig3DTot{};
134  TH1D* m_hb_distVV{};
135  TH1D* m_hb_diffPS{};
136  TH1D* m_hb_sig3D1tr{};
137  TH1D* m_hb_sig3D2tr{};
138  TH1D* m_hb_sig3DNtr{};
143  };
144  std::unique_ptr<Hists> m_h;
145  Gaudi::Property<bool> m_fillHist{this, "FillHist", false, "Fill debugging and development histograms+ntuple" };
146  //
147  //-- Baseline track selection control
148  Gaudi::Property<int> m_cutSctHits{this, "CutSctHits", 4, "Remove track if it has less SCT hits" };
149  Gaudi::Property<int> m_cutPixelHits{this, "CutPixelHits", 2, "Remove track if it has less Pixel hits"};
150  Gaudi::Property<int> m_cutTRTHits{this, "CutTRTHits", 10, "Remove track if it has less TRT hits"};
151  Gaudi::Property<int> m_cutSiHits{this, "CutSiHits", 8, "Remove track if it has less Pixel+SCT hits" };
152  Gaudi::Property<int> m_cutBLayHits{this, "CutBLayHits", 0, "Remove track if it has less B-layer hits" };
153  Gaudi::Property<int> m_cutSharedHits{this,"CutSharedHits",1, "Reject final 2tr vertices if tracks have shared hits" };
154  Gaudi::Property<float> m_cutPt{this, "CutPt", 500., "Track Pt selection cut" };
155  Gaudi::Property<float> m_cutD0Min{this, "CutD0Min", 0., "Track minimal D0 selection cut" };
156  Gaudi::Property<float> m_cutD0Max{this, "CutD0Max", 10., "Track maximal D0 selection cut" };
157  Gaudi::Property<float> m_maxZVrt{this, "MaxZVrt", 15., "Track Z impact selection max"};
158  Gaudi::Property<float> m_minZVrt{this, "MinZVrt", 0., "Track Z impact selection min"};
159  Gaudi::Property<float> m_cutChi2{this, "CutChi2", 5., "Track Chi2 selection cut" };
160  Gaudi::Property<float> m_antiPileupSigRCut{this, "AntiPileupSigRCut", 2.0, "Upper cut on significance of 2D distance between beam and perigee" };
161  //
162  //---- Additional track selection at 2-track vertexing stage
163  Gaudi::Property<float> m_trkSigCut{this, "TrkSigCut", 2.0, "Track 3D impact significance w/r primary vertex. Should be >=AntiPileupSigRCut" };
164  Gaudi::Property<float> m_dRdZRatioCut{this, "dRdZRatioCut", 0.25, "Cut on dR/dZ ratio to remove pileup tracks" };
165  //
166  //---- Very general 2-track vertex selection cuts. Main selection is done in the TwoTrackVertexSelector tool.
167  Gaudi::Property<float> m_fastZSVCut{this, "FastZSVCut", 10., "Cut to remove SV candidates based on fast SV estimation. To save full fit CPU." };
168  //
169  //---- Experimental material interaction removal
170  Gaudi::Property<float> m_removeTrkMatSignif{this, "removeTrkMatSignif", 0., "Significance of Vertex-TrackingMaterial distance for removal. No removal if <=0." };
171  Gaudi::Property<float> m_beampipeR{this, "BeampipeR", 24.3, "Radius of the beampipe material for aggressive material rejection" };
172  //
173  //---- Final inclusive vertex reconstruction control
174  Gaudi::Property<float> m_vrtMassLimit{this, "VrtMassLimit", 5500., "Maximal allowed mass for found vertices" };
175  Gaudi::Property<float> m_globVrtProbCut{this, "GlobVrtProbCut", 0.005, "Cut on probability of any vertex for final selection" };
176  Gaudi::Property<float> m_maxSVRadiusCut{this, "MaxSVRadiusCut", 140., "Cut on maximal radius of SV (def = Pixel detector size)" };
177  Gaudi::Property<float> m_selVrtSigCut{this, "SelVrtSigCut", 3.0, "Cut on significance of 3D distance between vertex and PV" };
178  Gaudi::Property<float> m_vertexMergeCut{this, "VertexMergeCut", 4., "To allow vertex merging for MultiVertex Finder" };
179  Gaudi::Property<bool> m_multiWithOneTrkVrt{this, "MultiWithOneTrkVrt", true, "Allow one-track-vertex addition to already found secondary vertices"};
180 
181 
182  SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" };
183 
184  ToolHandle<Trk::IExtrapolator> m_extrapolator{this,"ExtrapolatorName","Trk::Extrapolator/Extrapolator", "Name of the extrapolator tool"};
185  ToolHandle<Trk::TrkVKalVrtFitter> m_fitSvc{this, "VertexFitterTool", "Trk::TrkVKalVrtFitter/VertexFitterTool", "Name of the Vertex Fitter tool"};
186  ToolHandle<Reco::ITrackToVertex> m_trackToVertexTool{this, "TrackToVertexTool", "Reco::TrackToVertex/TrackToVertex", "Name of the TrackToVertex tool"};
187 
188  ToolHandle<Rec::ITwoTrackVertexSelector> m_ini_v2trselector{this, "TwoTrkVtxSelectorIni", "Rec::TwoTrackVrtBDTSelector/V2TrBDTSelectorIni",
189  "Name of the initial 2-track vertex selector"};
190  ToolHandle<Rec::ITwoTrackVertexSelector> m_fin_v2trselector{this, "TwoTrkVtxSelectorFinal", "Rec::TwoTrackVrtBDTSelector/V2TrBDTSelectorFin",
191  "Name of the final 2-track vertex selector"};
192 
193  Gaudi::Property<std::string> m_augString {this, "AugmentingVersionString", "_NVSI", "Augmentation version string"};
194 
195  double m_massPi {};
196  double m_massP {};
197  double m_massE{};
198  double m_massK0{};
199  double m_massLam{};
200  std::string m_instanceName;
201 
213 
214 //=======================================================================================
215 // Functions and structure below are for algorithm development, debugging and calibration
216 // NOT USED IN PRODUCTION!
217 
218  static const xAOD::TruthParticle * getPreviousParent(const xAOD::TruthParticle * child);
219  static bool isExcitedHadron(const xAOD::TruthParticle * tp);
220  static bool isDisplaced(const xAOD::TrackParticle * tp);
221  int getIdHF(const xAOD::TrackParticle* TP ) const;
222  static int getG4Inter( const xAOD::TrackParticle* TP );
223  static int getMCPileup(const xAOD::TrackParticle* TP );
224  static int getProdVrtBarcode(const xAOD::TrackParticle* TP , float resolLimit=0.1); //Vertex-Vertex resolution limit =100mkm // FIXME barcode-based
225  static bool checkTrue2TrVrt(const xAOD::TrackParticle * TP1, const xAOD::TrackParticle * TP2, float nearCut=0.1); // Check true prod. vrt. closeness, def=100mkm
226 
227  struct DevTuple
228  {
229  static constexpr int maxNTrk=100;
230  static constexpr int maxNVrt=100;
231  int nTrk;
232  float pttrk[maxNTrk];
233  float d0trk[maxNTrk];
234  float etatrk[maxNTrk];
235  float Sig3D[maxNTrk]; // Track-PV 3D significance
236  float dRdZrat[maxNTrk]; // Track dR_signicance/dZ_significance
237  int idHF[maxNTrk]; // Track from ground state B/C hadron
238  int trkTRT[maxNTrk]; // TRT hits on track
239  int displaced[maxNTrk]; // Track from displaced truth vertex
240  //---
241  int n2Vrt;
242  int VrtTrkHF[maxNVrt]; // Number of HF track in this vertex
243  int VrtTrkI[maxNVrt]; // Number of interaction tracks in this vertex
244  int VrtCh[maxNVrt]; // Vertex charge
245  int VrtIBL[maxNVrt]; // 2-track IBL hits sum
246  int VrtBL[maxNVrt]; // 2-track BL hits sum
248  int VrtTrueBar[maxNVrt]; // Truth vertex barcode based identification
249  int VrtTrueNear[maxNVrt]; // Truth vertex closeness based identification
253  float VrtM[maxNVrt];
254  float VrtZ[maxNVrt];
255  float VrtPt[maxNVrt];
256  float VrtEta[maxNVrt];
257  float VrtBDT[maxNVrt]; // Vertex selection BDT value (B/C vs others)
258  float VrtProb[maxNVrt]; // 2-track vertex probability
259  float VrtHR1[maxNVrt]; // First measured point on track 1
260  float VrtHR2[maxNVrt]; // First measured point on track 2
261  float VrtDZ[maxNVrt];
263  float VMinPtT[maxNVrt]; // min(trk1_pt,trk2_pt) in 2-track vertex
264  float VMinS3DT[maxNVrt]; // min(trk1_signif,trk2_signif) in 2-track vertex
265  float VMaxS3DT[maxNVrt]; // min(trk1_signif,trk2_signif) in 2-track vertex
266  float VSigMat[maxNVrt];
267  int VrtIT[maxNVrt]; // Reference to track 1 in the track list
268  int VrtJT[maxNVrt]; // Reference to track 2 in the track list
269  //---
270  int nNVrt;
277  float NVrtM[maxNVrt];
278  float NVrtPt[maxNVrt];
279  float NVrtEta[maxNVrt];
288  float NVrtBDT[maxNVrt];
289  float NVrtHR1[maxNVrt];
290  float NVrtHR2[maxNVrt];
291  };
292 //
293 // End of development stuff
294 //============================================================
295 
296 
297  struct Vrt2Tr
298  {
300  TLorentzVector momentum;
301  long int vertexCharge;
302  std::vector<double> errorMatrix;
303  std::vector<double> chi2PerTrk;
304  std::vector< std::vector<double> > trkAtVrt;
305  double chi2=0.;
306  };
307 
308 
309 // For multivertex version only
310 
311  using compatibilityGraph_t = boost::adjacency_list<boost::listS, boost::vecS, boost::undirectedS>;
312  float m_chiScale[11]{};
313  struct WrkVrt
314  { bool Good=true;
315  std::deque<long int> selTrk;
317  TLorentzVector vertexMom;
318  long int vertexCharge{};
319  std::vector<double> vertexCov;
320  std::vector<double> chi2PerTrk;
321  std::vector< std::vector<double> > trkAtVrt;
322  double chi2{};
323  double projectedVrt=0.;
325  double BDT=1.1;
326  };
327 
328 
329 // Private technical functions
330 //
331 //
332  std::vector<xAOD::Vertex*> getVrtSecMulti( workVectorArrxAOD * inpParticlesxAOD, const xAOD::Vertex & primVrt,
333  compatibilityGraph_t& compatibilityGraph ) const;
334 
335 
336  void printWrkSet(const std::vector<WrkVrt> * WrkSet, const std::string &name ) const;
337 
338 //
339 // Gives correct mass assignment in case of nonequal masses
340  static double massV0(const std::vector< std::vector<double> >& TrkAtVrt, double massP, double massPi ) ;
341 
342 
343  ROOT::Math::PxPyPzEVector momAtVrt(const std::vector<double>& inpTrk) const;
344 
345  static double vrtRadiusError(const Amg::Vector3D & secVrt, const std::vector<double> & vrtErr) ;
346 
347  static int nTrkCommon( std::vector<WrkVrt> *WrkVrtSet, int indexV1, int indexV2) ;
348  double minVrtVrtDist( std::vector<WrkVrt> *WrkVrtSet, int & indexV1, int & indexV2, std::vector<double> & check) const;
349  static bool isPart( const std::deque<long int>& test, std::deque<long int> base) ;
350  static std::vector<double> estimVrtPos( int nTrk, std::deque<long int> &selTrk, std::map<long int,std::vector<double>> & vrt) ;
351 
352  static double vrtVrtDist(const xAOD::Vertex & primVrt, const Amg::Vector3D & secVrt,
353  const std::vector<double>& vrtErr,double& signif ) ;
354  static double vrtVrtDist2D(const xAOD::Vertex & primVrt, const Amg::Vector3D & secVrt,
355  const std::vector<double>& vrtErr,double& signif ) ;
356  static double vrtVrtDist(const Amg::Vector3D & vrt1, const std::vector<double>& vrtErr1,
357  const Amg::Vector3D & vrt2, const std::vector<double>& vrtErr2) ;
358  static double PntPntDist(const Amg::Vector3D & Vrt1, const Amg::Vector3D & Vrt2) ;
359 
360 
361  static double projSV_PV(const Amg::Vector3D & SV, const xAOD::Vertex & PV, const TLorentzVector & Direction) ;
362  static double MomProjDist(const Amg::Vector3D & SV, const xAOD::Vertex & PV, const TLorentzVector & Direction) ;
363 
364  double distToMatLayerSignificance(Vrt2Tr & Vrt) const;
365 
366  double refitVertex( WrkVrt &Vrt,std::vector<const xAOD::TrackParticle*> & SelectedTracks,
367  Trk::IVKalState& istate,
368  bool ifCovV0) const;
369 
370  static int mostHeavyTrk(WrkVrt V, std::vector<const xAOD::TrackParticle*> AllTracks) ;
371  double refineVerticesWithCommonTracks( WrkVrt &v1, WrkVrt &v2, std::vector<const xAOD::TrackParticle*> & allTrackList,
372  Trk::IVKalState& istate) const;
373  double mergeAndRefitVertices( WrkVrt & v1, WrkVrt & v2, WrkVrt & newvrt,
374  std::vector<const xAOD::TrackParticle*> & AllTrackList,
375  Trk::IVKalState& istate, int robKey =0) const;
376 
377  double improveVertexChi2( WrkVrt &vertex, std::vector<const xAOD::TrackParticle*> & allTracks,
378  Trk::IVKalState& istate,
379  bool ifCovV0) const;
380 
381  void selGoodTrkParticle( workVectorArrxAOD * xAODwrk,
382  const xAOD::Vertex & primVrt) const;
383 
384 
385 
386  void select2TrVrt(std::vector<const xAOD::TrackParticle*> & SelectedTracks, const xAOD::Vertex & primVrt,
387  std::map<long int,std::vector<double>> & vrt,
388  compatibilityGraph_t& compatibilityGraph) const;
389 
390 
391  static void getPixelDiscs (const xAOD::TrackParticle* Part, int &d0Hit, int &d1Hit, int &d2Hit) ;
392  static int getIBLHit(const xAOD::TrackParticle* Part) ;
393  static int getBLHit(const xAOD::TrackParticle* Part) ;
394 
395  Hists& getHists() const;
396  };
397 
398 
400  {
401  clique_visitor(std::vector< std::vector<int> > & input): m_allCliques(input){ input.clear();}
402 
403  template <typename Clique, typename Graph>
404  void clique(const Clique& clq, Graph& )
405  {
406  std::vector<int> new_clique(0);
407  for(auto i = clq.begin(); i != clq.end(); ++i) new_clique.push_back(*i);
408  m_allCliques.push_back(new_clique);
409  }
410 
411  std::vector< std::vector<int> > & m_allCliques;
412 
413  };
414 
415 } //end namespace
416 
417 #endif
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtBDT
float NVrtBDT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:288
Rec::NewVrtSecInclusiveTool::~NewVrtSecInclusiveTool
virtual ~NewVrtSecInclusiveTool()
Definition: NewVrtSecInclusiveTool.cxx:61
base
std::string base
Definition: hcg.cxx:78
Rec::NewVrtSecInclusiveTool::getIdHF
int getIdHF(const xAOD::TrackParticle *TP) const
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:242
Rec::NewVrtSecInclusiveTool::Hists::book
StatusCode book(ITHistSvc &histSvc, const std::string &histDir)
Definition: NewVrtSecInclusiveTool.cxx:113
Rec::NewVrtSecInclusiveTool::vrtVrtDist2D
static double vrtVrtDist2D(const xAOD::Vertex &primVrt, const Amg::Vector3D &secVrt, const std::vector< double > &vrtErr, double &signif)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:93
Rec::NewVrtSecInclusiveTool::refineVerticesWithCommonTracks
double refineVerticesWithCommonTracks(WrkVrt &v1, WrkVrt &v2, std::vector< const xAOD::TrackParticle * > &allTrackList, Trk::IVKalState &istate) const
Definition: MultiUtilities.cxx:100
Rec::NewVrtSecInclusiveTool::DevTuple::pttrk
float pttrk[maxNTrk]
Definition: NewVrtSecInclusiveTool.h:232
Rec::NewVrtSecInclusiveTool::DevTuple::NVMinS3DT
float NVMinS3DT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:282
Rec::NewVrtSecInclusiveTool::isPart
static bool isPart(const std::deque< long int > &test, std::deque< long int > base)
Definition: MultiUtilities.cxx:252
Rec::workVectorArrxAOD::beamY
double beamY
Definition: GNNVertexFitterTool.h:43
Rec::NewVrtSecInclusiveTool::getIBLHit
static int getIBLHit(const xAOD::TrackParticle *Part)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:214
Rec::NewVrtSecInclusiveTool::m_cutPt
Gaudi::Property< float > m_cutPt
Definition: NewVrtSecInclusiveTool.h:154
Rec::NewVrtSecInclusiveTool::isDisplaced
static bool isDisplaced(const xAOD::TrackParticle *tp)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:285
Rec::NewVrtSecInclusiveTool::getBLHit
static int getBLHit(const xAOD::TrackParticle *Part)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:223
ITwoTrackVertexSelector.h
Rec::NewVrtSecInclusiveTool::Vrt2Tr::chi2
double chi2
Definition: NewVrtSecInclusiveTool.h:305
Rec::NewVrtSecInclusiveTool::selGoodTrkParticle
void selGoodTrkParticle(workVectorArrxAOD *xAODwrk, const xAOD::Vertex &primVrt) const
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/CutTrk.cxx:21
Rec::NewVrtSecInclusiveTool::Hists::m_hb_trkZ
TH1D * m_hb_trkZ
Definition: NewVrtSecInclusiveTool.h:123
MVAUtils
Definition: InDetTrkInJetType.h:48
Rec::NewVrtSecInclusiveTool::DevTuple::VSigMat
float VSigMat[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:266
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtHR2
float NVrtHR2[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:290
Rec::NewVrtSecInclusiveTool::DevTuple::VrtBDT
float VrtBDT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:257
Rec::NewVrtSecInclusiveTool::m_cutTRTHits
Gaudi::Property< int > m_cutTRTHits
Definition: NewVrtSecInclusiveTool.h:150
Rec::NewVrtSecInclusiveTool::Hists
Definition: NewVrtSecInclusiveTool.h:108
Rec::NewVrtSecInclusiveTool::getVrtSecMulti
std::vector< xAOD::Vertex * > getVrtSecMulti(workVectorArrxAOD *inpParticlesxAOD, const xAOD::Vertex &primVrt, compatibilityGraph_t &compatibilityGraph) const
Definition: VrtSecMulti.cxx:29
Rec::NewVrtSecInclusiveTool::WrkVrt::vertexCov
std::vector< double > vertexCov
Definition: NewVrtSecInclusiveTool.h:319
Rec::NewVrtSecInclusiveTool::m_globVrtProbCut
Gaudi::Property< float > m_globVrtProbCut
Definition: NewVrtSecInclusiveTool.h:175
Rec::NewVrtSecInclusiveTool::Hists::m_hb_trkD0
TH1D * m_hb_trkD0
Definition: NewVrtSecInclusiveTool.h:122
Rec::NewVrtSecInclusiveTool::Hists::m_hb_ntrksel
TH1F * m_hb_ntrksel
Definition: NewVrtSecInclusiveTool.h:124
Rec::NewVrtSecInclusiveTool::m_eta_wrtSV
SG::AuxElement::Decorator< float > m_eta_wrtSV
Definition: NewVrtSecInclusiveTool.h:205
Rec::NewVrtSecInclusiveTool::m_h
std::unique_ptr< Hists > m_h
Definition: NewVrtSecInclusiveTool.h:144
Rec::NewVrtSecInclusiveTool::m_instanceName
std::string m_instanceName
Definition: NewVrtSecInclusiveTool.h:200
Rec::NewVrtSecInclusiveTool::NewVrtSecInclusiveTool
NewVrtSecInclusiveTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: NewVrtSecInclusiveTool.cxx:30
gridSubmitIDTPM.check
check
Definition: gridSubmitIDTPM.py:45
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtSig2D
float NVrtSig2D[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:286
Rec::NewVrtSecInclusiveTool::Hists::m_hb_diffPS
TH1D * m_hb_diffPS
Definition: NewVrtSecInclusiveTool.h:135
Rec::NewVrtSecInclusiveTool::WrkVrt::vertexCharge
long int vertexCharge
Definition: NewVrtSecInclusiveTool.h:318
Rec::NewVrtSecInclusiveTool::m_maxZVrt
Gaudi::Property< float > m_maxZVrt
Definition: NewVrtSecInclusiveTool.h:157
Rec::workVectorArrxAOD::listSelTracks
std::vector< const xAOD::TrackParticle * > listSelTracks
Definition: GNNVertexFitterTool.h:41
Rec::NewVrtSecInclusiveTool::Hists::m_hb_signif3D
TH1D * m_hb_signif3D
Definition: NewVrtSecInclusiveTool.h:129
Rec::NewVrtSecInclusiveTool::WrkVrt::chi2PerTrk
std::vector< double > chi2PerTrk
Definition: NewVrtSecInclusiveTool.h:320
Rec::NewVrtSecInclusiveTool::MomProjDist
static double MomProjDist(const Amg::Vector3D &SV, const xAOD::Vertex &PV, const TLorentzVector &Direction)
Definition: MultiUtilities.cxx:260
Rec::NewVrtSecInclusiveTool::DevTuple::n2Vrt
int n2Vrt
Definition: NewVrtSecInclusiveTool.h:241
Rec::NewVrtSecInclusiveTool::DevTuple::VrtZ
float VrtZ[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:254
Rec::NewVrtSecInclusiveTool::Hists::m_hb_sig3D2tr
TH1D * m_hb_sig3D2tr
Definition: NewVrtSecInclusiveTool.h:137
Rec::NewVrtSecInclusiveTool::WrkVrt::projectedVrt
double projectedVrt
Definition: NewVrtSecInclusiveTool.h:323
Rec::NewVrtSecInclusiveTool::m_cutSiHits
Gaudi::Property< int > m_cutSiHits
Definition: NewVrtSecInclusiveTool.h:151
Rec::NewVrtSecInclusiveTool::WrkVrt::trkAtVrt
std::vector< std::vector< double > > trkAtVrt
Definition: NewVrtSecInclusiveTool.h:321
Rec::NewVrtSecInclusiveTool::DevTuple::NVMinPtT
float NVMinPtT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:281
Rec::NewVrtSecInclusiveTool::DevTuple::VMinPtT
float VMinPtT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:263
Rec::NewVrtSecInclusiveTool::m_cutPixelHits
Gaudi::Property< int > m_cutPixelHits
Definition: NewVrtSecInclusiveTool.h:149
ParticleTest.tp
tp
Definition: ParticleTest.py:25
Rec::NewVrtSecInclusiveTool::mergeAndRefitVertices
double mergeAndRefitVertices(WrkVrt &v1, WrkVrt &v2, WrkVrt &newvrt, std::vector< const xAOD::TrackParticle * > &AllTrackList, Trk::IVKalState &istate, int robKey=0) const
Definition: MultiUtilities.cxx:151
Rec::NewVrtSecInclusiveTool::DevTuple::VMinS3DT
float VMinS3DT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:264
Rec::NewVrtSecInclusiveTool::getPixelDiscs
static void getPixelDiscs(const xAOD::TrackParticle *Part, int &d0Hit, int &d1Hit, int &d2Hit)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:233
IExtrapolator.h
Rec::NewVrtSecInclusiveTool::m_minZVrt
Gaudi::Property< float > m_minZVrt
Definition: NewVrtSecInclusiveTool.h:158
Rec::NewVrtSecInclusiveTool::DevTuple::VrtJT
int VrtJT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:268
Rec::workVectorArrxAOD::tanBeamTiltX
double tanBeamTiltX
Definition: GNNVertexFitterTool.h:45
Rec::NewVrtSecInclusiveTool::DevTuple::VrtTrueBar
int VrtTrueBar[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:248
Rec::NewVrtSecInclusiveTool::DevTuple::VrtEta
float VrtEta[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:256
Rec::NewVrtSecInclusiveTool::DevTuple::VrtProb
float VrtProb[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:258
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:142
Rec::NewVrtSecInclusiveTool::m_is_svtrk_final
SG::AuxElement::Decorator< char > m_is_svtrk_final
Definition: NewVrtSecInclusiveTool.h:203
Rec::IVrtInclusive
Definition: IVrtInclusive.h:41
Rec::NewVrtSecInclusiveTool::DevTuple
Definition: NewVrtSecInclusiveTool.h:228
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtPt
float NVrtPt[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:278
Rec::NewVrtSecInclusiveTool::momAtVrt
ROOT::Math::PxPyPzEVector momAtVrt(const std::vector< double > &inpTrk) const
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:201
Rec::NewVrtSecInclusiveTool::Hists::m_hb_trkSelect
TH1F * m_hb_trkSelect
Definition: NewVrtSecInclusiveTool.h:126
Rec::NewVrtSecInclusiveTool::m_antiPileupSigRCut
Gaudi::Property< float > m_antiPileupSigRCut
Definition: NewVrtSecInclusiveTool.h:160
Rec::NewVrtSecInclusiveTool::select2TrVrt
void select2TrVrt(std::vector< const xAOD::TrackParticle * > &SelectedTracks, const xAOD::Vertex &primVrt, std::map< long int, std::vector< double >> &vrt, compatibilityGraph_t &compatibilityGraph) const
Definition: Sel2TrkVertices.cxx:31
Rec::NewVrtSecInclusiveTool::DevTuple::idHF
int idHF[maxNTrk]
Definition: NewVrtSecInclusiveTool.h:237
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
Rec::NewVrtSecInclusiveTool::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: NewVrtSecInclusiveTool.h:182
Rec::NewVrtSecInclusiveTool::Hists::m_hb_etaSV
TH1F * m_hb_etaSV
Definition: NewVrtSecInclusiveTool.h:141
Rec::NewVrtSecInclusiveTool::Vrt2Tr
Definition: NewVrtSecInclusiveTool.h:298
Rec::NewVrtSecInclusiveTool::massV0
static double massV0(const std::vector< std::vector< double > > &TrkAtVrt, double massP, double massPi)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:177
Rec::NewVrtSecInclusiveTool::Vrt2Tr::vertexCharge
long int vertexCharge
Definition: NewVrtSecInclusiveTool.h:301
TrkVKalVrtFitter.h
Rec::NewVrtSecInclusiveTool::estimVrtPos
static std::vector< double > estimVrtPos(int nTrk, std::deque< long int > &selTrk, std::map< long int, std::vector< double >> &vrt)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:439
Rec::NewVrtSecInclusiveTool::m_ini_v2trselector
ToolHandle< Rec::ITwoTrackVertexSelector > m_ini_v2trselector
Definition: NewVrtSecInclusiveTool.h:188
Rec::NewVrtSecInclusiveTool::DevTuple::nTrk
int nTrk
Definition: NewVrtSecInclusiveTool.h:231
Rec::NewVrtSecInclusiveTool::m_cutBLayHits
Gaudi::Property< int > m_cutBLayHits
Definition: NewVrtSecInclusiveTool.h:152
Rec::NewVrtSecInclusiveTool::Vrt2Tr::fitVertex
Amg::Vector3D fitVertex
Definition: NewVrtSecInclusiveTool.h:299
Rec::NewVrtSecInclusiveTool::Hists::m_hb_fakeSVBDT
TH1F * m_hb_fakeSVBDT
Definition: NewVrtSecInclusiveTool.h:142
Rec::workVectorArrxAOD::tmpListTracks
std::vector< const xAOD::TrackParticle * > tmpListTracks
Definition: NewVrtSecInclusiveTool.h:72
Rec::NewVrtSecInclusiveTool::finalize
StatusCode finalize()
Definition: NewVrtSecInclusiveTool.cxx:245
Rec::NewVrtSecInclusiveTool::WrkVrt::chi2
double chi2
Definition: NewVrtSecInclusiveTool.h:322
Rec::NewVrtSecInclusiveTool::m_fitSvc
ToolHandle< Trk::TrkVKalVrtFitter > m_fitSvc
Definition: NewVrtSecInclusiveTool.h:185
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtDist2D
float NVrtDist2D[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:284
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtIBL
int NVrtIBL[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:275
Rec::clique_visitor::clique
void clique(const Clique &clq, Graph &)
Definition: NewVrtSecInclusiveTool.h:404
Rec::NewVrtSecInclusiveTool::m_fastZSVCut
Gaudi::Property< float > m_fastZSVCut
Definition: NewVrtSecInclusiveTool.h:167
Rec::NewVrtSecInclusiveTool::m_trackToVertexTool
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
Definition: NewVrtSecInclusiveTool.h:186
Rec::NewVrtSecInclusiveTool::m_removeTrkMatSignif
Gaudi::Property< float > m_removeTrkMatSignif
Definition: NewVrtSecInclusiveTool.h:170
Rec::NewVrtSecInclusiveTool::Hists::m_hb_impactRZ
TH2D * m_hb_impactRZ
Definition: NewVrtSecInclusiveTool.h:121
Rec::NewVrtSecInclusiveTool::Hists::m_hb_goodvrtN
TH1F * m_hb_goodvrtN
Definition: NewVrtSecInclusiveTool.h:132
Rec::NewVrtSecInclusiveTool::getMCPileup
static int getMCPileup(const xAOD::TrackParticle *TP)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:306
Rec::NewVrtSecInclusiveTool::mostHeavyTrk
static int mostHeavyTrk(WrkVrt V, std::vector< const xAOD::TrackParticle * > AllTracks)
Definition: MultiUtilities.cxx:26
Rec::NewVrtSecInclusiveTool::DevTuple::maxNTrk
static constexpr int maxNTrk
Definition: NewVrtSecInclusiveTool.h:229
Rec::NewVrtSecInclusiveTool::WrkVrt::vertex
Amg::Vector3D vertex
Definition: NewVrtSecInclusiveTool.h:316
Rec::clique_visitor
Definition: NewVrtSecInclusiveTool.h:400
Rec::NewVrtSecInclusiveTool::DevTuple::VrtM
float VrtM[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:253
Rec::NewVrtSecInclusiveTool::m_cutSctHits
Gaudi::Property< int > m_cutSctHits
Definition: NewVrtSecInclusiveTool.h:148
WriteDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Rec::NewVrtSecInclusiveTool::Hists::m_hb_totmass
TH1D * m_hb_totmass
Definition: NewVrtSecInclusiveTool.h:118
Rec::NewVrtSecInclusiveTool::DevTuple::trkTRT
int trkTRT[maxNTrk]
Definition: NewVrtSecInclusiveTool.h:238
SG::Decorator
Helper class to provide type-safe access to aux data.
Definition: Decorator.h:59
Rec::NewVrtSecInclusiveTool::Hists::m_hb_sig3DTot
TH1D * m_hb_sig3DTot
Definition: NewVrtSecInclusiveTool.h:131
Rec::NewVrtSecInclusiveTool::m_z0_wrtSV
SG::AuxElement::Decorator< float > m_z0_wrtSV
Definition: NewVrtSecInclusiveTool.h:208
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:191
Rec::NewVrtSecInclusiveTool::checkTrue2TrVrt
static bool checkTrue2TrVrt(const xAOD::TrackParticle *TP1, const xAOD::TrackParticle *TP2, float nearCut=0.1)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:365
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtTrkHF
int NVrtTrkHF[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:272
lumiFormat.i
int i
Definition: lumiFormat.py:85
Rec::NewVrtSecInclusiveTool::lockDecorations
void lockDecorations(const std::vector< const xAOD::TrackParticle * > &inpTrk) const
Definition: NewVrtSecInclusiveTool.cxx:335
Rec::NewVrtSecInclusiveTool::Hists::m_hb_ntrkInput
TH1F * m_hb_ntrkInput
Definition: NewVrtSecInclusiveTool.h:125
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
Rec
Name: MuonSpContainer.h Package : offline/Reconstruction/MuonIdentification/muonEvent.
Definition: FakeTrackBuilder.h:10
Rec::NewVrtSecInclusiveTool::m_d0_wrtSV
SG::AuxElement::Decorator< float > m_d0_wrtSV
Definition: NewVrtSecInclusiveTool.h:207
Rec::NewVrtSecInclusiveTool
Definition: NewVrtSecInclusiveTool.h:82
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtM
float NVrtM[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:277
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Rec::NewVrtSecInclusiveTool::DevTuple::VrtDist2D
float VrtDist2D[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:250
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
Rec::NewVrtSecInclusiveTool::m_phi_wrtSV
SG::AuxElement::Decorator< float > m_phi_wrtSV
Definition: NewVrtSecInclusiveTool.h:206
Rec::NewVrtSecInclusiveTool::m_massPi
double m_massPi
Definition: NewVrtSecInclusiveTool.h:195
AthAlgTool.h
Rec::NewVrtSecInclusiveTool::m_massP
double m_massP
Definition: NewVrtSecInclusiveTool.h:196
Rec::NewVrtSecInclusiveTool::m_fillHist
Gaudi::Property< bool > m_fillHist
Definition: NewVrtSecInclusiveTool.h:145
Rec::NewVrtSecInclusiveTool::DevTuple::VrtSig3D
float VrtSig3D[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:251
Rec::NewVrtSecInclusiveTool::getProdVrtBarcode
static int getProdVrtBarcode(const xAOD::TrackParticle *TP, float resolLimit=0.1)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:317
test_pyathena.parent
parent
Definition: test_pyathena.py:15
MuonSegmentReaderConfig.histSvc
histSvc
Definition: MuonSegmentReaderConfig.py:96
Rec::NewVrtSecInclusiveTool::m_cutChi2
Gaudi::Property< float > m_cutChi2
Definition: NewVrtSecInclusiveTool.h:159
VxSecVertexInfo.h
Rec::workVectorArrxAOD::tanBeamTiltY
double tanBeamTiltY
Definition: GNNVertexFitterTool.h:46
Rec::clique_visitor::m_allCliques
std::vector< std::vector< int > > & m_allCliques
Definition: NewVrtSecInclusiveTool.h:411
Rec::NewVrtSecInclusiveTool::DevTuple::d0trk
float d0trk[maxNTrk]
Definition: NewVrtSecInclusiveTool.h:233
Rec::NewVrtSecInclusiveTool::WrkVrt::BDT
double BDT
Definition: NewVrtSecInclusiveTool.h:325
Rec::NewVrtSecInclusiveTool::DevTuple::VrtTrkHF
int VrtTrkHF[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:242
Rec::NewVrtSecInclusiveTool::m_augString
Gaudi::Property< std::string > m_augString
Definition: NewVrtSecInclusiveTool.h:193
Rec::NewVrtSecInclusiveTool::Hists::m_tuple
TTree * m_tuple
Definition: NewVrtSecInclusiveTool.h:110
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtBL
int NVrtBL[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:276
Rec::NewVrtSecInclusiveTool::Hists::m_hb_sig3DNtr
TH1D * m_hb_sig3DNtr
Definition: NewVrtSecInclusiveTool.h:138
Rec::NewVrtSecInclusiveTool::WrkVrt::selTrk
std::deque< long int > selTrk
Definition: NewVrtSecInclusiveTool.h:315
Rec::NewVrtSecInclusiveTool::m_trkSigCut
Gaudi::Property< float > m_trkSigCut
Definition: NewVrtSecInclusiveTool.h:163
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtCh
int NVrtCh[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:274
ITrackToVertex.h
Rec::NewVrtSecInclusiveTool::m_massK0
double m_massK0
Definition: NewVrtSecInclusiveTool.h:198
Rec::NewVrtSecInclusiveTool::m_beampipeR
Gaudi::Property< float > m_beampipeR
Definition: NewVrtSecInclusiveTool.h:171
Rec::NewVrtSecInclusiveTool::m_cutD0Min
Gaudi::Property< float > m_cutD0Min
Definition: NewVrtSecInclusiveTool.h:155
Rec::NewVrtSecInclusiveTool::DevTuple::VrtSig2D
float VrtSig2D[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:252
Rec::NewVrtSecInclusiveTool::Hists::m_hb_impactZ
TH1D * m_hb_impactZ
Definition: NewVrtSecInclusiveTool.h:127
Rec::NewVrtSecInclusiveTool::DevTuple::displaced
int displaced[maxNTrk]
Definition: NewVrtSecInclusiveTool.h:239
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Rec::NewVrtSecInclusiveTool::m_errP_wrtSV
SG::AuxElement::Decorator< float > m_errP_wrtSV
Definition: NewVrtSecInclusiveTool.h:209
Rec::workVectorArrxAOD
Definition: GNNVertexFitterTool.h:40
Rec::NewVrtSecInclusiveTool::DevTuple::VMaxS3DT
float VMaxS3DT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:265
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Rec::NewVrtSecInclusiveTool::DevTuple::VrtTrkI
int VrtTrkI[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:243
Rec::NewVrtSecInclusiveTool::getPreviousParent
static const xAOD::TruthParticle * getPreviousParent(const xAOD::TruthParticle *child)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:269
Rec::NewVrtSecInclusiveTool::findAllVertices
std::unique_ptr< Trk::VxSecVertexInfo > findAllVertices(const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::Vertex &primaryVertex) const final
Definition: NewVrtSecInclusiveTool.cxx:253
Rec::NewVrtSecInclusiveTool::Hists::m_hb_impactR
TH1D * m_hb_impactR
Definition: NewVrtSecInclusiveTool.h:120
Rec::NewVrtSecInclusiveTool::m_is_selected
SG::AuxElement::Decorator< char > m_is_selected
Definition: NewVrtSecInclusiveTool.h:202
Rec::workVectorArrxAOD::inpTrk
std::vector< const xAOD::TrackParticle * > inpTrk
Definition: NewVrtSecInclusiveTool.h:73
Rec::NewVrtSecInclusiveTool::DevTuple::VrtCh
int VrtCh[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:244
Rec::NewVrtSecInclusiveTool::m_chi2_toSV
SG::AuxElement::Decorator< float > m_chi2_toSV
Definition: NewVrtSecInclusiveTool.h:212
Rec::NewVrtSecInclusiveTool::Hists::m_hb_massPPi
TH1D * m_hb_massPPi
Definition: NewVrtSecInclusiveTool.h:114
Rec::NewVrtSecInclusiveTool::improveVertexChi2
double improveVertexChi2(WrkVrt &vertex, std::vector< const xAOD::TrackParticle * > &allTracks, Trk::IVKalState &istate, bool ifCovV0) const
Definition: MultiUtilities.cxx:195
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtTrkI
int NVrtTrkI[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:273
Rec::NewVrtSecInclusiveTool::Hists::m_hb_ratio
TH1D * m_hb_ratio
Definition: NewVrtSecInclusiveTool.h:117
Rec::NewVrtSecInclusiveTool::DevTuple::dRdZrat
float dRdZrat[maxNTrk]
Definition: NewVrtSecInclusiveTool.h:236
Rec::NewVrtSecInclusiveTool::m_multiWithOneTrkVrt
Gaudi::Property< bool > m_multiWithOneTrkVrt
Definition: NewVrtSecInclusiveTool.h:179
Rec::NewVrtSecInclusiveTool::m_chiScale
float m_chiScale[11]
Definition: NewVrtSecInclusiveTool.h:312
Rec::NewVrtSecInclusiveTool::Hists::m_hb_massPiPi
TH1D * m_hb_massPiPi
Definition: NewVrtSecInclusiveTool.h:112
Rec::NewVrtSecInclusiveTool::DevTuple::VrtTrueNear
int VrtTrueNear[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:249
Rec::NewVrtSecInclusiveTool::Hists::m_hb_massEE
TH1D * m_hb_massEE
Definition: NewVrtSecInclusiveTool.h:115
Rec::NewVrtSecInclusiveTool::Hists::m_hb_distVV
TH1D * m_hb_distVV
Definition: NewVrtSecInclusiveTool.h:134
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtHR1
float NVrtHR1[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:289
Rec::NewVrtSecInclusiveTool::DevTuple::VrtPt
float VrtPt[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:255
SG::ReadCondHandleKey< InDet::BeamSpotData >
Rec::NewVrtSecInclusiveTool::m_errd0_wrtSV
SG::AuxElement::Decorator< float > m_errd0_wrtSV
Definition: NewVrtSecInclusiveTool.h:210
ReadCellNoiseFromCoolCompare.v2
v2
Definition: ReadCellNoiseFromCoolCompare.py:364
Rec::NewVrtSecInclusiveTool::DevTuple::etatrk
float etatrk[maxNTrk]
Definition: NewVrtSecInclusiveTool.h:234
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtEta
float NVrtEta[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:279
Rec::NewVrtSecInclusiveTool::m_cutD0Max
Gaudi::Property< float > m_cutD0Max
Definition: NewVrtSecInclusiveTool.h:156
Rec::NewVrtSecInclusiveTool::DevTuple::nNVrt
int nNVrt
Definition: NewVrtSecInclusiveTool.h:270
Rec::NewVrtSecInclusiveTool::compatibilityGraph_t
boost::adjacency_list< boost::listS, boost::vecS, boost::undirectedS > compatibilityGraph_t
Definition: NewVrtSecInclusiveTool.h:311
Rec::NewVrtSecInclusiveTool::m_w_1
double m_w_1
Definition: NewVrtSecInclusiveTool.h:106
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
Rec::NewVrtSecInclusiveTool::initialize
StatusCode initialize()
Definition: NewVrtSecInclusiveTool.cxx:66
Rec::NewVrtSecInclusiveTool::Vrt2Tr::errorMatrix
std::vector< double > errorMatrix
Definition: NewVrtSecInclusiveTool.h:302
Rec::NewVrtSecInclusiveTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: NewVrtSecInclusiveTool.h:184
Rec::NewVrtSecInclusiveTool::Hists::m_hb_sig3D1tr
TH1D * m_hb_sig3D1tr
Definition: NewVrtSecInclusiveTool.h:136
Rec::NewVrtSecInclusiveTool::Hists::m_curTup
DevTuple * m_curTup
Definition: NewVrtSecInclusiveTool.h:111
Rec::NewVrtSecInclusiveTool::DevTuple::VrtHR2
float VrtHR2[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:260
Rec::NewVrtSecInclusiveTool::Hists::m_hb_rawVrtN
TH1F * m_hb_rawVrtN
Definition: NewVrtSecInclusiveTool.h:139
Rec::NewVrtSecInclusiveTool::DevTuple::VrtCosSPM
float VrtCosSPM[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:262
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtCosSPM
float NVrtCosSPM[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:280
Rec::NewVrtSecInclusiveTool::minVrtVrtDist
double minVrtVrtDist(std::vector< WrkVrt > *WrkVrtSet, int &indexV1, int &indexV2, std::vector< double > &check) const
Definition: MultiUtilities.cxx:70
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
Rec::NewVrtSecInclusiveTool::vrtVrtDist
static double vrtVrtDist(const xAOD::Vertex &primVrt, const Amg::Vector3D &secVrt, const std::vector< double > &vrtErr, double &signif)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:60
Trk::IVKalState
Definition: IVKalState.h:21
Rec::NewVrtSecInclusiveTool::WrkVrt::vertexMom
TLorentzVector vertexMom
Definition: NewVrtSecInclusiveTool.h:317
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtTrk
int NVrtTrk[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:271
Rec::NewVrtSecInclusiveTool::getHists
Hists & getHists() const
Definition: NewVrtSecInclusiveTool.cxx:367
Rec::NewVrtSecInclusiveTool::m_maxSVRadiusCut
Gaudi::Property< float > m_maxSVRadiusCut
Definition: NewVrtSecInclusiveTool.h:176
DetType::Part
Part
Definition: DetType.h:14
Rec::NewVrtSecInclusiveTool::DevTuple::VrtIT
int VrtIT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:267
Rec::NewVrtSecInclusiveTool::getG4Inter
static int getG4Inter(const xAOD::TrackParticle *TP)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:296
Rec::NewVrtSecInclusiveTool::distToMatLayerSignificance
double distToMatLayerSignificance(Vrt2Tr &Vrt) const
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:389
Rec::NewVrtSecInclusiveTool::m_pt_wrtSV
SG::AuxElement::Decorator< float > m_pt_wrtSV
Definition: NewVrtSecInclusiveTool.h:204
Rec::NewVrtSecInclusiveTool::DevTuple::VrtIBL
int VrtIBL[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:245
Rec::NewVrtSecInclusiveTool::DevTuple::Sig3D
float Sig3D[maxNTrk]
Definition: NewVrtSecInclusiveTool.h:235
Rec::NewVrtSecInclusiveTool::m_dRdZRatioCut
Gaudi::Property< float > m_dRdZRatioCut
Definition: NewVrtSecInclusiveTool.h:164
Rec::NewVrtSecInclusiveTool::DevTuple::VrtBL
int VrtBL[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:246
Rec::NewVrtSecInclusiveTool::Hists::m_hb_massPiPi1
TH1D * m_hb_massPiPi1
Definition: NewVrtSecInclusiveTool.h:113
Rec::NewVrtSecInclusiveTool::WrkVrt::detachedTrack
int detachedTrack
Definition: NewVrtSecInclusiveTool.h:324
Rec::NewVrtSecInclusiveTool::Hists::m_hb_cosSVMom
TH1F * m_hb_cosSVMom
Definition: NewVrtSecInclusiveTool.h:140
Rec::NewVrtSecInclusiveTool::Vrt2Tr::trkAtVrt
std::vector< std::vector< double > > trkAtVrt
Definition: NewVrtSecInclusiveTool.h:304
Rec::clique_visitor::clique_visitor
clique_visitor(std::vector< std::vector< int > > &input)
Definition: NewVrtSecInclusiveTool.h:401
Rec::NewVrtSecInclusiveTool::projSV_PV
static double projSV_PV(const Amg::Vector3D &SV, const xAOD::Vertex &PV, const TLorentzVector &Direction)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:54
Rec::NewVrtSecInclusiveTool::m_vrtMassLimit
Gaudi::Property< float > m_vrtMassLimit
Definition: NewVrtSecInclusiveTool.h:174
Rec::NewVrtSecInclusiveTool::DevTuple::NVMaxS3DT
float NVMaxS3DT[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:283
BeamSpotData.h
Rec::NewVrtSecInclusiveTool::m_errz0_wrtSV
SG::AuxElement::Decorator< float > m_errz0_wrtSV
Definition: NewVrtSecInclusiveTool.h:211
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtProb
float NVrtProb[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:287
Rec::NewVrtSecInclusiveTool::DevTuple::NVrtSig3D
float NVrtSig3D[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:285
Rec::NewVrtSecInclusiveTool::Hists::m_hb_nvrt2
TH1D * m_hb_nvrt2
Definition: NewVrtSecInclusiveTool.h:116
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
Rec::NewVrtSecInclusiveTool::DevTuple::VrtDZ
float VrtDZ[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:261
Rec::workVectorArrxAOD::beamX
double beamX
Definition: GNNVertexFitterTool.h:42
Rec::NewVrtSecInclusiveTool::m_selVrtSigCut
Gaudi::Property< float > m_selVrtSigCut
Definition: NewVrtSecInclusiveTool.h:177
AthAlgTool
Definition: AthAlgTool.h:26
Rec::NewVrtSecInclusiveTool::m_fin_v2trselector
ToolHandle< Rec::ITwoTrackVertexSelector > m_fin_v2trselector
Definition: NewVrtSecInclusiveTool.h:190
Rec::NewVrtSecInclusiveTool::DevTuple::VrtDisk
int VrtDisk[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:247
Rec::NewVrtSecInclusiveTool::vrtRadiusError
static double vrtRadiusError(const Amg::Vector3D &secVrt, const std::vector< double > &vrtErr)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:160
Rec::NewVrtSecInclusiveTool::refitVertex
double refitVertex(WrkVrt &Vrt, std::vector< const xAOD::TrackParticle * > &SelectedTracks, Trk::IVKalState &istate, bool ifCovV0) const
Definition: MultiUtilities.cxx:221
TruthEventContainer.h
Rec::NewVrtSecInclusiveTool::printWrkSet
void printWrkSet(const std::vector< WrkVrt > *WrkSet, const std::string &name) const
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:27
IVrtInclusive.h
Rec::NewVrtSecInclusiveTool::Hists::m_hb_impact
TH1D * m_hb_impact
Definition: NewVrtSecInclusiveTool.h:119
Rec::NewVrtSecInclusiveTool::DevTuple::VrtHR1
float VrtHR1[maxNVrt]
Definition: NewVrtSecInclusiveTool.h:259
Rec::NewVrtSecInclusiveTool::isExcitedHadron
static bool isExcitedHadron(const xAOD::TruthParticle *tp)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:277
Rec::NewVrtSecInclusiveTool::DevTuple::maxNVrt
static constexpr int maxNVrt
Definition: NewVrtSecInclusiveTool.h:230
Rec::NewVrtSecInclusiveTool::Hists::m_hb_goodvrt1N
TH1F * m_hb_goodvrt1N
Definition: NewVrtSecInclusiveTool.h:133
Rec::NewVrtSecInclusiveTool::Hists::m_hb_impV0
TH1D * m_hb_impV0
Definition: NewVrtSecInclusiveTool.h:130
Rec::NewVrtSecInclusiveTool::m_massE
double m_massE
Definition: NewVrtSecInclusiveTool.h:197
Rec::NewVrtSecInclusiveTool::Vrt2Tr::momentum
TLorentzVector momentum
Definition: NewVrtSecInclusiveTool.h:300
Rec::NewVrtSecInclusiveTool::WrkVrt
Definition: NewVrtSecInclusiveTool.h:314
Rec::workVectorArrxAOD::beamZ
double beamZ
Definition: GNNVertexFitterTool.h:44
Rec::NewVrtSecInclusiveTool::Vrt2Tr::chi2PerTrk
std::vector< double > chi2PerTrk
Definition: NewVrtSecInclusiveTool.h:303
Rec::NewVrtSecInclusiveTool::m_vertexMergeCut
Gaudi::Property< float > m_vertexMergeCut
Definition: NewVrtSecInclusiveTool.h:178
Rec::NewVrtSecInclusiveTool::WrkVrt::Good
bool Good
Definition: NewVrtSecInclusiveTool.h:314
Rec::NewVrtSecInclusiveTool::m_massLam
double m_massLam
Definition: NewVrtSecInclusiveTool.h:199
Rec::NewVrtSecInclusiveTool::nTrkCommon
static int nTrkCommon(std::vector< WrkVrt > *WrkVrtSet, int indexV1, int indexV2)
Definition: MultiUtilities.cxx:48
xAOD::DiTauJetParameters::BDT
@ BDT
Definition: DiTauDefs.h:44
Rec::NewVrtSecInclusiveTool::PntPntDist
static double PntPntDist(const Amg::Vector3D &Vrt1, const Amg::Vector3D &Vrt2)
Definition: Reconstruction/VKalVrt/NewVrtSecInclusiveTool/src/Utilities.cxx:149
Rec::NewVrtSecInclusiveTool::Hists::m_hb_r2d
TH1D * m_hb_r2d
Definition: NewVrtSecInclusiveTool.h:128
Rec::NewVrtSecInclusiveTool::m_cutSharedHits
Gaudi::Property< int > m_cutSharedHits
Definition: NewVrtSecInclusiveTool.h:153