ATLAS Offline Software
InDetVKalVxInJetTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 // Author: Vadim Kostyukhin (vadim.kostyukhin@cern.ch)
5 
6 // Header include
12 
13 #include "GaudiKernel/ITHistSvc.h"
14 #include "GaudiKernel/ConcurrencyFlags.h"
15 #include "TH1D.h"
16 #include "TH2D.h"
17 #include "TTree.h"
18 #include "TProfile.h"
19 
20 #include "TMath.h"
21 //
22 
23 namespace InDet {
24 
26 
27 //
28 //Constructor--------------------------------------------------------------
30  const std::string& name,
31  const IInterface* parent):
33  {
34  declareInterface< ISecVertexInJetFinder >(this);
35  }
36 
37 //Destructor---------------------------------------------------------------
39  ATH_MSG_DEBUG("InDetVKalVxInJetTool destructor called");
40  }
41 
42 //Initialize---------------------------------------------------------------
44  ATH_MSG_DEBUG("InDetVKalVxInJetTool initialize() called");
45 
47  ATH_CHECK(m_trackClassificator.retrieve( DisableTool{!m_useTrackClassificator} ));
48  if(!m_useTrackClassificator) ATH_MSG_DEBUG("TrackClassificator disabled");
49 
50  m_useEtaDependentCuts = !(m_etaDependentCutsSvc.name().empty());
52  ATH_CHECK(m_etaDependentCutsSvc.retrieve());
53  ATH_MSG_DEBUG("Using InDetEtaDependentCutsSvc. Individual inclusive track selections from config not used");
54  }
55  else{
56  ATH_MSG_DEBUG("Using individual inclusive track selections from config");
57  }
58 
59  if (m_fitter.retrieve().isFailure()) {
60  if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "Could not find Trk::TrkVKalVrtFitter" << endmsg;
61  return StatusCode::SUCCESS;
62  } else {
63  if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG) << "InDetVKalVxInJetTool TrkVKalVrtFitter found" << endmsg;
64  }
65  m_fitSvc = dynamic_cast<Trk::TrkVKalVrtFitter*>(&(*m_fitter));
66  if(!m_fitSvc){
67  if(msgLvl(MSG::DEBUG))msg(MSG::DEBUG)<<" No implemented Trk::ITrkVKalVrtFitter interface" << endmsg;
68  return StatusCode::SUCCESS;
69  }
70 
72  //------------------------------------------
73  if(msgLvl(MSG::DEBUG)) ATH_CHECK(m_timingProfile.retrieve());
74 //------------------------------------------
75 // Chose whether IBL is installed
76  if(m_existIBL){ // 4-layer pixel detector
77  if( m_beampipeR==0.) m_beampipeR=24.0;
78  if( m_rLayerB ==0.) m_rLayerB =34.0;
79  if( m_rLayer1 ==0.) m_rLayer1 =51.6;
80  if( m_rLayer2 ==0.) m_rLayer2 =90.0;
81  m_rLayer3 =122.5;
82  } else { // 3-layer pixel detector
83  if( m_beampipeR==0.) m_beampipeR=29.4;
84  if( m_rLayerB ==0.) m_rLayerB =51.5;
85  if( m_rLayer1 ==0.) m_rLayer1 =90.0;
86  if( m_rLayer2 ==0.) m_rLayer2 =122.5;
87  }
88 
89  if(m_fillHist){
91  ATH_MSG_FATAL("Filling histograms not supported in MT jobs.");
92  return StatusCode::FAILURE;
93  }
94 
95  SmartIF<ITHistSvc> hist_root{Gaudi::svcLocator()->service("THistSvc")};
96  ATH_CHECK(hist_root.isValid());
97  ATH_MSG_DEBUG( "InDetVKalVxInJetTool Histograms found" );
98 
99  std::string histDir;
100  if(m_multiVertex) histDir="/file1/stat/MSVrtInJet"+name()+"/";
101  else histDir="/file1/stat/SVrtInJet"+name()+"/";
102  m_h = std::make_unique<Hists>();
103  ATH_CHECK( m_h->book (*hist_root, histDir) );
104 
105 //-------------------------------------------------------
106  }
107 
108  if(!m_multiVertex)m_multiWithPrimary = false;
109 
110  if(m_getNegativeTag){
111  if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << " Negative TAG is requested! " << endmsg;
112  if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Not compatible with negativeTAIL option, so getNegativeTail is set to FALSE." << endmsg;
113  m_getNegativeTail=false;
114  }
115 
116  for(int ntv=2; ntv<=10; ntv++) m_chiScale[ntv]=TMath::ChisquareQuantile(0.9,2.*ntv-3.)/ntv;
117  m_chiScale[0]=m_chiScale[2];
118  for(int ntv=2; ntv<=10; ntv++) m_chiScale[ntv]/=m_chiScale[0];
119 
120  if(m_RobustFit>7)m_RobustFit=7;
121  if(m_RobustFit<0)m_RobustFit=0;
122 
124 
125  ATH_CHECK(detStore()->retrieve(m_beamPipeMgr, "BeamPipe"));
126  ATH_CHECK(detStore()->retrieve(m_pixelManager, "ITkPixel"));
127 
129 
131 
132  }
133 
134  return StatusCode::SUCCESS;
135 
136  }
137 
139  const std::string& histDir)
140  {
141  m_hb_massPiPi = new TH1D("massPiPi"," mass PiPi",160,200., 1000.);
142  m_hb_massPiPi1 = new TH1D("massPiPi1"," mass PiPi",100,200., 2000.);
143  m_hb_massPPi = new TH1D("massPPi"," massPPi", 100,1000., 1250.);
144  m_hb_massEE = new TH1D("massEE"," massEE", 100,0., 200.);
145  m_hb_nvrt2 = new TH1D("nvrt2"," vertices2", 50,0., 50.);
146  m_hb_ratio = new TH1D("ratio"," ratio", 51,0., 1.02);
147  m_hb_totmass = new TH1D("totmass"," totmass", 250,0., 10000.);
148  m_hb_totmassEE = new TH1D("massEEcomvrt"," totmass EE common vertex", 100,0., 1000.);
149  m_hb_totmass2T0 = new TH1D("mass2trcomvrt0"," totmass 2tr common vertex", 800,0., 4000.);
150  m_hb_totmass2T1 = new TH1D("mass2trcomvrt1"," totmass 2tr common vertex", 200,0., 10000.);
151  m_hb_totmass2T2 = new TH1D("mass2trcomvrt2"," totmass 2tr common vertex", 200,0., 10000.);
152  m_hb_impact = new TH1D("impact", " impact", 100,0., 20.);
153  m_hb_impactR = new TH1D("impactR"," impactR", 400,-30., 70.);
154  m_hb_impactZ = new TH1D("impactZ"," impactZ", 100,-30., 70.);
155  m_hb_impactRZ = new TH2D("impactRZ"," impactRZ", 40,-10., 10., 60, -30.,30. );
156  m_hb_trkD0 = new TH1D("trkD0"," d0 of tracks", 100,-20., 20.);
157  m_hb_r2d = new TH1D("r2interact","Interaction radius 2tr selected", 150,0., 150.);
158  m_hb_r1dc = new TH1D("r1interactCommon","Interaction 1tr radius common", 150,0., 150.);
159  m_hb_r2dc = new TH1D("r2interactCommon","Interaction 2tr radius common", 150,0., 150.);
160  m_hb_r3dc = new TH1D("r3interactCommon","Interaction 3tr radius common", 150,0., 150.);
161  m_hb_rNdc = new TH1D("rNinteractCommon","Interaction Ntr radius common", 150,0., 150.);
162  m_hb_dstToMat = new TH1D("dstToMatL","Distance to material layer", 80,0., 40.);
163  m_hb_impV0 = new TH1D("impactV0"," V0 impact", 100,0., 50.);
164  m_hb_ntrkjet = new TH1D("ntrkjet"," NTrk in jet", 50,0., 50.);
165  m_hb_jmom = new TH1D("jetmom"," Jet mom", 200,0., 2000000.);
166  m_hb_mom = new TH1D("jetmomvrt"," Jet mom with sec. vertex", 200,0., 2000000.);
167  m_hb_signif3D = new TH1D("signif3D"," Signif3D for initial 2tr vertex", 140,-20., 50.);
168  m_hb_sig3DTot = new TH1D("sig3dcommon"," Signif3D for common vertex", 140,-20., 50.);
169  m_hb_sig3D1tr = new TH1D("sig3D1tr","Signif3D for 1tr vertices", 140,-20., 50.);
170  m_hb_sig3D2tr = new TH1D("sig3D2tr","Signif3D for 2tr single vertex", 140,-20., 50.);
171  m_hb_sig3DNtr = new TH1D("sig3DNtr","Signif3D for many-tr single vertex", 140,-20., 50.);
172  m_hb_goodvrtN = new TH1F("goodvrtN","Number of good vertices", 20,0., 20.);
173  m_hb_distVV = new TH1D("distvv","Vertex-Vertex dist", 100,0., 20.);
174  m_hb_diffPS = new TH1D("diffPS","Primary-Secondary assoc", 200,-20., 20.);
175  m_hb_trkPtMax = new TH1D("trkPtMax","Maximal track Pt to jet", 100, 0., 5000.);
176  m_hb_rawVrtN = new TH1F("rawVrtN","Number of raw vertices multivertex case", 20, 0., 20.);
177  m_hb_lifetime = new TH1F("lifetime","Distance/momentum", 100, 0., 5.);
178  m_hb_trkPErr = new TH1F("trkPErr","Track momentum error for P>10 GeV", 100, 0., 0.5);
179  m_hb_deltaRSVPV = new TH1F("deltaRSVPV","SV-PV vs jet dR ", 200, 0., 1.);
180  m_pr_NSelTrkMean = new TProfile("NSelTrkMean"," NTracks selected vs jet pt", 80, 0., 1600000.);
181  m_pr_effVrt2tr = new TProfile("effVrt2tr"," 2tr vertex efficiency vs Ntrack", 50, 0., 50.);
182  m_pr_effVrt2trEta= new TProfile("effVrt2trEta"," 2tr vertex efficiency vs eta", 50, -3., 3.);
183  m_pr_effVrt = new TProfile("effVrt","Full vertex efficiency vs Ntrack", 50, 0., 50.);
184  m_pr_effVrtEta = new TProfile("effVrtEta","Full vertex efficiency vs eta", 50, -3., 3.);
185 
186  ATH_CHECK( histSvc.regHist(histDir+"massPiPi", m_hb_massPiPi) );
187  ATH_CHECK( histSvc.regHist(histDir+"massPiPi1", m_hb_massPiPi1) );
188  ATH_CHECK( histSvc.regHist(histDir+"massPPi", m_hb_massPPi) );
189  ATH_CHECK( histSvc.regHist(histDir+"massEE", m_hb_massEE ) );
190  ATH_CHECK( histSvc.regHist(histDir+"nvrt2", m_hb_nvrt2) );
191  ATH_CHECK( histSvc.regHist(histDir+"ratio", m_hb_ratio) );
192  ATH_CHECK( histSvc.regHist(histDir+"totmass", m_hb_totmass) );
193  ATH_CHECK( histSvc.regHist(histDir+"massEEcomvrt", m_hb_totmassEE) );
194  ATH_CHECK( histSvc.regHist(histDir+"mass2trcomvrt0", m_hb_totmass2T0) );
195  ATH_CHECK( histSvc.regHist(histDir+"mass2trcomvrt1", m_hb_totmass2T1) );
196  ATH_CHECK( histSvc.regHist(histDir+"mass2trcomvrt2", m_hb_totmass2T2) );
197  ATH_CHECK( histSvc.regHist(histDir+"impact", m_hb_impact) );
198  ATH_CHECK( histSvc.regHist(histDir+"impactR", m_hb_impactR) );
199  ATH_CHECK( histSvc.regHist(histDir+"impactZ", m_hb_impactZ) );
200  ATH_CHECK( histSvc.regHist(histDir+"impactRZ", m_hb_impactRZ) );
201  ATH_CHECK( histSvc.regHist(histDir+"trkD0", m_hb_trkD0) );
202  ATH_CHECK( histSvc.regHist(histDir+"r2interact", m_hb_r2d) );
203  ATH_CHECK( histSvc.regHist(histDir+"r1interactCommon", m_hb_r1dc) );
204  ATH_CHECK( histSvc.regHist(histDir+"r2interactCommon", m_hb_r2dc) );
205  ATH_CHECK( histSvc.regHist(histDir+"r3interactCommon", m_hb_r3dc) );
206  ATH_CHECK( histSvc.regHist(histDir+"rNinteractCommon", m_hb_rNdc) );
207  ATH_CHECK( histSvc.regHist(histDir+"dstToMatL", m_hb_dstToMat) );
208  ATH_CHECK( histSvc.regHist(histDir+"impactV0", m_hb_impV0) );
209  ATH_CHECK( histSvc.regHist(histDir+"ntrkjet", m_hb_ntrkjet) );
210  ATH_CHECK( histSvc.regHist(histDir+"jetmom", m_hb_jmom) );
211  ATH_CHECK( histSvc.regHist(histDir+"jetmomvrt", m_hb_mom) );
212  ATH_CHECK( histSvc.regHist(histDir+"signif3D", m_hb_signif3D) );
213  ATH_CHECK( histSvc.regHist(histDir+"sig3dcommon", m_hb_sig3DTot) );
214  ATH_CHECK( histSvc.regHist(histDir+"sig3D1tr", m_hb_sig3D1tr) );
215  ATH_CHECK( histSvc.regHist(histDir+"sig3D2tr", m_hb_sig3D2tr) );
216  ATH_CHECK( histSvc.regHist(histDir+"sig3DNtr", m_hb_sig3DNtr) );
217  ATH_CHECK( histSvc.regHist(histDir+"goodvrtN", m_hb_goodvrtN) );
218  ATH_CHECK( histSvc.regHist(histDir+"distVV", m_hb_distVV) );
219  ATH_CHECK( histSvc.regHist(histDir+"diffPS", m_hb_diffPS) );
220  ATH_CHECK( histSvc.regHist(histDir+"trkPtMax", m_hb_trkPtMax) );
221  ATH_CHECK( histSvc.regHist(histDir+"rawVrtN", m_hb_rawVrtN) );
222  ATH_CHECK( histSvc.regHist(histDir+"lifetime", m_hb_lifetime) );
223  ATH_CHECK( histSvc.regHist(histDir+"trkPErr", m_hb_trkPErr) );
224  ATH_CHECK( histSvc.regHist(histDir+"deltaRSVPV", m_hb_deltaRSVPV) );
225  ATH_CHECK( histSvc.regHist(histDir+"NSelTrkMean", m_pr_NSelTrkMean) );
226  ATH_CHECK( histSvc.regHist(histDir+"effVrt2tr", m_pr_effVrt2tr) );
227  ATH_CHECK( histSvc.regHist(histDir+"effVrt2trEta", m_pr_effVrt2trEta) );
228  ATH_CHECK( histSvc.regHist(histDir+"effVrt", m_pr_effVrt) );
229  ATH_CHECK( histSvc.regHist(histDir+"effVrtEta", m_pr_effVrtEta) );
230 
231  m_tuple = new TTree("Tracks","Tracks");
232  ATH_CHECK( histSvc.regTree(histDir,m_tuple) );
233  m_curTup = new DevTuple();
234 
235  m_tuple->Branch("ewgt", &m_curTup->ewgt, "ewgt/F");
236  m_tuple->Branch("ptjet", &m_curTup->ptjet, "ptjet/F");
237  m_tuple->Branch("etajet", &m_curTup->etajet, "etajet/F");
238  m_tuple->Branch("phijet", &m_curTup->phijet, "phijet/F");
239  m_tuple->Branch("ntrk", &m_curTup->nTrkInJet, "ntrk/I");
240  m_tuple->Branch("etatrk", &m_curTup->etatrk, "etatrk[ntrk]/F");
241  m_tuple->Branch("prbS", &m_curTup->s_prob, "prbS[ntrk]/F");
242  m_tuple->Branch("prbP", &m_curTup->p_prob, "prbP[ntrk]/F");
243  m_tuple->Branch("wgtB", &m_curTup->wgtB, "wgtB[ntrk]/F");
244  m_tuple->Branch("wgtL", &m_curTup->wgtL, "wgtL[ntrk]/F");
245  m_tuple->Branch("wgtG", &m_curTup->wgtG, "wgtG[ntrk]/F");
246  m_tuple->Branch("sig3D", &m_curTup->sig3D, "sig3D[ntrk]/F");
247  m_tuple->Branch("idMC", &m_curTup->idMC, "idMC[ntrk]/I");
248  m_tuple->Branch("ibl", &m_curTup->ibl, "ibl[ntrk]/I");
249  m_tuple->Branch("bl", &m_curTup->bl, "bl[ntrk]/I");
250  m_tuple->Branch("fhitR", &m_curTup->fhitR, "fhitRR[ntrk]/F");
251  m_tuple->Branch("SigR", &m_curTup->SigR, "SigR[ntrk]/F");
252  m_tuple->Branch("SigZ", &m_curTup->SigZ, "SigZ[ntrk]/F");
253  m_tuple->Branch("d0", &m_curTup->d0, "d0[ntrk]/F");
254  m_tuple->Branch("Z0", &m_curTup->Z0, "Z0[ntrk]/F");
255  m_tuple->Branch("pTvsJet", &m_curTup->pTvsJet, "pTvsJet[ntrk]/F");
256  m_tuple->Branch("prodTJ", &m_curTup->prodTJ, "prodTJ[ntrk]/F");
257  m_tuple->Branch("nVrtT", &m_curTup->nVrtT, "nVrtT[ntrk]/I");
258  m_tuple->Branch("chg", &m_curTup->chg, "chg[ntrk]/I");
259  //-----
260  m_tuple->Branch("TotM", &m_curTup->TotM, "TotM/F");
261  //-----
262  m_tuple->Branch("nvrt", &m_curTup->nVrt, "nvrt/I");
263  m_tuple->Branch("VrtDist2D", &m_curTup->VrtDist2D, "VrtDist2D[nvrt]/F");
264  m_tuple->Branch("VrtSig3D", &m_curTup->VrtSig3D, "VrtSig3D[nvrt]/F");
265  m_tuple->Branch("VrtSig2D", &m_curTup->VrtSig2D, "VrtSig2D[nvrt]/F");
266  m_tuple->Branch("VrtDR", &m_curTup->VrtDR, "VrtDR[nvrt]/F");
267  m_tuple->Branch("VrtdRtt", &m_curTup->VrtdRtt, "VrtdRtt[nvrt]/F");
268  m_tuple->Branch("VrtErrR", &m_curTup->VrtErrR, "VrtErrR[nvrt]/F");
269  m_tuple->Branch("itrk", &m_curTup->itrk, "itrk[nvrt]/I");
270  m_tuple->Branch("jtrk", &m_curTup->jtrk, "jtrk[nvrt]/I");
271  m_tuple->Branch("badV", &m_curTup->badVrt, "badV[nvrt]/I");
272  m_tuple->Branch("mass", &m_curTup->mass, "mass[nvrt]/F");
273  m_tuple->Branch("Chi2", &m_curTup->Chi2, "Chi2[nvrt]/F");
274  //-----
275  m_tuple->Branch("ntHF", &m_curTup->NTHF, "ntHF/I");
276  m_tuple->Branch("itHF", &m_curTup->itHF, "itHF[ntHF]/I");
277  //-----
278  m_tuple->Branch("nNVrt", &m_curTup->nNVrt, "nNVrt/I");
279  m_tuple->Branch("NVrtDist2D", &m_curTup->NVrtDist2D, "NVrtDist2D[nNVrt]/F");
280  m_tuple->Branch("NVrtSig3D", &m_curTup->NVrtSig3D, "NVrtSig3D[nNVrt]/F");
281  m_tuple->Branch("NVrtNT", &m_curTup->NVrtNT, "NVrtNT[nNVrt]/I");
282  m_tuple->Branch("NVrtTrkI", &m_curTup->NVrtTrkI, "NVrttrkI[nNVrt]/I");
283  m_tuple->Branch("NVrtM", &m_curTup->NVrtM, "NVrtM[nNVrt]/F");
284  m_tuple->Branch("NVrtChi2", &m_curTup->NVrtChi2, "NVrtChi2[nNVrt]/F");
285  m_tuple->Branch("NVrtMaxW", &m_curTup->NVrtMaxW, "NVrtMaxW[nNVrt]/F");
286  m_tuple->Branch("NVrtAveW", &m_curTup->NVrtAveW, "NVrtAveW[nNVrt]/F");
287  m_tuple->Branch("NVrtDR", &m_curTup->NVrtDR, "NVrtDR[nNVrt]/F");
288 
289  return StatusCode::SUCCESS;
290  }
291 
292 
294  {
295  if(m_timingProfile)m_timingProfile->chronoPrint("InDetVKalVxInJetTool");
296  ATH_MSG_DEBUG("InDetVKalVxInJetTool finalize()");
297  return StatusCode::SUCCESS;
298  }
299 
300 
301 
302 
304  const TLorentzVector & jetDir,
305  const std::vector<const xAOD::IParticle*> & IInpTrk)
306  const {
307  if(m_timingProfile)m_timingProfile->chronoStart("InDetVKalVxInJetTool");
308  std::vector<double> Results;
309  std::vector<const xAOD::TrackParticle*> InpTrk;
310  std::vector<const xAOD::TrackParticle*> SelSecTrk;
311  std::vector< std::vector<const xAOD::TrackParticle*> > SelSecTrkPerVrt;
312  std::vector<const xAOD::TrackParticle*> xaodTrkFromV0;
313  std::vector<xAOD::Vertex*> listVrtSec(0);
314  double SecVtxMass = 0.;
315  double RatioE = 0.;
316  double EnergyJet = 0.;
317  int N2trVertices = 0 ;
318  int NBigImpTrk = 0 ;
319 
320  if(m_fillHist){
321  Hists& h = getHists();
322  if (h.m_curTup) {
323  h.m_curTup->nVrt=0;
324  h.m_curTup->nTrkInJet=0;
325  h.m_curTup->NTHF=0;
326  h.m_curTup->nNVrt=0;
327  h.m_curTup->TotM=0.; h.m_curTup->ewgt=1.;
328  }
329  }
330 
331  int pseudoVrt = 0;
332 
333  compatibilityGraph_t compatibilityGraph;
334 
335  InpTrk.clear(); InpTrk.reserve(IInpTrk.size());
336  std::vector<const xAOD::IParticle*>::const_iterator i_itrk;
337  for (i_itrk = IInpTrk.begin(); i_itrk < IInpTrk.end(); ++i_itrk) {
338  const xAOD::TrackParticle * tmp=dynamic_cast<const xAOD::TrackParticle *> ((*i_itrk));
339  if(tmp)InpTrk.push_back(tmp);
340  }
341 
342  if(m_multiVertex){
343  std::unique_ptr<workVectorArrxAOD> tmpVectxAOD= std::make_unique<workVectorArrxAOD>();
344  tmpVectxAOD->InpTrk.resize(InpTrk.size());
345  std::copy(InpTrk.begin(),InpTrk.end(), tmpVectxAOD->InpTrk.begin());
346  listVrtSec = getVrtSecMulti(tmpVectxAOD.get(),primVrt,jetDir,Results,compatibilityGraph);
347  SelSecTrkPerVrt.swap(tmpVectxAOD->FoundSecondTracks);
348  xaodTrkFromV0.swap(tmpVectxAOD->TrkFromV0);
349  }else{
350  int nRefPVTrk=0;
351  xAOD::Vertex* secVrt = getVrtSec( InpTrk,primVrt,jetDir,Results,SelSecTrk,xaodTrkFromV0, nRefPVTrk, compatibilityGraph);
352  if(secVrt != nullptr) listVrtSec.push_back(secVrt);
353  else if(m_fillHist) {
354  Hists& h = getHists();
355  h.m_pr_effVrt->Fill((float)nRefPVTrk,0.);
356  h.m_pr_effVrtEta->Fill( jetDir.Eta(),0.);
357  }
358  }
359  if(Results.size()<7) {
360  listVrtSec.clear();
361  }else{
362  SecVtxMass = Results[0];
363  RatioE = Results[1];
364  N2trVertices = (int)Results[2];
365  NBigImpTrk = (int)Results[3];
366  EnergyJet = Results[6];
367  if( Results[2]==0 && Results[4]==0 ) pseudoVrt=1;
368  }
369 
370  std::vector<const xAOD::IParticle*> iparTrkFromV0(0);
371  for(auto & i : xaodTrkFromV0)iparTrkFromV0.push_back(i);
372 
373  Trk::VxSecVKalVertexInfo* res=nullptr;
374  try{
375  if(pseudoVrt){
376  res = new Trk::VxSecVKalVertexInfo(listVrtSec[0], SecVtxMass, RatioE, NBigImpTrk, iparTrkFromV0 );
377  }else{
378  res = new Trk::VxSecVKalVertexInfo(listVrtSec, SecVtxMass, RatioE, N2trVertices, EnergyJet, iparTrkFromV0 );
379  if(Results.size()>8)res->setDstToMatLay(Results[7]);
380  } }
381  catch (std::bad_alloc& ba){
382  ATH_MSG_DEBUG("Trk::VxSecVKalVertexInfo allocation failure! "<< ba.what());
383  }
384 
385  if(m_fillHist){
386  Hists& h = getHists();
387  h.m_tuple->Fill();
388  };
389  if(m_timingProfile)m_timingProfile->chronoStop("InDetVKalVxInJetTool");
390  return res;
391  }
392 
393 
396  {
397  // We earlier checked that no more than one thread is being used.
398  Hists* h ATLAS_THREAD_SAFE = m_h.get();
399  return *h;
400  }
401 
402 
403 } // end InDet namespace
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
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::Hists::m_hb_ntrkjet
TH1D * m_hb_ntrkjet
Definition: InDetVKalVxInJetTool.h:144
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3DTot
TH1D * m_hb_sig3DTot
Definition: InDetVKalVxInJetTool.h:156
InDet::InDetVKalVxInJetTool::DevTuple::NVrtDR
float NVrtDR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:340
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
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
InDetVKalVxInJetTool.h
InDet::InDetVKalVxInJetTool::Hists::m_hb_r2dc
TH1D * m_hb_r2dc
Definition: InDetVKalVxInJetTool.h:148
InDet::InDetVKalVxInJetTool::Hists
Definition: InDetVKalVxInJetTool.h:125
InDet::InDetVKalVxInJetTool::m_h
std::unique_ptr< Hists > m_h
Definition: InDetVKalVxInJetTool.h:175
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
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
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::m_rLayerB
double m_rLayerB
Definition: InDetVKalVxInJetTool.h:221
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
InDet::InDetVKalVxInJetTool::Hists::m_hb_impactRZ
TH2D * m_hb_impactRZ
Definition: InDetVKalVxInJetTool.h:142
InDet::InDetVKalVxInJetTool::Hists::m_hb_trkD0
TH1D * m_hb_trkD0
Definition: InDetVKalVxInJetTool.h:143
InDet::InDetVKalVxInJetTool::m_beampipeR
double m_beampipeR
Definition: InDetVKalVxInJetTool.h:220
InDet::InDetVKalVxInJetTool::DevTuple::d0
float d0[maxNTrk]
Definition: InDetVKalVxInJetTool.h:302
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
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::DevTuple::prodTJ
float prodTJ[maxNTrk]
Definition: InDetVKalVxInJetTool.h:305
InDet::InDetVKalVxInJetTool::DevTuple::etatrk
float etatrk[maxNTrk]
Definition: InDetVKalVxInJetTool.h:296
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::Hists::m_hb_massEE
TH1D * m_hb_massEE
Definition: InDetVKalVxInJetTool.h:132
InDetMaterialVeto.h
TrkVKalVrtFitter.h
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
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
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::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::InDetVKalVxInJetTool::m_rLayer1
double m_rLayer1
Definition: InDetVKalVxInJetTool.h:222
InDet::InDetVKalVxInJetTool::Hists::m_hb_totmass2T0
TH1D * m_hb_totmass2T0
Definition: InDetVKalVxInJetTool.h:134
InDet::InDetVKalVxInJetTool::DevTuple::ewgt
float ewgt
Definition: InDetVKalVxInJetTool.h:292
InDet::InDetVKalVxInJetTool::DevTuple::VrtDR
float VrtDR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:317
InDet::InDetVKalVxInJetTool::DevTuple::ibl
int ibl[maxNVrt]
Definition: InDetVKalVxInJetTool.h:325
InDet::InDetVKalVxInJetTool::m_useTrackClassificator
bool m_useTrackClassificator
Definition: InDetVKalVxInJetTool.h:253
InDet::InDetVKalVxInJetTool::DevTuple::TotM
float TotM
Definition: InDetVKalVxInJetTool.h:312
lumiFormat.i
int i
Definition: lumiFormat.py:85
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
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
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::Hists::m_hb_totmass
TH1D * m_hb_totmass
Definition: InDetVKalVxInJetTool.h:139
extractSporadic.h
list h
Definition: extractSporadic.py:97
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
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::finalize
StatusCode finalize()
Definition: InDetVKalVxInJetTool.cxx:293
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
InDet::InDetVKalVxInJetTool::DevTuple::chg
int chg[maxNTrk]
Definition: InDetVKalVxInJetTool.h:310
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
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
VxSecVertexInfo.h
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
InDet::InDetVKalVxInJetTool::m_beamPipeMgr
const BeamPipeDetectorManager * m_beamPipeMgr
Definition: InDetVKalVxInJetTool.h:267
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
InDet::InDetVKalVxInJetTool::DevTuple::itrk
int itrk[maxNVrt]
Definition: InDetVKalVxInJetTool.h:322
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
InDet::InDetVKalVxInJetTool::m_ITkPixMaterialMap
std::unique_ptr< TH2D > m_ITkPixMaterialMap
Definition: InDetVKalVxInJetTool.h:269
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::DevTuple
Definition: InDetVKalVxInJetTool.h:288
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
InDet::InDetVKalVxInJetTool::Hists::m_hb_massPiPi1
TH1D * m_hb_massPiPi1
Definition: InDetVKalVxInJetTool.h:130
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
InDet::InDetVKalVxInJetTool::initialize
StatusCode initialize()
Definition: InDetVKalVxInJetTool.cxx:43
InDet::InDetVKalVxInJetTool::DevTuple::nTrkInJet
int nTrkInJet
Definition: InDetVKalVxInJetTool.h:291
InDet::InDetVKalVxInJetTool::m_rLayer2
double m_rLayer2
Definition: InDetVKalVxInJetTool.h:223
InDet::InDetVKalVxInJetTool::m_etaDependentCutsSvc
ServiceHandle< InDet::IInDetEtaDependentCutsSvc > m_etaDependentCutsSvc
service to get cut values depending on different variable
Definition: InDetVKalVxInJetTool.h:262
Trk::VxSecVertexInfo
Definition: VxSecVertexInfo.h:63
InDet::InDetVKalVxInJetTool::Hists::m_hb_rawVrtN
TH1F * m_hb_rawVrtN
Definition: InDetVKalVxInJetTool.h:164
Results
std::vector< Result > Results
Definition: CscSplitClusterFitter.cxx:22
InDet::InDetVKalVxInJetTool::m_fillHist
BooleanProperty m_fillHist
Definition: InDetVKalVxInJetTool.h:212
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::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::DevTuple::VrtErrR
float VrtErrR[maxNVrt]
Definition: InDetVKalVxInJetTool.h:319
Trk::VxSecVKalVertexInfo
Definition: VxSecVKalVertexInfo.h:70
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_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::m_useITkMaterialRejection
BooleanProperty m_useITkMaterialRejection
Definition: InDetVKalVxInJetTool.h:265
InDet::InDetMaterialVeto::ITkPixMaterialMap
std::unique_ptr< TH2D > ITkPixMaterialMap()
Definition: InDetMaterialVeto.h:34
InDet::InDetVKalVxInJetTool::Hists::m_pr_effVrt
TProfile * m_pr_effVrt
Definition: InDetVKalVxInJetTool.h:172
VxSecVKalVertexInfo.h
h
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
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
InDet::InDetVKalVxInJetTool::DevTuple::VrtdRtt
float VrtdRtt[maxNVrt]
Definition: InDetVKalVxInJetTool.h:318
InDet::InDetVKalVxInJetTool::m_rLayer3
double m_rLayer3
Definition: InDetVKalVxInJetTool.h:224
python.BackTrackingConfig.numThreads
int numThreads
Definition: BackTrackingConfig.py:61
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
DEBUG
#define DEBUG
Definition: page_access.h:11
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
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::DevTuple::p_prob
float p_prob[maxNTrk]
Definition: InDetVKalVxInJetTool.h:297
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::m_existIBL
BooleanProperty m_existIBL
Definition: InDetVKalVxInJetTool.h:214
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
calibdata.copy
bool copy
Definition: calibdata.py:27
ATLAS_THREAD_SAFE
#define ATLAS_THREAD_SAFE
Definition: checker_macros.h:211
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::DevTuple::idMC
int idMC[maxNTrk]
Definition: InDetVKalVxInJetTool.h:299
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
InDet::InDetMaterialVeto
Definition: InDetMaterialVeto.h:29
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::DevTuple::NVrtMaxW
float NVrtMaxW[maxNVrt]
Definition: InDetVKalVxInJetTool.h:338
InDet::InDetVKalVxInJetTool::DevTuple::maxNTrk
static const int maxNTrk
Definition: InDetVKalVxInJetTool.h:289
InDet::InDetVKalVxInJetTool::Hists::m_hb_impV0
TH1D * m_hb_impV0
Definition: InDetVKalVxInJetTool.h:155
InDet::InDetVKalVxInJetTool::DevTuple::VrtDist2D
float VrtDist2D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:314
InDet::InDetVKalVxInJetTool::DevTuple::NVrtTrkI
int NVrtTrkI[maxNVrt]
Definition: InDetVKalVxInJetTool.h:335
InDet::InDetVKalVxInJetTool::Hists::m_hb_signif3D
TH1D * m_hb_signif3D
Definition: InDetVKalVxInJetTool.h:154
InDet::InDetVKalVxInJetTool::m_getNegativeTail
BooleanProperty m_getNegativeTail
Definition: InDetVKalVxInJetTool.h:236
InDet::InDetVKalVxInJetTool::DevTuple::VrtSig3D
float VrtSig3D[maxNVrt]
Definition: InDetVKalVxInJetTool.h:315
InDet::InDetVKalVxInJetTool::m_getNegativeTag
BooleanProperty m_getNegativeTag
Definition: InDetVKalVxInJetTool.h:238
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
Trk::TrkVKalVrtFitter
Definition: TrkVKalVrtFitter.h:67
InDet::InDetVKalVxInJetTool::Hists::m_hb_sig3DNtr
TH1D * m_hb_sig3DNtr
Definition: InDetVKalVxInJetTool.h:162
InDet::InDetVKalVxInJetTool::Hists::book
StatusCode book(ITHistSvc &histSvc, const std::string &histDir)
Definition: InDetVKalVxInJetTool.cxx:138