ATLAS Offline Software
InDetVKalVxInJetTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 "StoreGate/ReadHandle.h"
47 
48 //Remove in boost > 1.76 when the boost iterator issue
49 //is solved see ATLASRECTS-6358
50 #define BOOST_ALLOW_DEPRECATED_HEADERS
51 #include "boost/graph/adjacency_list.hpp"
52 //
56 //
57 //
61 
62 class TH1D;
63 class TH2D;
64 class TH1F;
65 class TProfile;
66 class TTree;
67 class IChronoStatSvc;
68 class ITHistSvc;
69 
70 namespace Trk{
71  class TrkVKalVrtFitter;
72  class IVertexFitter;
73  class IVKalState;
74 }
75 
77 
78 namespace InDetDD {
79  class PixelDetectorManager;
80 }
81 
82 typedef std::vector<double> dvect;
83 
84 
85 //------------------------------------------------------------------------
86 namespace InDet {
87 
88 
90  std::vector<const xAOD::TrackParticle*> listJetTracks;
91  std::vector<const xAOD::TrackParticle*> tmpListTracks;
92  std::vector<const xAOD::TrackParticle*> listSecondTracks;
93  std::vector<const xAOD::TrackParticle*> TracksForFit;
94  std::vector<const xAOD::TrackParticle*> InpTrk;
95  std::vector< std::vector<const xAOD::TrackParticle*> > FoundSecondTracks;
96  std::vector<const xAOD::TrackParticle*> TrkFromV0;
97  };
98 
100  public AthAlgTool, virtual public ISecVertexInJetFinder{
101 
102 
103  public:
104  /* Constructor */
105  InDetVKalVxInJetTool(const std::string& type, const std::string& name, const IInterface* parent);
106  /* Destructor */
107  virtual ~InDetVKalVxInJetTool();
108 
109 
112 
113  Trk::VxSecVertexInfo* findSecVertex(const xAOD::Vertex & primaryVertex,
114  const TLorentzVector & jetMomentum,
115  const std::vector<const xAOD::IParticle*> & inputTracks) const;
116 
117 //------------------------------------------------------------------------------------------------------------------
118 // Private data and functions
119 //
120 
121  private:
122 
123  struct DevTuple;
124  struct Hists {
125  StatusCode book (ITHistSvc& histSvc, const std::string& histDir);
126  TTree* m_tuple{};
167 //--
173  };
174  std::unique_ptr<Hists> m_h;
175 
176  long int m_cutSctHits{};
177  long int m_cutPixelHits{};
178  long int m_cutSiHits{};
179  long int m_cutBLayHits{};
180  long int m_cutSharedHits{};
181  double m_cutPt{};
182  double m_cutZVrt{};
183  double m_cutA0{};
184  double m_cutChi2{};
185  double m_secTrkChi2Cut{};
186  double m_coneForTag{};
188  double m_sel2VrtSigCut{};
189  double m_trkSigCut{};
190  double m_a0TrkErrorCut{};
191  double m_zTrkErrorCut{};
192  double m_cutBVrtScore{};
194 
196  bool m_fillHist{};
197 
198  bool m_existIBL{};
199 
200  long int m_RobustFit{};
201 
202  double m_beampipeR{};
203  double m_rLayerB{};
204  double m_rLayer1{};
205  double m_rLayer2{};
206  double m_rLayer3{};
207 
216 
219 
220 
221  ToolHandle < Trk::IVertexFitter > m_fitterSvc;
223  IChronoStatSvc * m_timingProfile{};
224 
226  ToolHandle < IInDetTrkInJetType > m_trackClassificator;
227  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey {this,"EventInfoName", "EventInfo"};
228 
229  bool m_useEtaDependentCuts = false;
232 
236  std::unique_ptr<TH2D> m_ITkPixMaterialMap;
237 
238  const double m_massPi = 139.5702 ;
239  const double m_massP = 938.272 ;
240  const double m_massE = 0.511 ;
241  const double m_massK0 = 497.648 ;
242  const double m_massLam =1115.683 ;
243  const double m_massB =5279.400 ;
244 
245  std::string m_instanceName;
246 
247 //-------------------------------------------
248 //For ntuples (only for development/tuning!)
249 
250  static int notFromBC(int PDGID) ;
251  static const xAOD::TruthParticle * getPreviousParent(const xAOD::TruthParticle * child, int & ParentPDG) ;
252  static int getIdHF(const xAOD::TrackParticle* TP ) ;
253  static int getG4Inter( const xAOD::TrackParticle* TP ) ;
254  static int getMCPileup(const xAOD::TrackParticle* TP ) ;
255 
256  struct DevTuple
257  {
258  static const int maxNTrk=100;
259  static const int maxNVrt=100;
261  float ewgt;
262  float ptjet;
263  float etajet;
264  float phijet;
265  float etatrk[maxNTrk];
266  float p_prob[maxNTrk];
267  float s_prob[maxNTrk];
268  int idMC[maxNTrk];
269  float SigR[maxNTrk];
270  float SigZ[maxNTrk];
271  float d0[maxNTrk];
272  float Z0[maxNTrk];
273  float pTvsJet[maxNTrk];
274  float prodTJ[maxNTrk];
275  float wgtB[maxNTrk];
276  float wgtL[maxNTrk];
277  float wgtG[maxNTrk];
278  float sig3D[maxNTrk];
279  int chg[maxNTrk];
281  float TotM;
282  int nVrt;
286  float VrtDR[maxNVrt];
287  float VrtdRtt[maxNVrt];
288  float VrtErrR[maxNVrt];
289  float mass[maxNVrt];
290  float Chi2[maxNVrt];
291  int itrk[maxNVrt];
292  int jtrk[maxNVrt];
294  int ibl[maxNVrt];
295  int bl[maxNVrt];
296  float fhitR[maxNVrt];
297  int NTHF;
298  int itHF[maxNVrt];
299  //---
300  int nNVrt;
305  float NVrtM[maxNVrt];
309  float NVrtDR[maxNVrt];
310  };
311 
312  struct Vrt2Tr
313  { int i=0, j=0;
314  int badVrt=0;
316  TLorentzVector momentum;
317  long int vertexCharge;
318  std::vector<double> errorMatrix;
319  std::vector<double> chi2PerTrk;
320  std::vector< std::vector<double> > trkAtVrt;
321  double signif3D=0.;
322  double signif3DProj=0.;
323  double signif2D=0.;
324  double chi2=0.;
325  double dRSVPV=-1.;
326  };
327 
328 
329 // For multivertex version only
330 
331  using compatibilityGraph_t = boost::adjacency_list<boost::listS, boost::vecS, boost::undirectedS>;
332  float m_chiScale[11]{};
333  struct WrkVrt
334  { bool Good=true;
335  std::deque<long int> selTrk;
337  TLorentzVector vertexMom;
338  long int vertexCharge{};
339  std::vector<double> vertexCov;
340  std::vector<double> chi2PerTrk;
341  std::vector< std::vector<double> > trkAtVrt;
342  double chi2{};
343  int nCloseVrt=0;
344  double dCloseVrt=1000000.;
345  double projectedVrt=0.;
347  };
348 
349 
350 // Private technical functions
351 //
352 //
353  xAOD::Vertex* getVrtSec(const std::vector<const xAOD::TrackParticle*> & inpTrk,
354  const xAOD::Vertex & primVrt,
355  const TLorentzVector & jetDir,
356  std::vector<double> & results,
357  std::vector<const xAOD::TrackParticle*> & selSecTrk,
358  std::vector<const xAOD::TrackParticle*> & trkFromV0,
359  int & nRefPVTrk,
360  compatibilityGraph_t & compatibilityGraph) const;
361 
362  std::vector<xAOD::Vertex*> getVrtSecMulti(
364  const xAOD::Vertex& primVrt,
365  const TLorentzVector& jetDir,
366  std::vector<double>& results,
367  compatibilityGraph_t& compatibilityGraph) const;
368 
369  static void trackClassification(std::vector<WrkVrt> *wrkVrtSet,
370  std::vector< std::deque<long int> > *trkInVrt) ;
371 
372  static double MaxOfShared(std::vector<WrkVrt> *WrkVrtSet,
373  std::vector< std::deque<long int> > *trkInVrt,
374  long int & selectedTrack,
375  long int & selectedVertex) ;
376  void removeTrackFromVertex(std::vector<WrkVrt> *wrkVrtSet,
377  std::vector< std::deque<long int> > *trkInVrt,
378  long int & selectedTrack,
379  long int & selectedVertex) const;
380 //
381 //
382 
383  void printWrkSet(const std::vector<WrkVrt> * WrkSet, const std::string& name ) const;
384 
385 
386  StatusCode cutTrk(const std::unordered_map<std::string,double>& TrkVarDouble,
387  const std::unordered_map<std::string,int>& TrkVarInt,
388  float evtWgt=1.) const;
389  static double coneDist(const AmgVector(5) & , const TLorentzVector & ) ;
390 //
391 // Gives correct mass assignment in case of nonequal masses
392  static double massV0( std::vector< std::vector<double> >& trkAtVrt, double massP, double massPi ) ;
393  static int findMax( std::vector<double>& chi2PerTrk, std::vector<float>& rank) ;
394 
395 
396  TLorentzVector totalMom(const std::vector<const Trk::Perigee*>& inpTrk) const;
397  static TLorentzVector totalMom(const std::vector<const xAOD::TrackParticle*>& inpTrk) ;
398  TLorentzVector momAtVrt(const std::vector<double>& inpTrk) const;
399  static double pTvsDir(const Amg::Vector3D &Dir, const std::vector<double>& inpTrk) ;
400  static double vrtRadiusError(const Amg::Vector3D & secVrt, const std::vector<double> & vrtErr) ;
401 
402  bool insideMatLayer(float ,float ) const;
403  void fillVrtNTup( std::vector<Vrt2Tr> & all2TrVrt) const;
404  void fillNVrtNTup(std::vector<WrkVrt> & vrtSet, std::vector< std::vector<float> > & trkScore,
405  const xAOD::Vertex & primVrt, const TLorentzVector & jetDir)const;
406 
407  TLorentzVector getBDir( const xAOD::TrackParticle* trk1,
408  const xAOD::TrackParticle* trk2,
409  const xAOD::Vertex & primVrt,
410  Amg::Vector3D &V1, Amg::Vector3D &V2) const;
411 
412  static int nTrkCommon( std::vector<WrkVrt> *WrkVrtSet, int V1, int V2) ;
413  double minVrtVrtDist( std::vector<WrkVrt> *WrkVrtSet, int & V1, int & V2) const;
414  static double minVrtVrtDistNext( std::vector<WrkVrt> *WrkVrtSet, int & V1, int & V2) ;
415  static bool isPart( std::deque<long int> test, std::deque<long int> base) ;
416  static void clean1TrVertexSet(std::vector<WrkVrt> *WrkVrtSet) ;
417  static double jetProjDist(Amg::Vector3D &SecVrt, const xAOD::Vertex &primVrt, const TLorentzVector &JetDir) ;
418 
419  double vrtVrtDist(const xAOD::Vertex & primVrt, const Amg::Vector3D & SecVrt,
420  const std::vector<double>& VrtErr,double& Signif ) const;
421  double vrtVrtDist2D(const xAOD::Vertex & primVrt, const Amg::Vector3D & SecVrt,
422  const std::vector<double>& VrtErr,double& Signif ) const;
423  double vrtVrtDist(const xAOD::Vertex & primVrt, const Amg::Vector3D & SecVrt,
424  const std::vector<double>& SecVrtErr, const TLorentzVector & JetDir) const;
425  double vrtVrtDist(const Amg::Vector3D & Vrt1, const std::vector<double>& VrtErr1,
426  const Amg::Vector3D & Vrt2, const std::vector<double>& VrtErr2) const;
427 
428  template <class Particle>
429  void disassembleVertex(std::vector<WrkVrt> *WrkVrtSet, int iv,
430  std::vector<const Particle*> AllTracks,
431  Trk::IVKalState& istate) const;
432 
433  static double projSV_PV(const Amg::Vector3D & SV, const xAOD::Vertex & PV, const TLorentzVector & Jet) ;
434 
435  double rankBTrk(double TrkPt, double JetPt, double Signif) const;
436 
437 
438  static const Trk::Perigee* getPerigee( const xAOD::TrackParticle* ) ;
439  std::vector<const Trk::Perigee*> GetPerigeeVector( const std::vector<const Trk::TrackParticleBase*>& ) const;
440 
441 
442  template <class Trk>
443  double fitCommonVrt(std::vector<const Trk*>& listSecondTracks,
444  std::vector<float> & trkRank,
445  const xAOD::Vertex & primVrt,
446  const TLorentzVector & jetDir,
447  std::vector<double> & inpMass,
448  Amg::Vector3D & fitVertex,
449  std::vector<double> & errorMatrix,
450  TLorentzVector & momentum,
451  std::vector< std::vector<double> > & trkAtVrt) const;
452 
453  template <class Trk>
454  void removeEntryInList(std::vector<const Trk*>& , std::vector<float>&, int) const;
455  template <class Trk>
456  void removeDoubleEntries(std::vector<const Trk*>& ) const;
457 
458  template <class Particle>
459  StatusCode refitVertex( std::vector<WrkVrt> *WrkVrtSet, int selectedVertex,
460  std::vector<const Particle*> & selectedTracks,
461  Trk::IVKalState& istate,
462  bool ifCovV0) const;
463 
464  template <class Particle>
465  double refitVertex( WrkVrt &Vrt,std::vector<const Particle*> & SelectedTracks,
466  Trk::IVKalState& istate,
467  bool ifCovV0) const;
468 
469  template <class Particle>
470  double mergeAndRefitVertices( std::vector<WrkVrt> *WrkVrtSet, int V1, int V2, WrkVrt & newvrt,
471  std::vector<const Particle*> & AllTrackList,
472  Trk::IVKalState& istate) const;
473  template <class Particle>
474  void mergeAndRefitOverlapVertices( std::vector<WrkVrt> *WrkVrtSet, int V1, int V2,
475  std::vector<const Particle*> & AllTrackLis,
476  Trk::IVKalState& istate) const;
477 
478  template <class Particle>
479  double improveVertexChi2( std::vector<WrkVrt> *WrkVrtSet, int V, std::vector<const Particle*> & AllTracks,
480  Trk::IVKalState& istate,
481  bool ifCovV0) const;
482 
483  int selGoodTrkParticle( const std::vector<const xAOD::TrackParticle*>& inpPart,
484  const xAOD::Vertex & primVrt,
485  const TLorentzVector & jetDir,
486  std::vector<const xAOD::TrackParticle*>& selPart,
487  float evtWgt=1.) const;
488 
489 
490  template <class Trk>
491  int select2TrVrt(std::vector<const Trk*> & SelectedTracks,
492  std::vector<const Trk*> & TracksForFit,
493  const xAOD::Vertex & primVrt,
494  const TLorentzVector & JetDir,
495  std::vector<double> & InpMass,
496  int & nRefPVTrk,
497  std::vector<const Trk*> & TrkFromV0,
498  std::vector<const Trk*> & ListSecondTracks,
499  compatibilityGraph_t & compatibilityGraph,
500  float evtWgt = 1) const;
501 
502  static Amg::MatrixX makeVrtCovMatrix( std::vector<double> & ErrorMatrix ) ;
503 
504 
506 // Needed for TrackParticle<->TrackParticleBase story!!!!
507 //
508 // template <class Track>
509 // StatusCode VKalVrtFitFastBase(const std::vector<const Track*>& listPart,Amg::Vector3D& Vertex) const;
510  StatusCode VKalVrtFitFastBase(const std::vector<const xAOD::TrackParticle*>& listPart,Amg::Vector3D& Vertex, Trk::IVKalState& istate) const;
511 
512  template <class Track>
513  bool check2TrVertexInPixel( const Track* p1, const Track* p2, Amg::Vector3D &, std::vector<double> &) const;
514  template <class Track>
515  bool check1TrVertexInPixel( const Track* p1, Amg::Vector3D &, std::vector<double> & ) const;
516 
517  void getPixelLayers(const xAOD::TrackParticle* Part, int &blHit, int &l1Hit, int &l2Hit, int &nLay) const;
518  static void getPixelDiscs(const xAOD::TrackParticle* Part, int &d0Hit, int &d1Hit, int &d2Hit) ;
519  void getPixelProblems(const xAOD::TrackParticle* Part, int &splshIBL, int &splshBL ) const;
520 
521 
522  StatusCode VKalVrtFitBase(const std::vector<const xAOD::TrackParticle*> & listPart,
524  TLorentzVector& Momentum,
525  long int& Charge,
526  std::vector<double>& ErrorMatrix,
527  std::vector<double>& Chi2PerTrk,
528  std::vector< std::vector<double> >& TrkAtVrt,
529  double& Chi2,
530  Trk::IVKalState& istate,
531  bool ifCovV0) const;
532 
533  StatusCode GetTrkFitWeights(std::vector<double> & wgt,
534  const Trk::IVKalState& istate) const;
535 
536  Hists& getHists() const;
537  };
538 
539 
540  template <class Trk>
541  void InDetVKalVxInJetTool::removeEntryInList(std::vector<const Trk*>& ListTracks, std::vector<float> & rank, int Outlier) const
542  {
543  if(Outlier < 0 ) return;
544  if(Outlier >= (int)ListTracks.size() ) return;
545  ListTracks.erase( ListTracks.begin()+Outlier);
546  rank.erase( rank.begin()+Outlier);
547  }
548 
549  template <class Trk>
550  void InDetVKalVxInJetTool::removeDoubleEntries(std::vector<const Trk*>& ListTracks) const
551  {
552  typename std::vector<const Trk*>::iterator TransfEnd;
553  sort(ListTracks.begin(),ListTracks.end());
554  TransfEnd = unique(ListTracks.begin(),ListTracks.end());
555  ListTracks.erase( TransfEnd, ListTracks.end());
556  }
557 
559  {
560  clique_visitor(std::vector< std::vector<int> > & input): m_allCliques(input){ input.clear();}
561 
562  template <typename Clique, typename Graph>
563  void clique(const Clique& clq, Graph& )
564  {
565  std::vector<int> new_clique(0);
566  for(auto i = clq.begin(); i != clq.end(); ++i) new_clique.push_back(*i);
567  m_allCliques.push_back(new_clique);
568  }
569 
570  std::vector< std::vector<int> > & m_allCliques;
571 
572  };
573 
574  template <class Track>
575  bool InDetVKalVxInJetTool::check1TrVertexInPixel( const Track* p1, Amg::Vector3D &FitVertex, std::vector<double> &VrtCov)
576  const
577  {
578  int blTrk=0, blP=0, l1Trk=0, l1P=0, l2Trk=0, nLays=0;
579  getPixelLayers( p1, blTrk , l1Trk, l2Trk, nLays );
580  getPixelProblems(p1, blP, l1P );
581  double radiusError=vrtRadiusError(FitVertex, VrtCov);
582  double xvt=FitVertex.x();
583  double yvt=FitVertex.y();
584  double R=std::hypot(xvt, yvt);
585  if(R < m_rLayerB-radiusError){ // Inside B-layer
586  if( blTrk<1 && l1Trk<1 ) return false;
587  if( nLays <2 ) return false; // Less than 2 layers on track 0
588  return true;
589  }else if(R > m_rLayerB+radiusError){ // Outside b-layer
590  if( blTrk>0 && blP==0 ) return false; // Good hit in b-layer is present
591  }
592 //
593 // L1 and L2 are considered only if vertex is in acceptance
594 //
595  if(std::abs(FitVertex.z())<400.){
596  if(R < m_rLayer1-radiusError) { // Inside 1st-layer
597  if( l1Trk<1 && l2Trk<1 ) return false; // Less than 1 hits on track 0
598  return true;
599  }else if(R > m_rLayer1+radiusError) { // Outside 1st-layer
600  if( l1Trk>0 && l1P==0 ) return false; // Good L1 hit is present
601  }
602 
603  if(R < m_rLayer2-radiusError) { // Inside 2nd-layer
604  if( l2Trk==0 ) return false; // At least one L2 hit must be present
605  }
606  } else {
607  int d0Trk=0, d1Trk=0, d2Trk=0;
608  getPixelDiscs( p1, d0Trk , d1Trk, d2Trk );
609  if( d0Trk+d1Trk+d2Trk ==0 )return false;
610  }
611  return true;
612  }
613 
614 } //end namespace
615 
616 #endif
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
InDet::InDetVKalVxInJetTool::Hists::m_tuple
TTree * m_tuple
Definition: InDetVKalVxInJetTool.h:126
InDet::InDetVKalVxInJetTool::DevTuple::nVrt
int nVrt
Definition: InDetVKalVxInJetTool.h:282
InDet::InDetVKalVxInJetTool::Hists::m_hb_dstToMat
TH1D * m_hb_dstToMat
Definition: InDetVKalVxInJetTool.h:150
base
std::string base
Definition: hcg.cxx:78
InDet::InDetVKalVxInJetTool::Hists::m_hb_ntrkjet
TH1D * m_hb_ntrkjet
Definition: InDetVKalVxInJetTool.h:143
InDet::InDetVKalVxInJetTool::WrkVrt::selTrk
std::deque< long int > selTrk
Definition: InDetVKalVxInJetTool.h:335
InDet::InDetVKalVxInJetTool::WrkVrt
Definition: InDetVKalVxInJetTool.h:334
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3DTot
TH1D * m_hb_sig3DTot
Definition: InDetVKalVxInJetTool.h:155
InDet::InDetVKalVxInJetTool::removeEntryInList
void removeEntryInList(std::vector< const Trk * > &, std::vector< float > &, int) const
Definition: InDetVKalVxInJetTool.h:541
InDet::InDetVKalVxInJetTool::WrkVrt::nCloseVrt
int nCloseVrt
Definition: InDetVKalVxInJetTool.h:343
InDet::InDetVKalVxInJetTool::DevTuple::NVrtDR
float NVrtDR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:309
InDet::workVectorArrxAOD::TrkFromV0
std::vector< const xAOD::TrackParticle * > TrkFromV0
Definition: InDetVKalVxInJetTool.h:96
InDet::InDetVKalVxInJetTool::Hists::m_hb_massPPi
TH1D * m_hb_massPPi
Definition: InDetVKalVxInJetTool.h:130
InDet::InDetVKalVxInJetTool::DevTuple::SigR
float SigR[maxNTrk]
Definition: InDetVKalVxInJetTool.h:269
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
InDet::InDetVKalVxInJetTool::m_trackDetachCut
double m_trackDetachCut
Definition: InDetVKalVxInJetTool.h:218
InDet::InDetVKalVxInJetTool::Vrt2Tr
Definition: InDetVKalVxInJetTool.h:313
InDet::InDetVKalVxInJetTool::Hists::m_hb_r2dc
TH1D * m_hb_r2dc
Definition: InDetVKalVxInJetTool.h:147
InDet::InDetVKalVxInJetTool::Hists
Definition: InDetVKalVxInJetTool.h:124
InDet::InDetVKalVxInJetTool::m_vrt2TrMassLimit
double m_vrt2TrMassLimit
Definition: InDetVKalVxInJetTool.h:193
InDet::InDetVKalVxInJetTool::m_h
std::unique_ptr< Hists > m_h
Definition: InDetVKalVxInJetTool.h:174
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:222
InDet::InDetVKalVxInJetTool::m_cutChi2
double m_cutChi2
Definition: InDetVKalVxInJetTool.h:184
InDet::InDetVKalVxInJetTool::Hists::m_hb_lifetime
TH1F * m_hb_lifetime
Definition: InDetVKalVxInJetTool.h:164
InDet::InDetVKalVxInJetTool::DevTuple::badVrt
int badVrt[maxNVrt]
Definition: InDetVKalVxInJetTool.h:293
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::m_cutSctHits
long int m_cutSctHits
Definition: InDetVKalVxInJetTool.h:176
InDet::InDetVKalVxInJetTool::m_cutPt
double m_cutPt
Definition: InDetVKalVxInJetTool.h:181
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:94
InDet::InDetVKalVxInJetTool::getHists
Hists & getHists() const
Definition: InDetVKalVxInJetTool.cxx:493
InDet::InDetVKalVxInJetTool::InDetVKalVxInJetTool
InDetVKalVxInJetTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: InDetVKalVxInJetTool.cxx:30
InDet::InDetVKalVxInJetTool::~InDetVKalVxInJetTool
virtual ~InDetVKalVxInJetTool()
Definition: InDetVKalVxInJetTool.cxx:136
InDet::InDetVKalVxInJetTool::DevTuple::etajet
float etajet
Definition: InDetVKalVxInJetTool.h:263
InDet::InDetVKalVxInJetTool::DevTuple::maxNVrt
static const int maxNVrt
Definition: InDetVKalVxInJetTool.h:259
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:203
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
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetVKalVxInJetTool::m_pixelManager
const InDetDD::PixelDetectorManager * m_pixelManager
Definition: InDetVKalVxInJetTool.h:235
InDet::InDetVKalVxInJetTool::DevTuple::nVrtT
int nVrtT[maxNTrk]
Definition: InDetVKalVxInJetTool.h:280
InDet::InDetVKalVxInJetTool::DevTuple::pTvsJet
float pTvsJet[maxNTrk]
Definition: InDetVKalVxInJetTool.h:273
InDet::InDetVKalVxInJetTool::m_chiScale
float m_chiScale[11]
Definition: InDetVKalVxInJetTool.h:332
InDet::InDetVKalVxInJetTool::Hists::m_hb_goodvrtN
TH1F * m_hb_goodvrtN
Definition: InDetVKalVxInJetTool.h:156
InDet::InDetVKalVxInJetTool::DevTuple::jtrk
int jtrk[maxNVrt]
Definition: InDetVKalVxInJetTool.h:292
InDet::InDetVKalVxInJetTool::m_sel2VrtChi2Cut
double m_sel2VrtChi2Cut
Definition: InDetVKalVxInJetTool.h:187
TH1D
Definition: rootspy.cxx:342
InDet::InDetVKalVxInJetTool::Hists::m_hb_impactRZ
TH2D * m_hb_impactRZ
Definition: InDetVKalVxInJetTool.h:141
InDet::InDetVKalVxInJetTool::m_sel2VrtSigCut
double m_sel2VrtSigCut
Definition: InDetVKalVxInJetTool.h:188
InDet::InDetVKalVxInJetTool::Hists::m_hb_trkD0
TH1D * m_hb_trkD0
Definition: InDetVKalVxInJetTool.h:142
InDet::workVectorArrxAOD::FoundSecondTracks
std::vector< std::vector< const xAOD::TrackParticle * > > FoundSecondTracks
Definition: InDetVKalVxInJetTool.h:95
InDet::InDetVKalVxInJetTool::m_beampipeR
double m_beampipeR
Definition: InDetVKalVxInJetTool.h:202
InDet::InDetVKalVxInJetTool::DevTuple::d0
float d0[maxNTrk]
Definition: InDetVKalVxInJetTool.h:271
InDet::InDetVKalVxInJetTool::WrkVrt::trkAtVrt
std::vector< std::vector< double > > trkAtVrt
Definition: InDetVKalVxInJetTool.h:341
InDet::InDetVKalVxInJetTool::m_timingProfile
IChronoStatSvc * m_timingProfile
Definition: InDetVKalVxInJetTool.h:223
InDet::InDetVKalVxInJetTool::minVrtVrtDist
double minVrtVrtDist(std::vector< WrkVrt > *WrkVrtSet, int &V1, int &V2) const
Definition: BTagVrtSecMulti.cxx:1263
InDet::InDetVKalVxInJetTool::Vrt2Tr::vertexCharge
long int vertexCharge
Definition: InDetVKalVxInJetTool.h:317
InDet::workVectorArrxAOD::tmpListTracks
std::vector< const xAOD::TrackParticle * > tmpListTracks
Definition: InDetVKalVxInJetTool.h:91
InDet::InDetVKalVxInJetTool::Hists::m_hb_deltaRSVPV
TH1F * m_hb_deltaRSVPV
Definition: InDetVKalVxInJetTool.h:166
InDet::InDetVKalVxInJetTool::DevTuple::itHF
int itHF[maxNVrt]
Definition: InDetVKalVxInJetTool.h:298
InDet::InDetVKalVxInJetTool::WrkVrt::Good
bool Good
Definition: InDetVKalVxInJetTool.h:334
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:144
InDet::InDetVKalVxInJetTool::DevTuple::prodTJ
float prodTJ[maxNTrk]
Definition: InDetVKalVxInJetTool.h:274
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:316
InDet::InDetVKalVxInJetTool::m_useITkMaterialRejection
bool m_useITkMaterialRejection
Definition: InDetVKalVxInJetTool.h:233
InDet::InDetVKalVxInJetTool::WrkVrt::vertexMom
TLorentzVector vertexMom
Definition: InDetVKalVxInJetTool.h:337
InDet::InDetVKalVxInJetTool::DevTuple::etatrk
float etatrk[maxNTrk]
Definition: InDetVKalVxInJetTool.h:265
SG::ReadHandleKey< xAOD::EventInfo >
InDetTrkInJetType.h
InDet::InDetVKalVxInJetTool::DevTuple::mass
float mass[maxNVrt]
Definition: InDetVKalVxInJetTool.h:289
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmass2T2
TH1D * m_hb_totmass2T2
Definition: InDetVKalVxInJetTool.h:135
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmassEE
TH1D * m_hb_totmassEE
Definition: InDetVKalVxInJetTool.h:132
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrt2trEta
TProfile * m_pr_effVrt2trEta
Definition: InDetVKalVxInJetTool.h:170
InDet::InDetVKalVxInJetTool::Hists::m_hb_diffPS
TH1D * m_hb_diffPS
Definition: InDetVKalVxInJetTool.h:158
InDet::InDetVKalVxInJetTool::DevTuple::nNVrt
int nNVrt
Definition: InDetVKalVxInJetTool.h:300
InDet::InDetVKalVxInJetTool::m_multiWithPrimary
bool m_multiWithPrimary
Definition: InDetVKalVxInJetTool.h:212
ISecVertexInJetFinder.h
InDet::InDetVKalVxInJetTool::Hists::m_hb_massEE
TH1D * m_hb_massEE
Definition: InDetVKalVxInJetTool.h:131
InDet::InDetVKalVxInJetTool::WrkVrt::projectedVrt
double projectedVrt
Definition: InDetVKalVxInJetTool.h:345
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:168
InDet::InDetVKalVxInJetTool::m_instanceName
std::string m_instanceName
Definition: InDetVKalVxInJetTool.h:245
InDet::InDetVKalVxInJetTool::DevTuple::VrtSig2D
float VrtSig2D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:285
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:139
InDet::InDetVKalVxInJetTool::m_a0TrkErrorCut
double m_a0TrkErrorCut
Definition: InDetVKalVxInJetTool.h:190
InDet::InDetVKalVxInJetTool::Hists::m_hb_r3dc
TH1D * m_hb_r3dc
Definition: InDetVKalVxInJetTool.h:148
InDet::InDetVKalVxInJetTool::Hists::m_curTup
DevTuple * m_curTup
Definition: InDetVKalVxInJetTool.h:127
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:315
InDet::InDetVKalVxInJetTool::Hists::m_hb_impactR
TH1D * m_hb_impactR
Definition: InDetVKalVxInJetTool.h:140
InDet::InDetVKalVxInJetTool::DevTuple::wgtB
float wgtB[maxNTrk]
Definition: InDetVKalVxInJetTool.h:275
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3D2tr
TH1D * m_hb_sig3D2tr
Definition: InDetVKalVxInJetTool.h:160
InDet::InDetVKalVxInJetTool::findSecVertex
Trk::VxSecVertexInfo * findSecVertex(const xAOD::Vertex &primaryVertex, const TLorentzVector &jetMomentum, const std::vector< const xAOD::IParticle * > &inputTracks) const
Definition: InDetVKalVxInJetTool.cxx:401
InDet::workVectorArrxAOD::listJetTracks
std::vector< const xAOD::TrackParticle * > listJetTracks
Definition: InDetVKalVxInJetTool.h:90
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:204
InDet::InDetVKalVxInJetTool::WrkVrt::vertexCharge
long int vertexCharge
Definition: InDetVKalVxInJetTool.h:338
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmass2T0
TH1D * m_hb_totmass2T0
Definition: InDetVKalVxInJetTool.h:133
InDet::InDetVKalVxInJetTool::Vrt2Tr::j
int j
Definition: InDetVKalVxInJetTool.h:313
InDet::InDetVKalVxInJetTool::m_cutZVrt
double m_cutZVrt
Definition: InDetVKalVxInJetTool.h:182
InDet::InDetVKalVxInJetTool::m_fitterSvc
ToolHandle< Trk::IVertexFitter > m_fitterSvc
Definition: InDetVKalVxInJetTool.h:221
InDet::InDetVKalVxInJetTool::DevTuple::ewgt
float ewgt
Definition: InDetVKalVxInJetTool.h:261
InDet::InDetVKalVxInJetTool::DevTuple::VrtDR
float VrtDR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:286
InDet::InDetVKalVxInJetTool::m_cutBVrtScore
double m_cutBVrtScore
Definition: InDetVKalVxInJetTool.h:192
InDet::InDetVKalVxInJetTool::m_trkSigCut
double m_trkSigCut
Definition: InDetVKalVxInJetTool.h:189
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:325
InDet::InDetVKalVxInJetTool::DevTuple::ibl
int ibl[maxNVrt]
Definition: InDetVKalVxInJetTool.h:294
InDet::InDetVKalVxInJetTool::m_multiVertex
bool m_multiVertex
Definition: InDetVKalVxInJetTool.h:211
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:225
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:168
InDet::InDetVKalVxInJetTool::DevTuple::TotM
float TotM
Definition: InDetVKalVxInJetTool.h:281
lumiFormat.i
int i
Definition: lumiFormat.py:92
InDet::InDetVKalVxInJetTool::getPixelProblems
void getPixelProblems(const xAOD::TrackParticle *Part, int &splshIBL, int &splshBL) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:487
InDet::InDetVKalVxInJetTool::m_cutSharedHits
long int m_cutSharedHits
Definition: InDetVKalVxInJetTool.h:180
InDet::InDetVKalVxInJetTool::Hists::m_hb_r1dc
TH1D * m_hb_r1dc
Definition: InDetVKalVxInJetTool.h:146
InDet::InDetVKalVxInJetTool::m_vertexMergeCut
double m_vertexMergeCut
Definition: InDetVKalVxInJetTool.h:217
InDet::InDetVKalVxInJetTool::m_useEtaDependentCuts
bool m_useEtaDependentCuts
Definition: InDetVKalVxInJetTool.h:229
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:262
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:138
InDet::InDetVKalVxInJetTool::DevTuple::s_prob
float s_prob[maxNTrk]
Definition: InDetVKalVxInJetTool.h:267
InDet::InDetVKalVxInJetTool::finalize
StatusCode finalize()
Definition: InDetVKalVxInJetTool.cxx:391
AmgVector
AmgVector(4) T2BSTrackFilterTool
Definition: T2BSTrackFilterTool.cxx:114
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrtEta
TProfile * m_pr_effVrtEta
Definition: InDetVKalVxInJetTool.h:172
InDet::InDetVKalVxInJetTool::DevTuple::NVrtDist2D
float NVrtDist2D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:301
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmass2T1
TH1D * m_hb_totmass2T1
Definition: InDetVKalVxInJetTool.h:134
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
AthAlgTool.h
InDet::InDetVKalVxInJetTool::DevTuple::chg
int chg[maxNTrk]
Definition: InDetVKalVxInJetTool.h:279
InDet::workVectorArrxAOD
Definition: InDetVKalVxInJetTool.h:89
InDet::InDetVKalVxInJetTool::Hists::m_hb_massPiPi
TH1D * m_hb_massPiPi
Definition: InDetVKalVxInJetTool.h:128
test_pyathena.parent
parent
Definition: test_pyathena.py:15
MuonSegmentReaderConfig.histSvc
histSvc
Definition: MuonSegmentReaderConfig.py:96
InDet::InDetVKalVxInJetTool::Vrt2Tr::errorMatrix
std::vector< double > errorMatrix
Definition: InDetVKalVxInJetTool.h:318
InDet::InDetVKalVxInJetTool::Vrt2Tr::signif3DProj
double signif3DProj
Definition: InDetVKalVxInJetTool.h:322
InDet::InDetVKalVxInJetTool::m_existIBL
bool m_existIBL
Definition: InDetVKalVxInJetTool.h:198
InDet::InDetVKalVxInJetTool::m_beamPipeMgr
const BeamPipeDetectorManager * m_beamPipeMgr
Definition: InDetVKalVxInJetTool.h:234
InDet::InDetVKalVxInJetTool::WrkVrt::vertex
Amg::Vector3D vertex
Definition: InDetVKalVxInJetTool.h:336
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
TH2D
Definition: rootspy.cxx:430
InDet::InDetVKalVxInJetTool::m_RobustFit
long int m_RobustFit
Definition: InDetVKalVxInJetTool.h:200
InDet::InDetVKalVxInJetTool::removeDoubleEntries
void removeDoubleEntries(std::vector< const Trk * > &) const
Definition: InDetVKalVxInJetTool.h:550
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:291
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_cutSiHits
long int m_cutSiHits
Definition: InDetVKalVxInJetTool.h:178
InDet::clique_visitor
Definition: InDetVKalVxInJetTool.h:559
InDet::InDetVKalVxInJetTool::m_ITkPixMaterialMap
std::unique_ptr< TH2D > m_ITkPixMaterialMap
Definition: InDetVKalVxInJetTool.h:236
dvect
std::vector< double > dvect
Definition: InDetVKalVxInJetTool.h:82
InDet::InDetVKalVxInJetTool::Vrt2Tr::chi2
double chi2
Definition: InDetVKalVxInJetTool.h:324
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:240
InDet::InDetVKalVxInJetTool::m_getNegativeTail
bool m_getNegativeTail
Definition: InDetVKalVxInJetTool.h:213
InDet::InDetVKalVxInJetTool::DevTuple
Definition: InDetVKalVxInJetTool.h:257
InDet::clique_visitor::clique_visitor
clique_visitor(std::vector< std::vector< int > > &input)
Definition: InDetVKalVxInJetTool.h:560
InDet::InDetVKalVxInJetTool::DevTuple::wgtG
float wgtG[maxNTrk]
Definition: InDetVKalVxInJetTool.h:277
InDet::InDetVKalVxInJetTool::DevTuple::phijet
float phijet
Definition: InDetVKalVxInJetTool.h:264
InDet::InDetVKalVxInJetTool::DevTuple::Z0
float Z0[maxNTrk]
Definition: InDetVKalVxInJetTool.h:272
InDet::InDetVKalVxInJetTool::DevTuple::NVrtM
float NVrtM[maxNVrt]
Definition: InDetVKalVxInJetTool.h:305
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::InDetVKalVxInJetTool::m_coneForTag
double m_coneForTag
Definition: InDetVKalVxInJetTool.h:186
InDet::workVectorArrxAOD::listSecondTracks
std::vector< const xAOD::TrackParticle * > listSecondTracks
Definition: InDetVKalVxInJetTool.h:92
InDet::InDetVKalVxInJetTool::Hists::m_hb_massPiPi1
TH1D * m_hb_massPiPi1
Definition: InDetVKalVxInJetTool.h:129
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
InDet::InDetVKalVxInJetTool::m_cutA0
double m_cutA0
Definition: InDetVKalVxInJetTool.h:183
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:192
InDet::InDetVKalVxInJetTool::Vrt2Tr::signif3D
double signif3D
Definition: InDetVKalVxInJetTool.h:321
InDet::InDetVKalVxInJetTool::initialize
StatusCode initialize()
Definition: InDetVKalVxInJetTool.cxx:141
InDet::InDetVKalVxInJetTool::DevTuple::nTrkInJet
int nTrkInJet
Definition: InDetVKalVxInJetTool.h:260
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:205
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:231
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:320
TProfile
Definition: rootspy.cxx:515
Trk::VxSecVertexInfo
Definition: VxSecVertexInfo.h:63
InDet::InDetVKalVxInJetTool::m_massB
const double m_massB
Definition: InDetVKalVxInJetTool.h:243
InDet::InDetVKalVxInJetTool::Hists::m_hb_rawVrtN
TH1F * m_hb_rawVrtN
Definition: InDetVKalVxInJetTool.h:163
python.ami.results
def results
Definition: ami.py:386
InDet::clique_visitor::m_allCliques
std::vector< std::vector< int > > & m_allCliques
Definition: InDetVKalVxInJetTool.h:570
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:145
InDet::InDetVKalVxInJetTool::DevTuple::SigZ
float SigZ[maxNTrk]
Definition: InDetVKalVxInJetTool.h:270
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:276
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrt2tr
TProfile * m_pr_effVrt2tr
Definition: InDetVKalVxInJetTool.h:169
InDet::InDetVKalVxInJetTool::Vrt2Tr::chi2PerTrk
std::vector< double > chi2PerTrk
Definition: InDetVKalVxInJetTool.h:319
InDet::InDetVKalVxInJetTool::WrkVrt::vertexCov
std::vector< double > vertexCov
Definition: InDetVKalVxInJetTool.h:339
InDet::InDetVKalVxInJetTool::clean1TrVertexSet
static void clean1TrVertexSet(std::vector< WrkVrt > *WrkVrtSet)
Definition: BTagVrtSecMulti.cxx:1026
InDet::InDetVKalVxInJetTool::DevTuple::VrtErrR
float VrtErrR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:288
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::WrkVrt::chi2
double chi2
Definition: InDetVKalVxInJetTool.h:342
InDet::InDetVKalVxInJetTool::DevTuple::NVrtAveW
float NVrtAveW[maxNVrt]
Definition: InDetVKalVxInJetTool.h:308
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3D1tr
TH1D * m_hb_sig3D1tr
Definition: InDetVKalVxInJetTool.h:159
InDet::InDetVKalVxInJetTool::Hists::m_hb_distVV
TH1D * m_hb_distVV
Definition: InDetVKalVxInJetTool.h:157
InDet::InDetVKalVxInJetTool::Hists::m_hb_jmom
TH1D * m_hb_jmom
Definition: InDetVKalVxInJetTool.h:151
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_useVertexCleaningPix
bool m_useVertexCleaningPix
Definition: InDetVKalVxInJetTool.h:208
InDet::InDetVKalVxInJetTool::m_getNegativeTag
bool m_getNegativeTag
Definition: InDetVKalVxInJetTool.h:214
InDet::InDetVKalVxInJetTool::m_cutBLayHits
long int m_cutBLayHits
Definition: InDetVKalVxInJetTool.h:179
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::m_multiWithOneTrkVrt
bool m_multiWithOneTrkVrt
Definition: InDetVKalVxInJetTool.h:215
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrt
TProfile * m_pr_effVrt
Definition: InDetVKalVxInJetTool.h:171
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
TH1F
Definition: rootspy.cxx:320
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:303
Trk::IVKalState
Definition: IVKalState.h:21
InDet::InDetVKalVxInJetTool::DevTuple::VrtdRtt
float VrtdRtt[maxNVrt]
Definition: InDetVKalVxInJetTool.h:287
InDet::InDetVKalVxInJetTool::m_rLayer3
double m_rLayer3
Definition: InDetVKalVxInJetTool.h:206
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:227
InDet::InDetVKalVxInJetTool::DevTuple::NVrtSig3D
float NVrtSig3D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:302
InDet::InDetVKalVxInJetTool::DevTuple::Chi2
float Chi2[maxNVrt]
Definition: InDetVKalVxInJetTool.h:290
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::InDetVKalVxInJetTool::DevTuple::sig3D
float sig3D[maxNTrk]
Definition: InDetVKalVxInJetTool.h:278
InDet::InDetVKalVxInJetTool::m_massLam
const double m_massLam
Definition: InDetVKalVxInJetTool.h:242
InDet::clique_visitor::clique
void clique(const Clique &clq, Graph &)
Definition: InDetVKalVxInJetTool.h:563
InDet::InDetVKalVxInJetTool::m_trackClassificator
ToolHandle< IInDetTrkInJetType > m_trackClassificator
Definition: InDetVKalVxInJetTool.h:226
InDet::InDetVKalVxInJetTool::DevTuple::NVrtChi2
float NVrtChi2[maxNVrt]
Definition: InDetVKalVxInJetTool.h:306
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:266
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:152
InDet::InDetVKalVxInJetTool::m_secTrkChi2Cut
double m_secTrkChi2Cut
Definition: InDetVKalVxInJetTool.h:185
InDet::InDetVKalVxInJetTool::Hists::m_hb_rNdc
TH1D * m_hb_rNdc
Definition: InDetVKalVxInJetTool.h:149
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:238
InDet::InDetVKalVxInJetTool::WrkVrt::chi2PerTrk
std::vector< double > chi2PerTrk
Definition: InDetVKalVxInJetTool.h:340
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::workVectorArrxAOD::TracksForFit
std::vector< const xAOD::TrackParticle * > TracksForFit
Definition: InDetVKalVxInJetTool.h:93
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
InDet::InDetVKalVxInJetTool::Hists::m_hb_trkPErr
TH1F * m_hb_trkPErr
Definition: InDetVKalVxInJetTool.h:165
InDet::InDetVKalVxInJetTool::m_rejectBadVertices
bool m_rejectBadVertices
Definition: InDetVKalVxInJetTool.h:210
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:137
InDet::InDetVKalVxInJetTool::Vrt2Tr::signif2D
double signif2D
Definition: InDetVKalVxInJetTool.h:323
InDet::InDetVKalVxInJetTool::WrkVrt::dCloseVrt
double dCloseVrt
Definition: InDetVKalVxInJetTool.h:344
InDet::InDetVKalVxInJetTool::DevTuple::idMC
int idMC[maxNTrk]
Definition: InDetVKalVxInJetTool.h:268
InDet::InDetVKalVxInJetTool::m_cutPixelHits
long int m_cutPixelHits
Definition: InDetVKalVxInJetTool.h:177
InDet::InDetVKalVxInJetTool::m_fillHist
bool m_fillHist
Definition: InDetVKalVxInJetTool.h:196
ReadHandle.h
Handle class for reading from StoreGate.
AthAlgTool
Definition: AthAlgTool.h:26
InDet::InDetVKalVxInJetTool::Hists::m_hb_trkPtMax
TH1D * m_hb_trkPtMax
Definition: InDetVKalVxInJetTool.h:162
OfflineHitType::Outlier
@ Outlier
TruthEventContainer.h
InDet::InDetVKalVxInJetTool::m_zTrkErrorCut
double m_zTrkErrorCut
Definition: InDetVKalVxInJetTool.h:191
InDet::InDetVKalVxInJetTool::compatibilityGraph_t
boost::adjacency_list< boost::listS, boost::vecS, boost::undirectedS > compatibilityGraph_t
Definition: InDetVKalVxInJetTool.h:331
InDet::InDetVKalVxInJetTool::DevTuple::bl
int bl[maxNVrt]
Definition: InDetVKalVxInJetTool.h:295
InDet::InDetVKalVxInJetTool::Hists::m_hb_nvrt2
TH1D * m_hb_nvrt2
Definition: InDetVKalVxInJetTool.h:136
InDet::InDetVKalVxInJetTool::Hists::m_hb_impactZ
TH1D * m_hb_impactZ
Definition: InDetVKalVxInJetTool.h:144
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::m_useVertexCleaningFMP
bool m_useVertexCleaningFMP
Definition: InDetVKalVxInJetTool.h:209
InDet::InDetVKalVxInJetTool::DevTuple::NVrtMaxW
float NVrtMaxW[maxNVrt]
Definition: InDetVKalVxInJetTool.h:307
python.exampleDriverScript.Dir
Dir
Definition: exampleDriverScript.py:20
InDet::InDetVKalVxInJetTool::DevTuple::maxNTrk
static const int maxNTrk
Definition: InDetVKalVxInJetTool.h:258
InDet::InDetVKalVxInJetTool::Vrt2Tr::badVrt
int badVrt
Definition: InDetVKalVxInJetTool.h:314
InDet::InDetVKalVxInJetTool::Hists::m_hb_impV0
TH1D * m_hb_impV0
Definition: InDetVKalVxInJetTool.h:154
InDet::InDetVKalVxInJetTool::m_useFrozenVersion
bool m_useFrozenVersion
Definition: InDetVKalVxInJetTool.h:195
InDet::InDetVKalVxInJetTool
Definition: InDetVKalVxInJetTool.h:100
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:283
InDet::InDetVKalVxInJetTool::DevTuple::NVrtTrkI
int NVrtTrkI[maxNVrt]
Definition: InDetVKalVxInJetTool.h:304
InDet::InDetVKalVxInJetTool::m_massP
const double m_massP
Definition: InDetVKalVxInJetTool.h:239
TrackParticleContainer.h
InDet::InDetVKalVxInJetTool::Hists::m_hb_signif3D
TH1D * m_hb_signif3D
Definition: InDetVKalVxInJetTool.h:153
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:241
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::Vrt2Tr::i
int i
Definition: InDetVKalVxInJetTool.h:313
InDet::InDetVKalVxInJetTool::DevTuple::VrtSig3D
float VrtSig3D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:284
InDet::InDetVKalVxInJetTool::check1TrVertexInPixel
bool check1TrVertexInPixel(const Track *p1, Amg::Vector3D &, std::vector< double > &) const
Definition: InDetVKalVxInJetTool.h:575
InDet::InDetVKalVxInJetTool::WrkVrt::detachedTrack
int detachedTrack
Definition: InDetVKalVxInJetTool.h:346
InDet::InDetVKalVxInJetTool::insideMatLayer
bool insideMatLayer(float, float) const
Definition: InnerDetector/InDetRecTools/InDetVKalVxInJetTool/src/Utilities.cxx:109
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:296
InDet::InDetVKalVxInJetTool::DevTuple::NTHF
int NTHF
Definition: InDetVKalVxInJetTool.h:297
ServiceHandle< InDet::IInDetEtaDependentCutsSvc >
Trk::TrkVKalVrtFitter
Definition: TrkVKalVrtFitter.h:67
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3DNtr
TH1D * m_hb_sig3DNtr
Definition: InDetVKalVxInJetTool.h:161
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:236