ATLAS Offline Software
InDetVKalVxInJetTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
8 
40 #ifndef _VKalVrt_InDetVKalVxInJetTool_H
41 #define _VKalVrt_InDetVKalVxInJetTool_H
42 #include <vector>
43 // Gaudi includes
45 #include "GaudiKernel/ToolHandle.h"
46 #include "GaudiKernel/IChronoStatSvc.h"
47 #include "StoreGate/ReadHandle.h"
48 
49 //Remove in boost > 1.76 when the boost iterator issue
50 //is solved see ATLASRECTS-6358
51 #define BOOST_ALLOW_DEPRECATED_HEADERS
52 #include "boost/graph/adjacency_list.hpp"
53 //
57 //
58 //
62 
63 class TH1D;
64 class TH2D;
65 class TH1F;
66 class TProfile;
67 class TTree;
68 class IChronoStatSvc;
69 class ITHistSvc;
70 
71 namespace Trk{
72  class TrkVKalVrtFitter;
73  class IVertexFitter;
74  class IVKalState;
75 }
76 
78 
79 namespace InDetDD {
80  class PixelDetectorManager;
81 }
82 
83 typedef std::vector<double> dvect;
84 
85 
86 //------------------------------------------------------------------------
87 namespace InDet {
88 
89 
91  std::vector<const xAOD::TrackParticle*> listJetTracks;
92  std::vector<const xAOD::TrackParticle*> tmpListTracks;
93  std::vector<const xAOD::TrackParticle*> listSecondTracks;
94  std::vector<const xAOD::TrackParticle*> TracksForFit;
95  std::vector<const xAOD::TrackParticle*> InpTrk;
96  std::vector< std::vector<const xAOD::TrackParticle*> > FoundSecondTracks;
97  std::vector<const xAOD::TrackParticle*> TrkFromV0;
98  };
99 
101  public AthAlgTool, virtual public ISecVertexInJetFinder{
102 
103 
104  public:
105  /* Constructor */
106  InDetVKalVxInJetTool(const std::string& type, const std::string& name, const IInterface* parent);
107  /* Destructor */
108  virtual ~InDetVKalVxInJetTool();
109 
110 
113 
114  Trk::VxSecVertexInfo* findSecVertex(const xAOD::Vertex & primaryVertex,
115  const TLorentzVector & jetMomentum,
116  const std::vector<const xAOD::IParticle*> & inputTracks) const;
117 
118 //------------------------------------------------------------------------------------------------------------------
119 // Private data and functions
120 //
121 
122  private:
123 
124  struct DevTuple;
125  struct Hists {
126  StatusCode book (ITHistSvc& histSvc, const std::string& histDir);
127  TTree* m_tuple{};
129  TH1D* m_hb_massPiPi{};
130  TH1D* m_hb_massPiPi1{};
131  TH1D* m_hb_massPPi{};
132  TH1D* m_hb_massEE{};
133  TH1D* m_hb_totmassEE{};
137  TH1D* m_hb_nvrt2{};
138  TH1D* m_hb_ratio{};
139  TH1D* m_hb_totmass{};
140  TH1D* m_hb_impact{};
141  TH1D* m_hb_impactR{};
142  TH2D* m_hb_impactRZ{};
143  TH1D* m_hb_trkD0{};
144  TH1D* m_hb_ntrkjet{};
145  TH1D* m_hb_impactZ{};
146  TH1D* m_hb_r2d{};
147  TH1D* m_hb_r1dc{};
148  TH1D* m_hb_r2dc{};
149  TH1D* m_hb_r3dc{};
150  TH1D* m_hb_rNdc{};
151  TH1D* m_hb_dstToMat{};
152  TH1D* m_hb_jmom{};
153  TH1D* m_hb_mom{};
154  TH1D* m_hb_signif3D{};
155  TH1D* m_hb_impV0{};
156  TH1D* m_hb_sig3DTot{};
158  TH1D* m_hb_distVV{};
159  TH1D* m_hb_diffPS{};
160  TH1D* m_hb_sig3D1tr{};
161  TH1D* m_hb_sig3D2tr{};
162  TH1D* m_hb_sig3DNtr{};
163  TH1D* m_hb_trkPtMax{};
168 //--
174  };
175  std::unique_ptr<Hists> m_h;
176 
177  IntegerProperty m_cutSctHits{this, "CutSctHits", 4,
178  "Remove track is it has less SCT hits"};
179  IntegerProperty m_cutPixelHits{this, "CutPixelHits", 1,
180  "Remove track is it has less Pixel hits"};
181  IntegerProperty m_cutSiHits{this, "CutSiHits", 7,
182  "Remove track is it has less Pixel+SCT hits"};
183  IntegerProperty m_cutBLayHits{this, "CutBLayHits", 0,
184  "Remove track is it has less B-layer hits"};
185  IntegerProperty m_cutSharedHits{this, "CutSharedHits", 1000,
186  "Reject final 2tr vertices if tracks have shared hits"};
187  DoubleProperty m_cutPt{this, "CutPt", 700., "Track Pt selection cut"};
188  DoubleProperty m_cutZVrt{this, "CutZVrt", 15., "Track Z impact selection cut"};
189  DoubleProperty m_cutA0{this, "CutA0", 5., "Track A0 selection cut"};
190  DoubleProperty m_cutChi2{this, "CutChi2", 5., "Track Chi2 selection cut"};
191  DoubleProperty m_secTrkChi2Cut{this, "SecTrkChi2Cut", 10.,
192  "Track - common secondary vertex association cut. Single Vertex Finder only"};
193  DoubleProperty m_coneForTag{this, "ConeForTag", 0.4,
194  "Cone around jet direction for track selection"};
195  DoubleProperty m_sel2VrtChi2Cut{this, "Sel2VrtChi2Cut", 10.,
196  "Cut on Chi2 of 2-track vertex for initial selection"};
197  DoubleProperty m_sel2VrtSigCut{this, "Sel2VrtSigCut", 4.,
198  "Cut on significance of 3D distance between initial 2-track vertex and PV"};
199  DoubleProperty m_trkSigCut{this, "TrkSigCut", 2.,
200  "Track 3D impact significance w/r primary vertex"};
201  DoubleProperty m_a0TrkErrorCut{this, "A0TrkErrorCut", 1.,
202  "Track A0 error cut"};
203  DoubleProperty m_zTrkErrorCut{this, "ZTrkErrorCut", 5.,
204  "Track Z impact error cut"};
205  DoubleProperty m_cutBVrtScore{this, "CutBVrtScore", 0.015,
206  "B vertex selection cut on 2track vertex score (probability-like) based on track classification"};
207  DoubleProperty m_vrt2TrMassLimit{this, "Vrt2TrMassLimit", 4000.,
208  "Maximal allowed mass for 2-track vertices"};
209 
210  BooleanProperty m_useFrozenVersion{this, "UseFrozenVersion", false,
211  "Switch from default frozen version to the development/improved one"};
212  BooleanProperty m_fillHist{this, "FillHist", false,
213  "Fill technical histograms"};
214  BooleanProperty m_existIBL{this, "ExistIBL", true,
215  "Inform whether 3-layer or 4-layer detector is used"};
216 
217  IntegerProperty m_RobustFit{this, "RobustFit", 1,
218  "Use vertex fit with RobustFit functional(VKalVrt) for common secondary vertex fit"};
219 
220  double m_beampipeR = 0.;
221  double m_rLayerB = 0.;
222  double m_rLayer1 = 0.;
223  double m_rLayer2 = 0.;
224  double m_rLayer3 = 0.;
225 
226  BooleanProperty m_useVertexCleaningPix{this, "useVertexCleaningPix", false,
227  "Clean vertices requiring track pixel hit patterns according to vertex position"};
228  BooleanProperty m_useVertexCleaningFMP{this, "useVertexCleaningFMP", false,
229  "Clean vertices requiring track F(irst) M(easured) P(oints) matching to vertex position"};
230  BooleanProperty m_rejectBadVertices{this, "rejectBadVertices", false,
231  "Reject V0s after checking 3D PV impact"};
232  BooleanProperty m_multiVertex{this, "MultiVertex", false,
233  "Run Multiple Secondary Vertices in jet finder"};
234  BooleanProperty m_multiWithPrimary{this, "MultiWithPrimary", false,
235  "Find Multiple Secondary Vertices + primary vertex in jet. MultiVertex Finder only!"};
236  BooleanProperty m_getNegativeTail{this, "getNegativeTail", false,
237  "Allow secondary vertex behind the primary one (negative) w/r jet direction (not for multivertex!)"};
238  BooleanProperty m_getNegativeTag{this, "getNegativeTag", false,
239  "Return ONLY negative secondary vertices (not for multivertex!)"};
240  BooleanProperty m_multiWithOneTrkVrt{this, "MultiWithOneTrkVrt", true,
241  "Allow one-track-vertex addition to already found secondary vertices. MultiVertex Finder only!"};
242 
243  DoubleProperty m_vertexMergeCut{this, "VertexMergeCut", 3.,
244  "To allow vertex merging for MultiVertex Finder"};
245  DoubleProperty m_trackDetachCut{this, "TrackDetachCut", 6.,
246  "To allow track from vertex detachment for MultiVertex Finder"};
247 
248  ToolHandle < Trk::IVertexFitter > m_fitter
249  {this, "VertexFitterTool", "Trk::TrkVKalVrtFitter/VertexFitterTool"};
251  ServiceHandle<IChronoStatSvc> m_timingProfile{this,"ChronoStatSvc","ChronoStatSvc"};
252 
254  ToolHandle < IInDetTrkInJetType > m_trackClassificator
255  {this, "TrackClassTool", "InDet::InDetTrkInJetType"};
257  {this, "EventInfoName", "EventInfo"};
258 
259  bool m_useEtaDependentCuts = false;
262  {this, "InDetEtaDependentCutsSvc", ""};
263 
265  {this, "useITkMaterialRejection", false,
266  "Reject vertices from hadronic interactions in detector material using ITk layout"};
269  std::unique_ptr<TH2D> m_ITkPixMaterialMap;
270 
271  const double m_massPi = 139.5702 ;
272  const double m_massP = 938.272 ;
273  const double m_massE = 0.511 ;
274  const double m_massK0 = 497.648 ;
275  const double m_massLam =1115.683 ;
276  const double m_massB =5279.400 ;
277 
278 //-------------------------------------------
279 //For ntuples (only for development/tuning!)
280 
281  static int notFromBC(int PDGID) ;
282  static const xAOD::TruthParticle * getPreviousParent(const xAOD::TruthParticle * child, int & ParentPDG) ;
283  static int getIdHF(const xAOD::TrackParticle* TP ) ;
284  static int getG4Inter( const xAOD::TrackParticle* TP ) ;
285  static int getMCPileup(const xAOD::TrackParticle* TP ) ;
286 
287  struct DevTuple
288  {
289  static const int maxNTrk=100;
290  static const int maxNVrt=100;
292  float ewgt;
293  float ptjet;
294  float etajet;
295  float phijet;
296  float etatrk[maxNTrk];
297  float p_prob[maxNTrk];
298  float s_prob[maxNTrk];
299  int idMC[maxNTrk];
300  float SigR[maxNTrk];
301  float SigZ[maxNTrk];
302  float d0[maxNTrk];
303  float Z0[maxNTrk];
304  float pTvsJet[maxNTrk];
305  float prodTJ[maxNTrk];
306  float wgtB[maxNTrk];
307  float wgtL[maxNTrk];
308  float wgtG[maxNTrk];
309  float sig3D[maxNTrk];
310  int chg[maxNTrk];
312  float TotM;
313  int nVrt;
317  float VrtDR[maxNVrt];
318  float VrtdRtt[maxNVrt];
319  float VrtErrR[maxNVrt];
320  float mass[maxNVrt];
321  float Chi2[maxNVrt];
322  int itrk[maxNVrt];
323  int jtrk[maxNVrt];
325  int ibl[maxNVrt];
326  int bl[maxNVrt];
327  float fhitR[maxNVrt];
328  int NTHF;
329  int itHF[maxNVrt];
330  //---
331  int nNVrt;
336  float NVrtM[maxNVrt];
340  float NVrtDR[maxNVrt];
341  };
342 
343  struct Vrt2Tr
344  { int i=0, j=0;
345  int badVrt=0;
347  TLorentzVector momentum;
348  long int vertexCharge;
349  std::vector<double> errorMatrix;
350  std::vector<double> chi2PerTrk;
351  std::vector< std::vector<double> > trkAtVrt;
352  double signif3D=0.;
353  double signif3DProj=0.;
354  double signif2D=0.;
355  double chi2=0.;
356  double dRSVPV=-1.;
357  };
358 
359 
360 // For multivertex version only
361 
362  using compatibilityGraph_t = boost::adjacency_list<boost::listS, boost::vecS, boost::undirectedS>;
363  float m_chiScale[11]{};
364  struct WrkVrt
365  { bool Good=true;
366  std::deque<long int> selTrk;
368  TLorentzVector vertexMom;
369  long int vertexCharge{};
370  std::vector<double> vertexCov;
371  std::vector<double> chi2PerTrk;
372  std::vector< std::vector<double> > trkAtVrt;
373  double chi2{};
374  int nCloseVrt=0;
375  double dCloseVrt=1000000.;
376  double projectedVrt=0.;
378  };
379 
380 
381 // Private technical functions
382 //
383 //
384  xAOD::Vertex* getVrtSec(const std::vector<const xAOD::TrackParticle*> & inpTrk,
385  const xAOD::Vertex & primVrt,
386  const TLorentzVector & jetDir,
387  std::vector<double> & results,
388  std::vector<const xAOD::TrackParticle*> & selSecTrk,
389  std::vector<const xAOD::TrackParticle*> & trkFromV0,
390  int & nRefPVTrk,
391  compatibilityGraph_t & compatibilityGraph) const;
392 
393  std::vector<xAOD::Vertex*> getVrtSecMulti(
395  const xAOD::Vertex& primVrt,
396  const TLorentzVector& jetDir,
397  std::vector<double>& results,
398  compatibilityGraph_t& compatibilityGraph) const;
399 
400  static void trackClassification(std::vector<WrkVrt> *wrkVrtSet,
401  std::vector< std::deque<long int> > *trkInVrt) ;
402 
403  static double MaxOfShared(std::vector<WrkVrt> *WrkVrtSet,
404  std::vector< std::deque<long int> > *trkInVrt,
405  long int & selectedTrack,
406  long int & selectedVertex) ;
407  void removeTrackFromVertex(std::vector<WrkVrt> *wrkVrtSet,
408  std::vector< std::deque<long int> > *trkInVrt,
409  long int & selectedTrack,
410  long int & selectedVertex) const;
411 //
412 //
413 
414  void printWrkSet(const std::vector<WrkVrt> * WrkSet, const std::string& name ) const;
415 
416 
417  StatusCode cutTrk(const std::unordered_map<std::string,double>& TrkVarDouble,
418  const std::unordered_map<std::string,int>& TrkVarInt,
419  float evtWgt=1.) const;
420  static double coneDist(const AmgVector(5) & , const TLorentzVector & ) ;
421 //
422 // Gives correct mass assignment in case of nonequal masses
423  static double massV0( std::vector< std::vector<double> >& trkAtVrt, double massP, double massPi ) ;
424  static int findMax( std::vector<double>& chi2PerTrk, std::vector<float>& rank) ;
425 
426 
427  TLorentzVector totalMom(const std::vector<const Trk::Perigee*>& inpTrk) const;
428  static TLorentzVector totalMom(const std::vector<const xAOD::TrackParticle*>& inpTrk) ;
429  TLorentzVector momAtVrt(const std::vector<double>& inpTrk) const;
430  static double pTvsDir(const Amg::Vector3D &Dir, const std::vector<double>& inpTrk) ;
431  static double vrtRadiusError(const Amg::Vector3D & secVrt, const std::vector<double> & vrtErr) ;
432 
433  bool insideMatLayer(float ,float ) const;
434  void fillVrtNTup( std::vector<Vrt2Tr> & all2TrVrt) const;
435  void fillNVrtNTup(std::vector<WrkVrt> & vrtSet, std::vector< std::vector<float> > & trkScore,
436  const xAOD::Vertex & primVrt, const TLorentzVector & jetDir)const;
437 
438  TLorentzVector getBDir( const xAOD::TrackParticle* trk1,
439  const xAOD::TrackParticle* trk2,
440  const xAOD::Vertex & primVrt,
441  Amg::Vector3D &V1, Amg::Vector3D &V2) const;
442 
443  static int nTrkCommon( std::vector<WrkVrt> *WrkVrtSet, int V1, int V2) ;
444  double minVrtVrtDist( std::vector<WrkVrt> *WrkVrtSet, int & V1, int & V2) const;
445  static double minVrtVrtDistNext( std::vector<WrkVrt> *WrkVrtSet, int & V1, int & V2) ;
446  static bool isPart( std::deque<long int> test, std::deque<long int> base) ;
447  static void clean1TrVertexSet(std::vector<WrkVrt> *WrkVrtSet) ;
448  static double jetProjDist(Amg::Vector3D &SecVrt, const xAOD::Vertex &primVrt, const TLorentzVector &JetDir) ;
449 
450  double vrtVrtDist(const xAOD::Vertex & primVrt, const Amg::Vector3D & SecVrt,
451  const std::vector<double>& VrtErr,double& Signif ) const;
452  double vrtVrtDist2D(const xAOD::Vertex & primVrt, const Amg::Vector3D & SecVrt,
453  const std::vector<double>& VrtErr,double& Signif ) const;
454  double vrtVrtDist(const xAOD::Vertex & primVrt, const Amg::Vector3D & SecVrt,
455  const std::vector<double>& SecVrtErr, const TLorentzVector & JetDir) const;
456  double vrtVrtDist(const Amg::Vector3D & Vrt1, const std::vector<double>& VrtErr1,
457  const Amg::Vector3D & Vrt2, const std::vector<double>& VrtErr2) const;
458 
459  template <class Particle>
460  void disassembleVertex(std::vector<WrkVrt> *WrkVrtSet, int iv,
461  std::vector<const Particle*> AllTracks,
462  Trk::IVKalState& istate) const;
463 
464  static double projSV_PV(const Amg::Vector3D & SV, const xAOD::Vertex & PV, const TLorentzVector & Jet) ;
465 
466  double rankBTrk(double TrkPt, double JetPt, double Signif) const;
467 
468 
469  static const Trk::Perigee* getPerigee( const xAOD::TrackParticle* ) ;
470  std::vector<const Trk::Perigee*> GetPerigeeVector( const std::vector<const Trk::TrackParticleBase*>& ) const;
471 
472 
473  template <class Trk>
474  double fitCommonVrt(std::vector<const Trk*>& listSecondTracks,
475  std::vector<float> & trkRank,
476  const xAOD::Vertex & primVrt,
477  const TLorentzVector & jetDir,
478  std::vector<double> & inpMass,
479  Amg::Vector3D & fitVertex,
480  std::vector<double> & errorMatrix,
481  TLorentzVector & momentum,
482  std::vector< std::vector<double> > & trkAtVrt) const;
483 
484  template <class Trk>
485  void removeEntryInList(std::vector<const Trk*>& , std::vector<float>&, int) const;
486  template <class Trk>
487  void removeDoubleEntries(std::vector<const Trk*>& ) const;
488 
489  template <class Particle>
490  StatusCode refitVertex( std::vector<WrkVrt> *WrkVrtSet, int selectedVertex,
491  std::vector<const Particle*> & selectedTracks,
492  Trk::IVKalState& istate,
493  bool ifCovV0) const;
494 
495  template <class Particle>
496  double refitVertex( WrkVrt &Vrt,std::vector<const Particle*> & SelectedTracks,
497  Trk::IVKalState& istate,
498  bool ifCovV0) const;
499 
500  template <class Particle>
501  double mergeAndRefitVertices( std::vector<WrkVrt> *WrkVrtSet, int V1, int V2, WrkVrt & newvrt,
502  std::vector<const Particle*> & AllTrackList,
503  Trk::IVKalState& istate) const;
504  template <class Particle>
505  void mergeAndRefitOverlapVertices( std::vector<WrkVrt> *WrkVrtSet, int V1, int V2,
506  std::vector<const Particle*> & AllTrackLis,
507  Trk::IVKalState& istate) const;
508 
509  template <class Particle>
510  double improveVertexChi2( std::vector<WrkVrt> *WrkVrtSet, int V, std::vector<const Particle*> & AllTracks,
511  Trk::IVKalState& istate,
512  bool ifCovV0) const;
513 
514  int selGoodTrkParticle( const std::vector<const xAOD::TrackParticle*>& inpPart,
515  const xAOD::Vertex & primVrt,
516  const TLorentzVector & jetDir,
517  std::vector<const xAOD::TrackParticle*>& selPart,
518  float evtWgt=1.) const;
519 
520 
521  template <class Trk>
522  int select2TrVrt(std::vector<const Trk*> & SelectedTracks,
523  std::vector<const Trk*> & TracksForFit,
524  const xAOD::Vertex & primVrt,
525  const TLorentzVector & JetDir,
526  std::vector<double> & InpMass,
527  int & nRefPVTrk,
528  std::vector<const Trk*> & TrkFromV0,
529  std::vector<const Trk*> & ListSecondTracks,
530  compatibilityGraph_t & compatibilityGraph,
531  float evtWgt = 1) const;
532 
533  static Amg::MatrixX makeVrtCovMatrix( std::vector<double> & ErrorMatrix ) ;
534 
535 
537 // Needed for TrackParticle<->TrackParticleBase story!!!!
538 //
539 // template <class Track>
540 // StatusCode VKalVrtFitFastBase(const std::vector<const Track*>& listPart,Amg::Vector3D& Vertex) const;
541  StatusCode VKalVrtFitFastBase(const std::vector<const xAOD::TrackParticle*>& listPart,Amg::Vector3D& Vertex, Trk::IVKalState& istate) const;
542 
543  template <class Track>
544  bool check2TrVertexInPixel( const Track* p1, const Track* p2, Amg::Vector3D &, std::vector<double> &) const;
545  template <class Track>
546  bool check1TrVertexInPixel( const Track* p1, Amg::Vector3D &, std::vector<double> & ) const;
547 
548  void getPixelLayers(const xAOD::TrackParticle* Part, int &blHit, int &l1Hit, int &l2Hit, int &nLay) const;
549  static void getPixelDiscs(const xAOD::TrackParticle* Part, int &d0Hit, int &d1Hit, int &d2Hit) ;
550  void getPixelProblems(const xAOD::TrackParticle* Part, int &splshIBL, int &splshBL ) const;
551 
552 
553  StatusCode VKalVrtFitBase(const std::vector<const xAOD::TrackParticle*> & listPart,
555  TLorentzVector& Momentum,
556  long int& Charge,
557  std::vector<double>& ErrorMatrix,
558  std::vector<double>& Chi2PerTrk,
559  std::vector< std::vector<double> >& TrkAtVrt,
560  double& Chi2,
561  Trk::IVKalState& istate,
562  bool ifCovV0) const;
563 
564  StatusCode GetTrkFitWeights(std::vector<double> & wgt,
565  const Trk::IVKalState& istate) const;
566 
567  Hists& getHists() const;
568  };
569 
570 
571  template <class Trk>
572  void InDetVKalVxInJetTool::removeEntryInList(std::vector<const Trk*>& ListTracks, std::vector<float> & rank, int Outlier) const
573  {
574  if(Outlier < 0 ) return;
575  if(Outlier >= (int)ListTracks.size() ) return;
576  ListTracks.erase( ListTracks.begin()+Outlier);
577  rank.erase( rank.begin()+Outlier);
578  }
579 
580  template <class Trk>
581  void InDetVKalVxInJetTool::removeDoubleEntries(std::vector<const Trk*>& ListTracks) const
582  {
583  typename std::vector<const Trk*>::iterator TransfEnd;
584  sort(ListTracks.begin(),ListTracks.end());
585  TransfEnd = unique(ListTracks.begin(),ListTracks.end());
586  ListTracks.erase( TransfEnd, ListTracks.end());
587  }
588 
590  {
591  clique_visitor(std::vector< std::vector<int> > & input): m_allCliques(input){ input.clear();}
592 
593  template <typename Clique, typename Graph>
594  void clique(const Clique& clq, Graph& )
595  {
596  std::vector<int> new_clique(0);
597  for(auto i = clq.begin(); i != clq.end(); ++i) new_clique.push_back(*i);
598  m_allCliques.push_back(new_clique);
599  }
600 
601  std::vector< std::vector<int> > & m_allCliques;
602 
603  };
604 
605  template <class Track>
606  bool InDetVKalVxInJetTool::check1TrVertexInPixel( const Track* p1, Amg::Vector3D &FitVertex, std::vector<double> &VrtCov)
607  const
608  {
609  int blTrk=0, blP=0, l1Trk=0, l1P=0, l2Trk=0, nLays=0;
610  getPixelLayers( p1, blTrk , l1Trk, l2Trk, nLays );
611  getPixelProblems(p1, blP, l1P );
612  double radiusError=vrtRadiusError(FitVertex, VrtCov);
613  double xvt=FitVertex.x();
614  double yvt=FitVertex.y();
615  double R=std::hypot(xvt, yvt);
616  if(R < m_rLayerB-radiusError){ // Inside B-layer
617  if( blTrk<1 && l1Trk<1 ) return false;
618  if( nLays <2 ) return false; // Less than 2 layers on track 0
619  return true;
620  }else if(R > m_rLayerB+radiusError){ // Outside b-layer
621  if( blTrk>0 && blP==0 ) return false; // Good hit in b-layer is present
622  }
623 //
624 // L1 and L2 are considered only if vertex is in acceptance
625 //
626  if(std::abs(FitVertex.z())<400.){
627  if(R < m_rLayer1-radiusError) { // Inside 1st-layer
628  if( l1Trk<1 && l2Trk<1 ) return false; // Less than 1 hits on track 0
629  return true;
630  }else if(R > m_rLayer1+radiusError) { // Outside 1st-layer
631  if( l1Trk>0 && l1P==0 ) return false; // Good L1 hit is present
632  }
633 
634  if(R < m_rLayer2-radiusError) { // Inside 2nd-layer
635  if( l2Trk==0 ) return false; // At least one L2 hit must be present
636  }
637  } else {
638  int d0Trk=0, d1Trk=0, d2Trk=0;
639  getPixelDiscs( p1, d0Trk , d1Trk, d2Trk );
640  if( d0Trk+d1Trk+d2Trk ==0 )return false;
641  }
642  return true;
643  }
644 
645 } //end namespace
646 
647 #endif
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
InDet::InDetVKalVxInJetTool::Hists::m_tuple
TTree * m_tuple
Definition: InDetVKalVxInJetTool.h:127
InDet::InDetVKalVxInJetTool::DevTuple::nVrt
int nVrt
Definition: InDetVKalVxInJetTool.h:313
InDet::InDetVKalVxInJetTool::Hists::m_hb_dstToMat
TH1D * m_hb_dstToMat
Definition: InDetVKalVxInJetTool.h:151
InDet::InDetVKalVxInJetTool::m_cutZVrt
DoubleProperty m_cutZVrt
Definition: InDetVKalVxInJetTool.h:188
base
std::string base
Definition: hcg.cxx:78
InDet::InDetVKalVxInJetTool::Hists::m_hb_ntrkjet
TH1D * m_hb_ntrkjet
Definition: InDetVKalVxInJetTool.h:144
InDet::InDetVKalVxInJetTool::WrkVrt::selTrk
std::deque< long int > selTrk
Definition: InDetVKalVxInJetTool.h:366
InDet::InDetVKalVxInJetTool::WrkVrt
Definition: InDetVKalVxInJetTool.h:365
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3DTot
TH1D * m_hb_sig3DTot
Definition: InDetVKalVxInJetTool.h:156
InDet::InDetVKalVxInJetTool::removeEntryInList
void removeEntryInList(std::vector< const Trk * > &, std::vector< float > &, int) const
Definition: InDetVKalVxInJetTool.h:572
verify_menu_config.results
results
Definition: verify_menu_config.py:67
InDet::InDetVKalVxInJetTool::WrkVrt::nCloseVrt
int nCloseVrt
Definition: InDetVKalVxInJetTool.h:374
InDet::InDetVKalVxInJetTool::DevTuple::NVrtDR
float NVrtDR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:340
InDet::workVectorArrxAOD::TrkFromV0
std::vector< const xAOD::TrackParticle * > TrkFromV0
Definition: InDetVKalVxInJetTool.h:97
InDet::InDetVKalVxInJetTool::Hists::m_hb_massPPi
TH1D * m_hb_massPPi
Definition: InDetVKalVxInJetTool.h:131
InDet::InDetVKalVxInJetTool::DevTuple::SigR
float SigR[maxNTrk]
Definition: InDetVKalVxInJetTool.h:300
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:27
InDet::InDetVKalVxInJetTool::Vrt2Tr
Definition: InDetVKalVxInJetTool.h:344
InDet::InDetVKalVxInJetTool::Hists::m_hb_r2dc
TH1D * m_hb_r2dc
Definition: InDetVKalVxInJetTool.h:148
InDet::InDetVKalVxInJetTool::Hists
Definition: InDetVKalVxInJetTool.h:125
InDet::InDetVKalVxInJetTool::m_cutPixelHits
IntegerProperty m_cutPixelHits
Definition: InDetVKalVxInJetTool.h:179
InDet::InDetVKalVxInJetTool::m_h
std::unique_ptr< Hists > m_h
Definition: InDetVKalVxInJetTool.h:175
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition: Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
InDet::InDetVKalVxInJetTool::m_fitSvc
Trk::TrkVKalVrtFitter * m_fitSvc
Definition: InDetVKalVxInJetTool.h:250
InDet::InDetVKalVxInJetTool::Hists::m_hb_lifetime
TH1F * m_hb_lifetime
Definition: InDetVKalVxInJetTool.h:165
InDet::InDetVKalVxInJetTool::DevTuple::badVrt
int badVrt[maxNVrt]
Definition: InDetVKalVxInJetTool.h:324
InDet::InDetVKalVxInJetTool::getPixelLayers
void getPixelLayers(const xAOD::TrackParticle *Part, int &blHit, int &l1Hit, int &l2Hit, int &nLay) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:441
InDet::InDetVKalVxInJetTool::getG4Inter
static int getG4Inter(const xAOD::TrackParticle *TP)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:629
Jet
Basic data class defines behavior for all Jet objects The Jet class is the principal data class for...
Definition: Reconstruction/Jet/JetEvent/JetEvent/Jet.h:47
InDet::workVectorArrxAOD::InpTrk
std::vector< const xAOD::TrackParticle * > InpTrk
Definition: InDetVKalVxInJetTool.h:95
InDet::InDetVKalVxInJetTool::m_sel2VrtSigCut
DoubleProperty m_sel2VrtSigCut
Definition: InDetVKalVxInJetTool.h:197
InDet::InDetVKalVxInJetTool::getHists
Hists & getHists() const
Definition: InDetVKalVxInJetTool.cxx:395
InDet::InDetVKalVxInJetTool::InDetVKalVxInJetTool
InDetVKalVxInJetTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: InDetVKalVxInJetTool.cxx:29
InDet::InDetVKalVxInJetTool::~InDetVKalVxInJetTool
virtual ~InDetVKalVxInJetTool()
Definition: InDetVKalVxInJetTool.cxx:38
InDet::InDetVKalVxInJetTool::m_timingProfile
ServiceHandle< IChronoStatSvc > m_timingProfile
Definition: InDetVKalVxInJetTool.h:251
InDet::InDetVKalVxInJetTool::DevTuple::etajet
float etajet
Definition: InDetVKalVxInJetTool.h:294
InDet::InDetVKalVxInJetTool::DevTuple::maxNVrt
static const int maxNVrt
Definition: InDetVKalVxInJetTool.h:290
InDet::InDetVKalVxInJetTool::findMax
static int findMax(std::vector< double > &chi2PerTrk, std::vector< float > &rank)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:318
InDet::InDetVKalVxInJetTool::vrtRadiusError
static double vrtRadiusError(const Amg::Vector3D &secVrt, const std::vector< double > &vrtErr)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:262
InDet::InDetVKalVxInJetTool::m_rLayerB
double m_rLayerB
Definition: InDetVKalVxInJetTool.h:221
InDet::InDetVKalVxInJetTool::jetProjDist
static double jetProjDist(Amg::Vector3D &SecVrt, const xAOD::Vertex &primVrt, const TLorentzVector &JetDir)
Definition: BTagVrtSecMulti.cxx:1605
InDet::InDetVKalVxInJetTool::notFromBC
static int notFromBC(int PDGID)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:606
InDet::ISecVertexInJetFinder
Definition: ISecVertexInJetFinder.h:55
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetVKalVxInJetTool::m_pixelManager
const InDetDD::PixelDetectorManager * m_pixelManager
Definition: InDetVKalVxInJetTool.h:268
InDet::InDetVKalVxInJetTool::DevTuple::nVrtT
int nVrtT[maxNTrk]
Definition: InDetVKalVxInJetTool.h:311
InDet::InDetVKalVxInJetTool::DevTuple::pTvsJet
float pTvsJet[maxNTrk]
Definition: InDetVKalVxInJetTool.h:304
InDet::InDetVKalVxInJetTool::m_chiScale
float m_chiScale[11]
Definition: InDetVKalVxInJetTool.h:363
InDet::InDetVKalVxInJetTool::Hists::m_hb_goodvrtN
TH1F * m_hb_goodvrtN
Definition: InDetVKalVxInJetTool.h:157
InDet::InDetVKalVxInJetTool::DevTuple::jtrk
int jtrk[maxNVrt]
Definition: InDetVKalVxInJetTool.h:323
TRTCalib_cfilter.p1
p1
Definition: TRTCalib_cfilter.py:130
InDet::InDetVKalVxInJetTool::Hists::m_hb_impactRZ
TH2D * m_hb_impactRZ
Definition: InDetVKalVxInJetTool.h:142
InDet::InDetVKalVxInJetTool::m_cutSiHits
IntegerProperty m_cutSiHits
Definition: InDetVKalVxInJetTool.h:181
InDet::InDetVKalVxInJetTool::m_coneForTag
DoubleProperty m_coneForTag
Definition: InDetVKalVxInJetTool.h:193
InDet::InDetVKalVxInJetTool::Hists::m_hb_trkD0
TH1D * m_hb_trkD0
Definition: InDetVKalVxInJetTool.h:143
InDet::workVectorArrxAOD::FoundSecondTracks
std::vector< std::vector< const xAOD::TrackParticle * > > FoundSecondTracks
Definition: InDetVKalVxInJetTool.h:96
InDet::InDetVKalVxInJetTool::m_useVertexCleaningPix
BooleanProperty m_useVertexCleaningPix
Definition: InDetVKalVxInJetTool.h:226
InDet::InDetVKalVxInJetTool::m_beampipeR
double m_beampipeR
Definition: InDetVKalVxInJetTool.h:220
InDet::InDetVKalVxInJetTool::DevTuple::d0
float d0[maxNTrk]
Definition: InDetVKalVxInJetTool.h:302
InDet::InDetVKalVxInJetTool::WrkVrt::trkAtVrt
std::vector< std::vector< double > > trkAtVrt
Definition: InDetVKalVxInJetTool.h:372
InDet::InDetVKalVxInJetTool::minVrtVrtDist
double minVrtVrtDist(std::vector< WrkVrt > *WrkVrtSet, int &V1, int &V2) const
Definition: BTagVrtSecMulti.cxx:1263
InDet::InDetVKalVxInJetTool::m_trackDetachCut
DoubleProperty m_trackDetachCut
Definition: InDetVKalVxInJetTool.h:245
InDet::InDetVKalVxInJetTool::Vrt2Tr::vertexCharge
long int vertexCharge
Definition: InDetVKalVxInJetTool.h:348
InDet::workVectorArrxAOD::tmpListTracks
std::vector< const xAOD::TrackParticle * > tmpListTracks
Definition: InDetVKalVxInJetTool.h:92
InDet::InDetVKalVxInJetTool::Hists::m_hb_deltaRSVPV
TH1F * m_hb_deltaRSVPV
Definition: InDetVKalVxInJetTool.h:167
InDet::InDetVKalVxInJetTool::DevTuple::itHF
int itHF[maxNVrt]
Definition: InDetVKalVxInJetTool.h:329
InDet::InDetVKalVxInJetTool::WrkVrt::Good
bool Good
Definition: InDetVKalVxInJetTool.h:365
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:147
InDet::InDetVKalVxInJetTool::DevTuple::prodTJ
float prodTJ[maxNTrk]
Definition: InDetVKalVxInJetTool.h:305
InDet::InDetVKalVxInJetTool::massV0
static double massV0(std::vector< std::vector< double > > &trkAtVrt, double massP, double massPi)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:292
InDet::InDetVKalVxInJetTool::Vrt2Tr::momentum
TLorentzVector momentum
Definition: InDetVKalVxInJetTool.h:347
InDet::InDetVKalVxInJetTool::WrkVrt::vertexMom
TLorentzVector vertexMom
Definition: InDetVKalVxInJetTool.h:368
InDet::InDetVKalVxInJetTool::DevTuple::etatrk
float etatrk[maxNTrk]
Definition: InDetVKalVxInJetTool.h:296
SG::ReadHandleKey< xAOD::EventInfo >
InDetTrkInJetType.h
InDet::InDetVKalVxInJetTool::DevTuple::mass
float mass[maxNVrt]
Definition: InDetVKalVxInJetTool.h:320
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmass2T2
TH1D * m_hb_totmass2T2
Definition: InDetVKalVxInJetTool.h:136
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmassEE
TH1D * m_hb_totmassEE
Definition: InDetVKalVxInJetTool.h:133
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrt2trEta
TProfile * m_pr_effVrt2trEta
Definition: InDetVKalVxInJetTool.h:171
InDet::InDetVKalVxInJetTool::Hists::m_hb_diffPS
TH1D * m_hb_diffPS
Definition: InDetVKalVxInJetTool.h:159
InDet::InDetVKalVxInJetTool::DevTuple::nNVrt
int nNVrt
Definition: InDetVKalVxInJetTool.h:331
InDet::InDetVKalVxInJetTool::m_useFrozenVersion
BooleanProperty m_useFrozenVersion
Definition: InDetVKalVxInJetTool.h:210
ISecVertexInJetFinder.h
InDet::InDetVKalVxInJetTool::Hists::m_hb_massEE
TH1D * m_hb_massEE
Definition: InDetVKalVxInJetTool.h:132
InDet::InDetVKalVxInJetTool::WrkVrt::projectedVrt
double projectedVrt
Definition: InDetVKalVxInJetTool.h:376
InDet::InDetVKalVxInJetTool::mergeAndRefitVertices
double mergeAndRefitVertices(std::vector< WrkVrt > *WrkVrtSet, int V1, int V2, WrkVrt &newvrt, std::vector< const Particle * > &AllTrackList, Trk::IVKalState &istate) const
Definition: BTagVrtSecMulti.cxx:1338
InDet::InDetVKalVxInJetTool::Hists::m_pr_NSelTrkMean
TProfile * m_pr_NSelTrkMean
Definition: InDetVKalVxInJetTool.h:169
InDet::InDetVKalVxInJetTool::DevTuple::VrtSig2D
float VrtSig2D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:316
InDet::InDetVKalVxInJetTool::fillNVrtNTup
void fillNVrtNTup(std::vector< WrkVrt > &vrtSet, std::vector< std::vector< float > > &trkScore, const xAOD::Vertex &primVrt, const TLorentzVector &jetDir) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:550
InDet::InDetVKalVxInJetTool::Hists::m_hb_impact
TH1D * m_hb_impact
Definition: InDetVKalVxInJetTool.h:140
InDet::InDetVKalVxInJetTool::Hists::m_hb_r3dc
TH1D * m_hb_r3dc
Definition: InDetVKalVxInJetTool.h:149
InDet::InDetVKalVxInJetTool::Hists::m_curTup
DevTuple * m_curTup
Definition: InDetVKalVxInJetTool.h:128
InDet::InDetVKalVxInJetTool::fillVrtNTup
void fillVrtNTup(std::vector< Vrt2Tr > &all2TrVrt) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:524
InDet::InDetVKalVxInJetTool::Vrt2Tr::fitVertex
Amg::Vector3D fitVertex
Definition: InDetVKalVxInJetTool.h:346
InDet::InDetVKalVxInJetTool::Hists::m_hb_impactR
TH1D * m_hb_impactR
Definition: InDetVKalVxInJetTool.h:141
InDet::InDetVKalVxInJetTool::DevTuple::wgtB
float wgtB[maxNTrk]
Definition: InDetVKalVxInJetTool.h:306
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3D2tr
TH1D * m_hb_sig3D2tr
Definition: InDetVKalVxInJetTool.h:161
InDet::InDetVKalVxInJetTool::findSecVertex
Trk::VxSecVertexInfo * findSecVertex(const xAOD::Vertex &primaryVertex, const TLorentzVector &jetMomentum, const std::vector< const xAOD::IParticle * > &inputTracks) const
Definition: InDetVKalVxInJetTool.cxx:303
InDet::workVectorArrxAOD::listJetTracks
std::vector< const xAOD::TrackParticle * > listJetTracks
Definition: InDetVKalVxInJetTool.h:91
InDet::InDetVKalVxInJetTool::GetTrkFitWeights
StatusCode GetTrkFitWeights(std::vector< double > &wgt, const Trk::IVKalState &istate) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:435
InDet::InDetVKalVxInJetTool::m_rLayer1
double m_rLayer1
Definition: InDetVKalVxInJetTool.h:222
InDet::InDetVKalVxInJetTool::WrkVrt::vertexCharge
long int vertexCharge
Definition: InDetVKalVxInJetTool.h:369
TRTCalib_cfilter.p2
p2
Definition: TRTCalib_cfilter.py:131
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmass2T0
TH1D * m_hb_totmass2T0
Definition: InDetVKalVxInJetTool.h:134
InDet::InDetVKalVxInJetTool::Vrt2Tr::j
int j
Definition: InDetVKalVxInJetTool.h:344
InDet::InDetVKalVxInJetTool::DevTuple::ewgt
float ewgt
Definition: InDetVKalVxInJetTool.h:292
InDet::InDetVKalVxInJetTool::DevTuple::VrtDR
float VrtDR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:317
InDet::InDetVKalVxInJetTool::printWrkSet
void printWrkSet(const std::vector< WrkVrt > *WrkSet, const std::string &name) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:80
InDet::InDetVKalVxInJetTool::Vrt2Tr::dRSVPV
double dRSVPV
Definition: InDetVKalVxInJetTool.h:356
InDet::InDetVKalVxInJetTool::DevTuple::ibl
int ibl[maxNVrt]
Definition: InDetVKalVxInJetTool.h:325
InDet::InDetVKalVxInJetTool::VKalVrtFitBase
StatusCode VKalVrtFitBase(const std::vector< const xAOD::TrackParticle * > &listPart, Amg::Vector3D &Vertex, TLorentzVector &Momentum, long int &Charge, std::vector< double > &ErrorMatrix, std::vector< double > &Chi2PerTrk, std::vector< std::vector< double > > &TrkAtVrt, double &Chi2, Trk::IVKalState &istate, bool ifCovV0) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:417
ParticleGun_EoverP_Config.momentum
momentum
Definition: ParticleGun_EoverP_Config.py:63
InDet::InDetVKalVxInJetTool::m_useTrackClassificator
bool m_useTrackClassificator
Definition: InDetVKalVxInJetTool.h:253
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:183
InDet::InDetVKalVxInJetTool::DevTuple::TotM
float TotM
Definition: InDetVKalVxInJetTool.h:312
lumiFormat.i
int i
Definition: lumiFormat.py:85
InDet::InDetVKalVxInJetTool::getPixelProblems
void getPixelProblems(const xAOD::TrackParticle *Part, int &splshIBL, int &splshBL) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:487
InDet::InDetVKalVxInJetTool::Hists::m_hb_r1dc
TH1D * m_hb_r1dc
Definition: InDetVKalVxInJetTool.h:147
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
InDet::InDetVKalVxInJetTool::m_useEtaDependentCuts
bool m_useEtaDependentCuts
Definition: InDetVKalVxInJetTool.h:259
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::InDetVKalVxInJetTool::DevTuple::ptjet
float ptjet
Definition: InDetVKalVxInJetTool.h:293
InDet::InDetVKalVxInJetTool::totalMom
TLorentzVector totalMom(const std::vector< const Trk::Perigee * > &inpTrk) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:354
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmass
TH1D * m_hb_totmass
Definition: InDetVKalVxInJetTool.h:139
InDet::InDetVKalVxInJetTool::m_multiVertex
BooleanProperty m_multiVertex
Definition: InDetVKalVxInJetTool.h:232
InDet::InDetVKalVxInJetTool::DevTuple::s_prob
float s_prob[maxNTrk]
Definition: InDetVKalVxInJetTool.h:298
InDet::InDetVKalVxInJetTool::m_cutSharedHits
IntegerProperty m_cutSharedHits
Definition: InDetVKalVxInJetTool.h:185
InDet::InDetVKalVxInJetTool::finalize
StatusCode finalize()
Definition: InDetVKalVxInJetTool.cxx:293
AmgVector
AmgVector(4) T2BSTrackFilterTool
Definition: T2BSTrackFilterTool.cxx:114
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrtEta
TProfile * m_pr_effVrtEta
Definition: InDetVKalVxInJetTool.h:173
InDet::InDetVKalVxInJetTool::DevTuple::NVrtDist2D
float NVrtDist2D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:332
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmass2T1
TH1D * m_hb_totmass2T1
Definition: InDetVKalVxInJetTool.h:135
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
AthAlgTool.h
InDet::InDetVKalVxInJetTool::m_cutChi2
DoubleProperty m_cutChi2
Definition: InDetVKalVxInJetTool.h:190
InDet::InDetVKalVxInJetTool::DevTuple::chg
int chg[maxNTrk]
Definition: InDetVKalVxInJetTool.h:310
InDet::workVectorArrxAOD
Definition: InDetVKalVxInJetTool.h:90
InDet::InDetVKalVxInJetTool::Hists::m_hb_massPiPi
TH1D * m_hb_massPiPi
Definition: InDetVKalVxInJetTool.h:129
test_pyathena.parent
parent
Definition: test_pyathena.py:15
MuonSegmentReaderConfig.histSvc
histSvc
Definition: MuonSegmentReaderConfig.py:96
InDet::InDetVKalVxInJetTool::m_secTrkChi2Cut
DoubleProperty m_secTrkChi2Cut
Definition: InDetVKalVxInJetTool.h:191
InDet::InDetVKalVxInJetTool::Vrt2Tr::errorMatrix
std::vector< double > errorMatrix
Definition: InDetVKalVxInJetTool.h:349
InDet::InDetVKalVxInJetTool::Vrt2Tr::signif3DProj
double signif3DProj
Definition: InDetVKalVxInJetTool.h:353
InDet::InDetVKalVxInJetTool::m_cutBVrtScore
DoubleProperty m_cutBVrtScore
Definition: InDetVKalVxInJetTool.h:205
InDet::InDetVKalVxInJetTool::m_beamPipeMgr
const BeamPipeDetectorManager * m_beamPipeMgr
Definition: InDetVKalVxInJetTool.h:267
InDet::InDetVKalVxInJetTool::WrkVrt::vertex
Amg::Vector3D vertex
Definition: InDetVKalVxInJetTool.h:367
InDet::InDetVKalVxInJetTool::getMCPileup
static int getMCPileup(const xAOD::TrackParticle *TP)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:638
InDet::InDetVKalVxInJetTool::selGoodTrkParticle
int selGoodTrkParticle(const std::vector< const xAOD::TrackParticle * > &inpPart, const xAOD::Vertex &primVrt, const TLorentzVector &jetDir, std::vector< const xAOD::TrackParticle * > &selPart, float evtWgt=1.) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/CutTrk.cxx:103
InDet::InDetVKalVxInJetTool::removeDoubleEntries
void removeDoubleEntries(std::vector< const Trk * > &) const
Definition: InDetVKalVxInJetTool.h:581
InDet::InDetVKalVxInJetTool::rankBTrk
double rankBTrk(double TrkPt, double JetPt, double Signif) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:21
InDet::InDetVKalVxInJetTool::DevTuple::itrk
int itrk[maxNVrt]
Definition: InDetVKalVxInJetTool.h:322
InDet::InDetVKalVxInJetTool::m_vrt2TrMassLimit
DoubleProperty m_vrt2TrMassLimit
Definition: InDetVKalVxInJetTool.h:207
InDet::InDetVKalVxInJetTool::m_cutSctHits
IntegerProperty m_cutSctHits
Definition: InDetVKalVxInJetTool.h:177
InDet::InDetVKalVxInJetTool::disassembleVertex
void disassembleVertex(std::vector< WrkVrt > *WrkVrtSet, int iv, std::vector< const Particle * > AllTracks, Trk::IVKalState &istate) const
Definition: BTagVrtSecMulti.cxx:947
InDet::InDetVKalVxInJetTool::m_cutBLayHits
IntegerProperty m_cutBLayHits
Definition: InDetVKalVxInJetTool.h:183
InDet::clique_visitor
Definition: InDetVKalVxInJetTool.h:590
InDet::InDetVKalVxInJetTool::m_ITkPixMaterialMap
std::unique_ptr< TH2D > m_ITkPixMaterialMap
Definition: InDetVKalVxInJetTool.h:269
dvect
std::vector< double > dvect
Definition: InDetVKalVxInJetTool.h:83
InDet::InDetVKalVxInJetTool::Vrt2Tr::chi2
double chi2
Definition: InDetVKalVxInJetTool.h:355
InDet::InDetVKalVxInJetTool::m_rejectBadVertices
BooleanProperty m_rejectBadVertices
Definition: InDetVKalVxInJetTool.h:230
InDet::InDetVKalVxInJetTool::getVrtSecMulti
std::vector< xAOD::Vertex * > getVrtSecMulti(workVectorArrxAOD *, const xAOD::Vertex &primVrt, const TLorentzVector &jetDir, std::vector< double > &results, compatibilityGraph_t &compatibilityGraph) const
Definition: BTagVrtSecMulti.cxx:41
InDet::InDetVKalVxInJetTool::VKalVrtFitFastBase
StatusCode VKalVrtFitFastBase(const std::vector< const xAOD::TrackParticle * > &listPart, Amg::Vector3D &Vertex, Trk::IVKalState &istate) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:408
InDet::InDetVKalVxInJetTool::m_massE
const double m_massE
Definition: InDetVKalVxInJetTool.h:273
InDet::InDetVKalVxInJetTool::DevTuple
Definition: InDetVKalVxInJetTool.h:288
InDet::clique_visitor::clique_visitor
clique_visitor(std::vector< std::vector< int > > &input)
Definition: InDetVKalVxInJetTool.h:591
InDet::InDetVKalVxInJetTool::DevTuple::wgtG
float wgtG[maxNTrk]
Definition: InDetVKalVxInJetTool.h:308
InDet::InDetVKalVxInJetTool::DevTuple::phijet
float phijet
Definition: InDetVKalVxInJetTool.h:295
InDet::InDetVKalVxInJetTool::DevTuple::Z0
float Z0[maxNTrk]
Definition: InDetVKalVxInJetTool.h:303
InDet::InDetVKalVxInJetTool::DevTuple::NVrtM
float NVrtM[maxNVrt]
Definition: InDetVKalVxInJetTool.h:336
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::workVectorArrxAOD::listSecondTracks
std::vector< const xAOD::TrackParticle * > listSecondTracks
Definition: InDetVKalVxInJetTool.h:93
InDet::InDetVKalVxInJetTool::Hists::m_hb_massPiPi1
TH1D * m_hb_massPiPi1
Definition: InDetVKalVxInJetTool.h:130
InDet::InDetVKalVxInJetTool::m_cutPt
DoubleProperty m_cutPt
Definition: InDetVKalVxInJetTool.h:187
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
InDet::InDetVKalVxInJetTool::isPart
static bool isPart(std::deque< long int > test, std::deque< long int > base)
Definition: BTagVrtSecMulti.cxx:1596
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
InDet::InDetVKalVxInJetTool::Vrt2Tr::signif3D
double signif3D
Definition: InDetVKalVxInJetTool.h:352
InDet::InDetVKalVxInJetTool::initialize
StatusCode initialize()
Definition: InDetVKalVxInJetTool.cxx:43
InDet::InDetVKalVxInJetTool::DevTuple::nTrkInJet
int nTrkInJet
Definition: InDetVKalVxInJetTool.h:291
InDet::InDetVKalVxInJetTool::getIdHF
static int getIdHF(const xAOD::TrackParticle *TP)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:578
InDet::InDetVKalVxInJetTool::m_rLayer2
double m_rLayer2
Definition: InDetVKalVxInJetTool.h:223
InDet::InDetVKalVxInJetTool::getBDir
TLorentzVector getBDir(const xAOD::TrackParticle *trk1, const xAOD::TrackParticle *trk2, const xAOD::Vertex &primVrt, Amg::Vector3D &V1, Amg::Vector3D &V2) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:42
InDet::InDetVKalVxInJetTool::m_etaDependentCutsSvc
ServiceHandle< InDet::IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
service to get cut values depending on different variable
Definition: InDetVKalVxInJetTool.h:262
InDet::InDetVKalVxInJetTool::trackClassification
static void trackClassification(std::vector< WrkVrt > *wrkVrtSet, std::vector< std::deque< long int > > *trkInVrt)
Definition: BTagVrtSecMulti.cxx:1082
InDet::InDetVKalVxInJetTool::Vrt2Tr::trkAtVrt
std::vector< std::vector< double > > trkAtVrt
Definition: InDetVKalVxInJetTool.h:351
Trk::VxSecVertexInfo
Definition: VxSecVertexInfo.h:63
InDet::InDetVKalVxInJetTool::m_massB
const double m_massB
Definition: InDetVKalVxInJetTool.h:276
InDet::InDetVKalVxInJetTool::Hists::m_hb_rawVrtN
TH1F * m_hb_rawVrtN
Definition: InDetVKalVxInJetTool.h:164
InDet::InDetVKalVxInJetTool::m_fillHist
BooleanProperty m_fillHist
Definition: InDetVKalVxInJetTool.h:212
InDet::clique_visitor::m_allCliques
std::vector< std::vector< int > > & m_allCliques
Definition: InDetVKalVxInJetTool.h:601
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDet::InDetVKalVxInJetTool::Hists::m_hb_r2d
TH1D * m_hb_r2d
Definition: InDetVKalVxInJetTool.h:146
InDet::InDetVKalVxInJetTool::DevTuple::SigZ
float SigZ[maxNTrk]
Definition: InDetVKalVxInJetTool.h:301
InDet::InDetVKalVxInJetTool::refitVertex
StatusCode refitVertex(std::vector< WrkVrt > *WrkVrtSet, int selectedVertex, std::vector< const Particle * > &selectedTracks, Trk::IVKalState &istate, bool ifCovV0) const
Definition: BTagVrtSecMulti.cxx:1550
InDet::InDetVKalVxInJetTool::DevTuple::wgtL
float wgtL[maxNTrk]
Definition: InDetVKalVxInJetTool.h:307
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrt2tr
TProfile * m_pr_effVrt2tr
Definition: InDetVKalVxInJetTool.h:170
InDet::InDetVKalVxInJetTool::Vrt2Tr::chi2PerTrk
std::vector< double > chi2PerTrk
Definition: InDetVKalVxInJetTool.h:350
InDet::InDetVKalVxInJetTool::WrkVrt::vertexCov
std::vector< double > vertexCov
Definition: InDetVKalVxInJetTool.h:370
InDet::InDetVKalVxInJetTool::clean1TrVertexSet
static void clean1TrVertexSet(std::vector< WrkVrt > *WrkVrtSet)
Definition: BTagVrtSecMulti.cxx:1026
InDet::InDetVKalVxInJetTool::DevTuple::VrtErrR
float VrtErrR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:319
InDet::InDetVKalVxInJetTool::removeTrackFromVertex
void removeTrackFromVertex(std::vector< WrkVrt > *wrkVrtSet, std::vector< std::deque< long int > > *trkInVrt, long int &selectedTrack, long int &selectedVertex) const
Definition: BTagVrtSecMulti.cxx:1188
EventInfo.h
InDet::InDetVKalVxInJetTool::m_useVertexCleaningFMP
BooleanProperty m_useVertexCleaningFMP
Definition: InDetVKalVxInJetTool.h:228
InDet::InDetVKalVxInJetTool::WrkVrt::chi2
double chi2
Definition: InDetVKalVxInJetTool.h:373
InDet::InDetVKalVxInJetTool::DevTuple::NVrtAveW
float NVrtAveW[maxNVrt]
Definition: InDetVKalVxInJetTool.h:339
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3D1tr
TH1D * m_hb_sig3D1tr
Definition: InDetVKalVxInJetTool.h:160
InDet::InDetVKalVxInJetTool::m_sel2VrtChi2Cut
DoubleProperty m_sel2VrtChi2Cut
Definition: InDetVKalVxInJetTool.h:195
InDet::InDetVKalVxInJetTool::m_fitter
ToolHandle< Trk::IVertexFitter > m_fitter
Definition: InDetVKalVxInJetTool.h:249
InDet::InDetVKalVxInJetTool::Hists::m_hb_distVV
TH1D * m_hb_distVV
Definition: InDetVKalVxInJetTool.h:158
InDet::InDetVKalVxInJetTool::Hists::m_hb_jmom
TH1D * m_hb_jmom
Definition: InDetVKalVxInJetTool.h:152
InDet::InDetVKalVxInJetTool::getPixelDiscs
static void getPixelDiscs(const xAOD::TrackParticle *Part, int &d0Hit, int &d1Hit, int &d2Hit)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:501
InDet::InDetVKalVxInJetTool::m_zTrkErrorCut
DoubleProperty m_zTrkErrorCut
Definition: InDetVKalVxInJetTool.h:203
InDet::InDetVKalVxInJetTool::m_useITkMaterialRejection
BooleanProperty m_useITkMaterialRejection
Definition: InDetVKalVxInJetTool.h:265
InDet::InDetVKalVxInJetTool::mergeAndRefitOverlapVertices
void mergeAndRefitOverlapVertices(std::vector< WrkVrt > *WrkVrtSet, int V1, int V2, std::vector< const Particle * > &AllTrackLis, Trk::IVKalState &istate) const
Definition: BTagVrtSecMulti.cxx:1387
InDet::InDetVKalVxInJetTool::MaxOfShared
static double MaxOfShared(std::vector< WrkVrt > *WrkVrtSet, std::vector< std::deque< long int > > *trkInVrt, long int &selectedTrack, long int &selectedVertex)
Definition: BTagVrtSecMulti.cxx:1100
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrt
TProfile * m_pr_effVrt
Definition: InDetVKalVxInJetTool.h:172
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
InDet::InDetVKalVxInJetTool::momAtVrt
TLorentzVector momAtVrt(const std::vector< double > &inpTrk) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:385
InDet::InDetVKalVxInJetTool::getVrtSec
xAOD::Vertex * getVrtSec(const std::vector< const xAOD::TrackParticle * > &inpTrk, const xAOD::Vertex &primVrt, const TLorentzVector &jetDir, std::vector< double > &results, std::vector< const xAOD::TrackParticle * > &selSecTrk, std::vector< const xAOD::TrackParticle * > &trkFromV0, int &nRefPVTrk, compatibilityGraph_t &compatibilityGraph) const
Definition: BTagVrtSec.cxx:69
InDet::InDetVKalVxInJetTool::DevTuple::NVrtNT
int NVrtNT[maxNVrt]
Definition: InDetVKalVxInJetTool.h:334
Trk::IVKalState
Definition: IVKalState.h:21
InDet::InDetVKalVxInJetTool::DevTuple::VrtdRtt
float VrtdRtt[maxNVrt]
Definition: InDetVKalVxInJetTool.h:318
InDet::InDetVKalVxInJetTool::m_rLayer3
double m_rLayer3
Definition: InDetVKalVxInJetTool.h:224
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
InDet::InDetVKalVxInJetTool::getPreviousParent
static const xAOD::TruthParticle * getPreviousParent(const xAOD::TruthParticle *child, int &ParentPDG)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:617
InDet::InDetVKalVxInJetTool::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: InDetVKalVxInJetTool.h:257
InDet::InDetVKalVxInJetTool::DevTuple::NVrtSig3D
float NVrtSig3D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:333
InDet::InDetVKalVxInJetTool::DevTuple::Chi2
float Chi2[maxNVrt]
Definition: InDetVKalVxInJetTool.h:321
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::InDetVKalVxInJetTool::DevTuple::sig3D
float sig3D[maxNTrk]
Definition: InDetVKalVxInJetTool.h:309
InDet::InDetVKalVxInJetTool::m_massLam
const double m_massLam
Definition: InDetVKalVxInJetTool.h:275
InDet::clique_visitor::clique
void clique(const Clique &clq, Graph &)
Definition: InDetVKalVxInJetTool.h:594
InDet::InDetVKalVxInJetTool::m_trackClassificator
ToolHandle< IInDetTrkInJetType > m_trackClassificator
Definition: InDetVKalVxInJetTool.h:255
InDet::InDetVKalVxInJetTool::DevTuple::NVrtChi2
float NVrtChi2[maxNVrt]
Definition: InDetVKalVxInJetTool.h:337
InDet::InDetVKalVxInJetTool::cutTrk
StatusCode cutTrk(const std::unordered_map< std::string, double > &TrkVarDouble, const std::unordered_map< std::string, int > &TrkVarInt, float evtWgt=1.) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/CutTrk.cxx:17
InDet::InDetVKalVxInJetTool::DevTuple::p_prob
float p_prob[maxNTrk]
Definition: InDetVKalVxInJetTool.h:297
DetType::Part
Part
Definition: DetType.h:14
InDet::InDetVKalVxInJetTool::improveVertexChi2
double improveVertexChi2(std::vector< WrkVrt > *WrkVrtSet, int V, std::vector< const Particle * > &AllTracks, Trk::IVKalState &istate, bool ifCovV0) const
Definition: BTagVrtSecMulti.cxx:1512
InDet::InDetVKalVxInJetTool::Hists::m_hb_mom
TH1D * m_hb_mom
Definition: InDetVKalVxInJetTool.h:153
InDet::InDetVKalVxInJetTool::Hists::m_hb_rNdc
TH1D * m_hb_rNdc
Definition: InDetVKalVxInJetTool.h:150
InDet::InDetVKalVxInJetTool::fitCommonVrt
double fitCommonVrt(std::vector< const Trk * > &listSecondTracks, std::vector< float > &trkRank, const xAOD::Vertex &primVrt, const TLorentzVector &jetDir, std::vector< double > &inpMass, Amg::Vector3D &fitVertex, std::vector< double > &errorMatrix, TLorentzVector &momentum, std::vector< std::vector< double > > &trkAtVrt) const
InDet::InDetVKalVxInJetTool::m_massPi
const double m_massPi
Definition: InDetVKalVxInJetTool.h:271
InDet::InDetVKalVxInJetTool::WrkVrt::chi2PerTrk
std::vector< double > chi2PerTrk
Definition: InDetVKalVxInJetTool.h:371
InDet::InDetVKalVxInJetTool::GetPerigeeVector
std::vector< const Trk::Perigee * > GetPerigeeVector(const std::vector< const Trk::TrackParticleBase * > &) const
InDet::InDetVKalVxInJetTool::check2TrVertexInPixel
bool check2TrVertexInPixel(const Track *p1, const Track *p2, Amg::Vector3D &, std::vector< double > &) const
Definition: BTagVrtSec.cxx:921
InDet::InDetVKalVxInJetTool::pTvsDir
static double pTvsDir(const Amg::Vector3D &Dir, const std::vector< double > &inpTrk)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:333
InDet::InDetVKalVxInJetTool::m_existIBL
BooleanProperty m_existIBL
Definition: InDetVKalVxInJetTool.h:214
InDet::workVectorArrxAOD::TracksForFit
std::vector< const xAOD::TrackParticle * > TracksForFit
Definition: InDetVKalVxInJetTool.h:94
InDet::InDetVKalVxInJetTool::m_vertexMergeCut
DoubleProperty m_vertexMergeCut
Definition: InDetVKalVxInJetTool.h:243
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
InDet::InDetVKalVxInJetTool::Hists::m_hb_trkPErr
TH1F * m_hb_trkPErr
Definition: InDetVKalVxInJetTool.h:166
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
InDet::InDetVKalVxInJetTool::Hists::m_hb_ratio
TH1D * m_hb_ratio
Definition: InDetVKalVxInJetTool.h:138
InDet::InDetVKalVxInJetTool::Vrt2Tr::signif2D
double signif2D
Definition: InDetVKalVxInJetTool.h:354
InDet::InDetVKalVxInJetTool::m_a0TrkErrorCut
DoubleProperty m_a0TrkErrorCut
Definition: InDetVKalVxInJetTool.h:201
InDet::InDetVKalVxInJetTool::WrkVrt::dCloseVrt
double dCloseVrt
Definition: InDetVKalVxInJetTool.h:375
InDet::InDetVKalVxInJetTool::DevTuple::idMC
int idMC[maxNTrk]
Definition: InDetVKalVxInJetTool.h:299
ReadHandle.h
Handle class for reading from StoreGate.
AthAlgTool
Definition: AthAlgTool.h:26
InDet::InDetVKalVxInJetTool::m_multiWithPrimary
BooleanProperty m_multiWithPrimary
Definition: InDetVKalVxInJetTool.h:234
InDet::InDetVKalVxInJetTool::Hists::m_hb_trkPtMax
TH1D * m_hb_trkPtMax
Definition: InDetVKalVxInJetTool.h:163
OfflineHitType::Outlier
@ Outlier
TruthEventContainer.h
InDet::InDetVKalVxInJetTool::compatibilityGraph_t
boost::adjacency_list< boost::listS, boost::vecS, boost::undirectedS > compatibilityGraph_t
Definition: InDetVKalVxInJetTool.h:362
InDet::InDetVKalVxInJetTool::DevTuple::bl
int bl[maxNVrt]
Definition: InDetVKalVxInJetTool.h:326
InDet::InDetVKalVxInJetTool::Hists::m_hb_nvrt2
TH1D * m_hb_nvrt2
Definition: InDetVKalVxInJetTool.h:137
InDet::InDetVKalVxInJetTool::Hists::m_hb_impactZ
TH1D * m_hb_impactZ
Definition: InDetVKalVxInJetTool.h:145
InDet::InDetVKalVxInJetTool::projSV_PV
static double projSV_PV(const Amg::Vector3D &SV, const xAOD::Vertex &PV, const TLorentzVector &Jet)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:103
IInDetEtaDependentCutsSvc.h
InDet::InDetVKalVxInJetTool::DevTuple::NVrtMaxW
float NVrtMaxW[maxNVrt]
Definition: InDetVKalVxInJetTool.h:338
python.exampleDriverScript.Dir
Dir
Definition: exampleDriverScript.py:20
InDet::InDetVKalVxInJetTool::m_multiWithOneTrkVrt
BooleanProperty m_multiWithOneTrkVrt
Definition: InDetVKalVxInJetTool.h:240
InDet::InDetVKalVxInJetTool::DevTuple::maxNTrk
static const int maxNTrk
Definition: InDetVKalVxInJetTool.h:289
InDet::InDetVKalVxInJetTool::m_cutA0
DoubleProperty m_cutA0
Definition: InDetVKalVxInJetTool.h:189
InDet::InDetVKalVxInJetTool::Vrt2Tr::badVrt
int badVrt
Definition: InDetVKalVxInJetTool.h:345
InDet::InDetVKalVxInJetTool::Hists::m_hb_impV0
TH1D * m_hb_impV0
Definition: InDetVKalVxInJetTool.h:155
InDet::InDetVKalVxInJetTool
Definition: InDetVKalVxInJetTool.h:101
InDet::InDetVKalVxInJetTool::coneDist
static double coneDist(const AmgVector(5) &, const TLorentzVector &)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:276
InDet::InDetVKalVxInJetTool::DevTuple::VrtDist2D
float VrtDist2D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:314
InDet::InDetVKalVxInJetTool::DevTuple::NVrtTrkI
int NVrtTrkI[maxNVrt]
Definition: InDetVKalVxInJetTool.h:335
InDet::InDetVKalVxInJetTool::m_massP
const double m_massP
Definition: InDetVKalVxInJetTool.h:272
TrackParticleContainer.h
InDet::InDetVKalVxInJetTool::Hists::m_hb_signif3D
TH1D * m_hb_signif3D
Definition: InDetVKalVxInJetTool.h:154
InDet::InDetVKalVxInJetTool::getPerigee
static const Trk::Perigee * getPerigee(const xAOD::TrackParticle *)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:401
InDet::InDetVKalVxInJetTool::vrtVrtDist
double vrtVrtDist(const xAOD::Vertex &primVrt, const Amg::Vector3D &SecVrt, const std::vector< double > &VrtErr, double &Signif) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:126
InDet::InDetVKalVxInJetTool::m_massK0
const double m_massK0
Definition: InDetVKalVxInJetTool.h:274
BeamPipeDetectorManager
Definition: BeamPipeDetectorManager.h:14
InDet::InDetVKalVxInJetTool::nTrkCommon
static int nTrkCommon(std::vector< WrkVrt > *WrkVrtSet, int V1, int V2)
Definition: BTagVrtSecMulti.cxx:1238
InDet::InDetVKalVxInJetTool::vrtVrtDist2D
double vrtVrtDist2D(const xAOD::Vertex &primVrt, const Amg::Vector3D &SecVrt, const std::vector< double > &VrtErr, double &Signif) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:160
InDet::InDetVKalVxInJetTool::m_getNegativeTail
BooleanProperty m_getNegativeTail
Definition: InDetVKalVxInJetTool.h:236
InDet::InDetVKalVxInJetTool::Vrt2Tr::i
int i
Definition: InDetVKalVxInJetTool.h:344
InDet::InDetVKalVxInJetTool::DevTuple::VrtSig3D
float VrtSig3D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:315
InDet::InDetVKalVxInJetTool::check1TrVertexInPixel
bool check1TrVertexInPixel(const Track *p1, Amg::Vector3D &, std::vector< double > &) const
Definition: InDetVKalVxInJetTool.h:606
InDet::InDetVKalVxInJetTool::m_trkSigCut
DoubleProperty m_trkSigCut
Definition: InDetVKalVxInJetTool.h:199
InDet::InDetVKalVxInJetTool::WrkVrt::detachedTrack
int detachedTrack
Definition: InDetVKalVxInJetTool.h:377
InDet::InDetVKalVxInJetTool::insideMatLayer
bool insideMatLayer(float, float) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:109
InDet::InDetVKalVxInJetTool::m_getNegativeTag
BooleanProperty m_getNegativeTag
Definition: InDetVKalVxInJetTool.h:238
InDet::InDetVKalVxInJetTool::makeVrtCovMatrix
static Amg::MatrixX makeVrtCovMatrix(std::vector< double > &ErrorMatrix)
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:511
InDet::InDetVKalVxInJetTool::select2TrVrt
int select2TrVrt(std::vector< const Trk * > &SelectedTracks, std::vector< const Trk * > &TracksForFit, const xAOD::Vertex &primVrt, const TLorentzVector &JetDir, std::vector< double > &InpMass, int &nRefPVTrk, std::vector< const Trk * > &TrkFromV0, std::vector< const Trk * > &ListSecondTracks, compatibilityGraph_t &compatibilityGraph, float evtWgt=1) const
InDet::InDetVKalVxInJetTool::DevTuple::fhitR
float fhitR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:327
InDet::InDetVKalVxInJetTool::DevTuple::NTHF
int NTHF
Definition: InDetVKalVxInJetTool.h:328
InDet::InDetVKalVxInJetTool::m_RobustFit
IntegerProperty m_RobustFit
Definition: InDetVKalVxInJetTool.h:217
ServiceHandle< IChronoStatSvc >
Trk::TrkVKalVrtFitter
Definition: TrkVKalVrtFitter.h:67
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3DNtr
TH1D * m_hb_sig3DNtr
Definition: InDetVKalVxInJetTool.h:162
InDet::InDetVKalVxInJetTool::minVrtVrtDistNext
static double minVrtVrtDistNext(std::vector< WrkVrt > *WrkVrtSet, int &V1, int &V2)
Definition: BTagVrtSecMulti.cxx:1312
InDet::InDetVKalVxInJetTool::Hists::book
StatusCode book(ITHistSvc &histSvc, const std::string &histDir)
Definition: InDetVKalVxInJetTool.cxx:138