ATLAS Offline Software
JpsiXPlusDisplaced.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3  Contact: Xin Chen <xin.chen@cern.ch>
4 */
5 #ifndef JPSIXPLUSDISPLACED_H
6 #define JPSIXPLUSDISPLACED_H
7 
9 #include "GaudiKernel/ToolHandle.h"
10 #include "GaudiKernel/IPartPropSvc.h"
21 #include <vector>
22 
23 namespace Trk {
24  class IVertexFitter;
25  class TrkVKalVrtFitter;
26  class IVertexCascadeFitter;
27  class VxCascadeInfo;
28  class V0Tools;
29  class IExtrapolator;
30 }
31 namespace InDet { class VertexPointEstimator; }
32 namespace DerivationFramework {
33  class CascadeTools;
34 }
35 
36 namespace DerivationFramework {
37 
38  static const InterfaceID IID_JpsiXPlusDisplaced("JpsiXPlusDisplaced", 1, 0);
39 
40  class JpsiXPlusDisplaced : virtual public AthAlgTool, public IAugmentationTool
41  {
42  public:
43  enum V0Enum{ UNKNOWN=0, LAMBDA=1, LAMBDABAR=2, KS=3 };
44 
45  struct XiCandidate {
47  const xAOD::Vertex* V0vtx = nullptr;
48  const xAOD::TrackParticle* track = nullptr;
49  double chi2NDF;
50  TLorentzVector p4_V0track1;
51  TLorentzVector p4_V0track2;
52  TLorentzVector p4_disVtrack;
53  };
54 
55  struct MesonCandidate {
57  const xAOD::Vertex* V0vtx = nullptr;
58  const xAOD::TrackParticle* extraTrack1 = nullptr;
59  const xAOD::TrackParticle* extraTrack2 = nullptr;
60  const xAOD::TrackParticle* extraTrack3 = nullptr;
61  double chi2NDF = 999;
62  double pt = 0;
63  };
64 
66  public:
67  MesonCandidateVector(size_t num, bool orderByPt);
68  void push_back(const MesonCandidate& etac);
69  const std::vector<MesonCandidate>& vector() const;
70 
71  private:
72  size_t m_num{0};
73  bool m_orderByPt{true};
74  std::vector<MesonCandidate> m_vector;
75  };
76 
77  static const InterfaceID& interfaceID() { return IID_JpsiXPlusDisplaced;}
78  JpsiXPlusDisplaced(const std::string& type, const std::string& name, const IInterface* parent);
79  virtual ~JpsiXPlusDisplaced() = default;
80  virtual StatusCode initialize() override;
81  StatusCode performSearch(std::vector<Trk::VxCascadeInfo*>& cascadeinfoContainer, const std::vector<std::pair<const xAOD::Vertex*,V0Enum> >& selectedV0Candidates, const std::vector<const xAOD::TrackParticle*>& tracksDisplaced) const;
82  virtual StatusCode addBranches() const override;
83 
84  private:
87  std::vector<std::string> m_vertexJXHypoNames;
95  std::string m_hypoName;
96 
97  double m_jxMassLower;
98  double m_jxMassUpper;
103  std::string m_V0Hypothesis;
106  double m_lxyV0_cut;
112  double m_lxyDpm_cut;
113  double m_lxyD0_cut;
114  double m_MassLower;
115  double m_MassUpper;
117  double m_jxDaug1MassHypo; // mass hypothesis of 1st daughter from vertex JX
118  double m_jxDaug2MassHypo; // mass hypothesis of 2nd daughter from vertex JX
119  double m_jxDaug3MassHypo; // mass hypothesis of 3rd daughter from vertex JX
120  double m_jxDaug4MassHypo; // mass hypothesis of 4th daughter from vertex JX
123  double m_disVDaug3MassHypo; // mass hypothesis of 3rd daughter from displaced vertex
141  double m_massJX;
142  double m_massJpsi;
143  double m_massX;
144  double m_massDisV;
145  double m_massV0;
147  double m_mass_Dpm;
148  double m_mass_D0;
149  double m_mass_Dstpm;
150  double m_massMainV;
153  bool m_constrX;
162  double m_chi2cut_JX;
163  double m_chi2cut_V0;
168  double m_chi2cut;
169  bool m_useTRT;
170  double m_ptTRT;
171  double m_d0_cut;
172  unsigned int m_maxJXCandidates;
173  unsigned int m_maxV0Candidates;
174  unsigned int m_maxDisVCandidates;
175  unsigned int m_maxMainVCandidates;
176 
177  ToolHandle < Trk::TrkVKalVrtFitter > m_iVertexFitter;
178  ToolHandle < Trk::TrkV0VertexFitter > m_iV0Fitter;
179  ToolHandle < Trk::IVertexFitter > m_iGammaFitter;
180  ToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
181  ToolHandle < Trk::V0Tools > m_V0Tools;
182  ToolHandle < Reco::ITrackToVertex > m_trackToVertexTool;
183  ToolHandle < Trk::ITrackSelectorTool > m_trkSelector;
184  ToolHandle < Trk::ITrackSelectorTool > m_v0TrkSelector;
185  ToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
186  ToolHandle < InDet::VertexPointEstimator > m_vertexEstimator;
187  ToolHandle < Trk::IExtrapolator > m_extrapolator;
188  ServiceHandle<IPartPropSvc> m_partPropSvc{this, "PartPropSvc", "PartPropSvc"};
189 
190  bool m_refitPV;
191  int m_PV_max;
194 
195  double m_mass_e;
196  double m_mass_mu;
197  double m_mass_pion;
200  double m_mass_Ks;
201  double m_mass_Xi;
202  double m_mass_Bpm;
203 
204  std::vector<double> m_massesV0_ppi;
205  std::vector<double> m_massesV0_pip;
206  std::vector<double> m_massesV0_pipi;
207 
208  bool d0Pass(const xAOD::TrackParticle* track, const xAOD::Vertex* PV) const;
209  XiCandidate getXiCandidate(const xAOD::Vertex* V0vtx, const V0Enum V0, const xAOD::TrackParticle* track3) const;
210  MesonCandidate getEtacCandidate(const xAOD::Vertex* V0vtx, const V0Enum V0, const xAOD::TrackParticle* extraTrk1, const xAOD::TrackParticle* extraTrk2) const;
211  MesonCandidate getDpmCandidate(const xAOD::Vertex* JXvtx, const std::vector<double>& massesJX, const xAOD::TrackParticle* extraTrk1, const xAOD::TrackParticle* extraTrk2, const xAOD::TrackParticle* extraTrk3) const;
212  MesonCandidate getDstpmCandidate(const xAOD::Vertex* JXvtx, const std::vector<double>& massesJX, const xAOD::TrackParticle* extraTrk1, const xAOD::TrackParticle* extraTrk2, const xAOD::TrackParticle* extraTrk3) const;
213  std::vector<Trk::VxCascadeInfo*> fitMainVtx(const xAOD::Vertex* JXvtx, const std::vector<double>& massesJX, const xAOD::Vertex* V0vtx, const V0Enum V0, const xAOD::TrackParticleContainer* trackContainer, const std::vector<const xAOD::TrackParticleContainer*>& trackCols) const;
214  std::vector<Trk::VxCascadeInfo*> fitMainVtx(const xAOD::Vertex* JXvtx, const std::vector<double>& massesJX, const XiCandidate& disVtx, const xAOD::TrackParticleContainer* trackContainer, const std::vector<const xAOD::TrackParticleContainer*>& trackCols) const;
215  void fitV0Container(xAOD::VertexContainer* V0ContainerNew, const std::vector<const xAOD::TrackParticle*>& selectedTracks, const std::vector<const xAOD::TrackParticleContainer*>& trackCols) const;
216  template<size_t NTracks> const xAOD::Vertex* FindVertex(const xAOD::VertexContainer* cont, const xAOD::Vertex* v) const;
217  };
218 }
219 
220 #endif
ReadHandleKeyArray.h
DerivationFramework::JpsiXPlusDisplaced::m_V0MassLower
double m_V0MassLower
Definition: JpsiXPlusDisplaced.h:104
DerivationFramework::JpsiXPlusDisplaced::m_vertexJXHypoNames
std::vector< std::string > m_vertexJXHypoNames
Definition: JpsiXPlusDisplaced.h:87
DerivationFramework::JpsiXPlusDisplaced::FindVertex
const xAOD::Vertex * FindVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *v) const
Definition: JpsiXPlusDisplaced.cxx:2328
DerivationFramework::JpsiXPlusDisplaced::addBranches
virtual StatusCode addBranches() const override
Pass the thinning service
Definition: JpsiXPlusDisplaced.cxx:493
DerivationFramework::JpsiXPlusDisplaced::m_trkSelector
ToolHandle< Trk::ITrackSelectorTool > m_trkSelector
Definition: JpsiXPlusDisplaced.h:183
DerivationFramework::JpsiXPlusDisplaced::m_jxDaug2MassHypo
double m_jxDaug2MassHypo
Definition: JpsiXPlusDisplaced.h:118
DerivationFramework::JpsiXPlusDisplaced::getDstpmCandidate
MesonCandidate getDstpmCandidate(const xAOD::Vertex *JXvtx, const std::vector< double > &massesJX, const xAOD::TrackParticle *extraTrk1, const xAOD::TrackParticle *extraTrk2, const xAOD::TrackParticle *extraTrk3) const
Definition: JpsiXPlusDisplaced.cxx:1007
DerivationFramework::JpsiXPlusDisplaced::m_mass_Bpm
double m_mass_Bpm
Definition: JpsiXPlusDisplaced.h:202
DerivationFramework::JpsiXPlusDisplaced::m_lxyD0_cut
double m_lxyD0_cut
Definition: JpsiXPlusDisplaced.h:113
DerivationFramework::JpsiXPlusDisplaced::m_jxDaug3MassHypo
double m_jxDaug3MassHypo
Definition: JpsiXPlusDisplaced.h:119
DerivationFramework::JpsiXPlusDisplaced::interfaceID
static const InterfaceID & interfaceID()
Definition: JpsiXPlusDisplaced.h:77
DerivationFramework::JpsiXPlusDisplaced::m_ptTRT
double m_ptTRT
Definition: JpsiXPlusDisplaced.h:170
DerivationFramework::JpsiXPlusDisplaced::m_chi2cut_V0Extra
double m_chi2cut_V0Extra
Definition: JpsiXPlusDisplaced.h:165
DerivationFramework::JpsiXPlusDisplaced::m_mass_e
double m_mass_e
Definition: JpsiXPlusDisplaced.h:195
DerivationFramework::JpsiXPlusDisplaced::m_constrDpm
bool m_constrDpm
Definition: JpsiXPlusDisplaced.h:157
DerivationFramework::JpsiXPlusDisplaced::m_MassUpper
double m_MassUpper
Definition: JpsiXPlusDisplaced.h:115
DerivationFramework::JpsiXPlusDisplaced::m_iVertexFitter
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
Definition: JpsiXPlusDisplaced.h:177
DerivationFramework::JpsiXPlusDisplaced::m_iV0Fitter
ToolHandle< Trk::TrkV0VertexFitter > m_iV0Fitter
Definition: JpsiXPlusDisplaced.h:178
DerivationFramework::JpsiXPlusDisplaced::m_vertexV0ContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexV0ContainerKey
Definition: JpsiXPlusDisplaced.h:86
DerivationFramework::JpsiXPlusDisplaced::MesonCandidateVector::m_orderByPt
bool m_orderByPt
Definition: JpsiXPlusDisplaced.h:73
VertexPointEstimator.h
DerivationFramework::JpsiXPlusDisplaced::m_maxMesonCandidates
size_t m_maxMesonCandidates
Definition: JpsiXPlusDisplaced.h:139
DerivationFramework::JpsiXPlusDisplaced::m_constrJpsi
bool m_constrJpsi
Definition: JpsiXPlusDisplaced.h:152
DerivationFramework::JpsiXPlusDisplaced::m_lxyDpm_cut
double m_lxyDpm_cut
Definition: JpsiXPlusDisplaced.h:112
DerivationFramework::JpsiXPlusDisplaced::MesonCandidateVector::push_back
void push_back(const MesonCandidate &etac)
Definition: JpsiXPlusDisplaced.cxx:34
DerivationFramework::JpsiXPlusDisplaced::m_D0MassLower
double m_D0MassLower
Definition: JpsiXPlusDisplaced.h:135
DerivationFramework::JpsiXPlusDisplaced::m_DoVertexType
int m_DoVertexType
Definition: JpsiXPlusDisplaced.h:193
DerivationFramework::JpsiXPlusDisplaced::m_maxMainVCandidates
unsigned int m_maxMainVCandidates
Definition: JpsiXPlusDisplaced.h:175
DerivationFramework::JpsiXPlusDisplaced::m_d0_cut
double m_d0_cut
Definition: JpsiXPlusDisplaced.h:171
DerivationFramework::JpsiXPlusDisplaced::m_DpmMassUpper
double m_DpmMassUpper
Definition: JpsiXPlusDisplaced.h:134
IAugmentationTool.h
DerivationFramework::JpsiXPlusDisplaced
Definition: JpsiXPlusDisplaced.h:41
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
DerivationFramework::JpsiXPlusDisplaced::m_mass_mu
double m_mass_mu
Definition: JpsiXPlusDisplaced.h:196
DerivationFramework::JpsiXPlusDisplaced::LAMBDA
@ LAMBDA
Definition: JpsiXPlusDisplaced.h:43
DerivationFramework::JpsiXPlusDisplaced::getXiCandidate
XiCandidate getXiCandidate(const xAOD::Vertex *V0vtx, const V0Enum V0, const xAOD::TrackParticle *track3) const
Definition: JpsiXPlusDisplaced.cxx:845
DerivationFramework::JpsiXPlusDisplaced::m_massDisV
double m_massDisV
Definition: JpsiXPlusDisplaced.h:144
DerivationFramework::JpsiXPlusDisplaced::m_PV_minNTracks
size_t m_PV_minNTracks
Definition: JpsiXPlusDisplaced.h:192
DerivationFramework::JpsiXPlusDisplaced::m_DstpmMassUpper
double m_DstpmMassUpper
Definition: JpsiXPlusDisplaced.h:138
DerivationFramework::JpsiXPlusDisplaced::MesonCandidateVector
Definition: JpsiXPlusDisplaced.h:65
DerivationFramework::JpsiXPlusDisplaced::m_massesV0_pipi
std::vector< double > m_massesV0_pipi
Definition: JpsiXPlusDisplaced.h:206
DerivationFramework::JpsiXPlusDisplaced::m_jxDaug4MassHypo
double m_jxDaug4MassHypo
Definition: JpsiXPlusDisplaced.h:120
DerivationFramework::JpsiXPlusDisplaced::XiCandidate::p4_disVtrack
TLorentzVector p4_disVtrack
Definition: JpsiXPlusDisplaced.h:52
DerivationFramework::JpsiXPlusDisplaced::m_mass_pion
double m_mass_pion
Definition: JpsiXPlusDisplaced.h:197
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
DerivationFramework::JpsiXPlusDisplaced::m_jxDaug1MassHypo
double m_jxDaug1MassHypo
Definition: JpsiXPlusDisplaced.h:117
DerivationFramework::JpsiXPlusDisplaced::m_chi2cut
double m_chi2cut
Definition: JpsiXPlusDisplaced.h:168
DerivationFramework::JpsiXPlusDisplaced::m_jpsiMassLower
double m_jpsiMassLower
Definition: JpsiXPlusDisplaced.h:99
DerivationFramework::JpsiXPlusDisplaced::m_massMainV
double m_massMainV
Definition: JpsiXPlusDisplaced.h:150
PrimaryVertexRefitter.h
DerivationFramework::JpsiXPlusDisplaced::m_DpmMassLower
double m_DpmMassLower
Definition: JpsiXPlusDisplaced.h:133
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::JpsiXPlusDisplaced::XiCandidate::p4_V0track1
TLorentzVector p4_V0track1
Definition: JpsiXPlusDisplaced.h:50
DerivationFramework::JpsiXPlusDisplaced::m_chi2cut_DisV
double m_chi2cut_DisV
Definition: JpsiXPlusDisplaced.h:164
DerivationFramework::JpsiXPlusDisplaced::MesonCandidate::V0vtx
const xAOD::Vertex * V0vtx
Definition: JpsiXPlusDisplaced.h:57
DerivationFramework::JpsiXPlusDisplaced::MesonCandidateVector::MesonCandidateVector
MesonCandidateVector(size_t num, bool orderByPt)
Definition: JpsiXPlusDisplaced.cxx:29
DerivationFramework::JpsiXPlusDisplaced::MesonCandidateVector::vector
const std::vector< MesonCandidate > & vector() const
Definition: JpsiXPlusDisplaced.cxx:52
DerivationFramework::JpsiXPlusDisplaced::XiCandidate::track
const xAOD::TrackParticle * track
Definition: JpsiXPlusDisplaced.h:48
DerivationFramework::JpsiXPlusDisplaced::MesonCandidate::pt
double pt
Definition: JpsiXPlusDisplaced.h:62
DerivationFramework::JpsiXPlusDisplaced::m_mass_Ks
double m_mass_Ks
Definition: JpsiXPlusDisplaced.h:200
DerivationFramework::JpsiXPlusDisplaced::m_constrD0
bool m_constrD0
Definition: JpsiXPlusDisplaced.h:158
DerivationFramework::JpsiXPlusDisplaced::m_v0VtxOutputKey
SG::WriteHandleKey< xAOD::VertexContainer > m_v0VtxOutputKey
Definition: JpsiXPlusDisplaced.h:89
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
DerivationFramework::JpsiXPlusDisplaced::m_vertexEstimator
ToolHandle< InDet::VertexPointEstimator > m_vertexEstimator
Definition: JpsiXPlusDisplaced.h:186
DerivationFramework::JpsiXPlusDisplaced::m_extraTrk2MassHypo
double m_extraTrk2MassHypo
Definition: JpsiXPlusDisplaced.h:127
DerivationFramework::JpsiXPlusDisplaced::MesonCandidateVector::m_vector
std::vector< MesonCandidate > m_vector
Definition: JpsiXPlusDisplaced.h:74
DerivationFramework::JpsiXPlusDisplaced::performSearch
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > &cascadeinfoContainer, const std::vector< std::pair< const xAOD::Vertex *, V0Enum > > &selectedV0Candidates, const std::vector< const xAOD::TrackParticle * > &tracksDisplaced) const
Definition: JpsiXPlusDisplaced.cxx:359
DerivationFramework::JpsiXPlusDisplaced::m_D0MassUpper
double m_D0MassUpper
Definition: JpsiXPlusDisplaced.h:136
DerivationFramework::JpsiXPlusDisplaced::m_trackToVertexTool
ToolHandle< Reco::ITrackToVertex > m_trackToVertexTool
Definition: JpsiXPlusDisplaced.h:182
DerivationFramework::JpsiXPlusDisplaced::m_constrMainV
bool m_constrMainV
Definition: JpsiXPlusDisplaced.h:160
DerivationFramework::JpsiXPlusDisplaced::fitMainVtx
std::vector< Trk::VxCascadeInfo * > fitMainVtx(const xAOD::Vertex *JXvtx, const std::vector< double > &massesJX, const xAOD::Vertex *V0vtx, const V0Enum V0, const xAOD::TrackParticleContainer *trackContainer, const std::vector< const xAOD::TrackParticleContainer * > &trackCols) const
Definition: JpsiXPlusDisplaced.cxx:1059
DerivationFramework::JpsiXPlusDisplaced::m_jpsiMassUpper
double m_jpsiMassUpper
Definition: JpsiXPlusDisplaced.h:100
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
DerivationFramework::JpsiXPlusDisplaced::m_disVDaug_num
int m_disVDaug_num
Definition: JpsiXPlusDisplaced.h:122
DerivationFramework::JpsiXPlusDisplaced::m_disVDaug3MinPt
double m_disVDaug3MinPt
Definition: JpsiXPlusDisplaced.h:124
DerivationFramework::JpsiXPlusDisplaced::m_V0Tools
ToolHandle< Trk::V0Tools > m_V0Tools
Definition: JpsiXPlusDisplaced.h:181
DerivationFramework::JpsiXPlusDisplaced::m_RelinkContainers
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_RelinkContainers
Definition: JpsiXPlusDisplaced.h:94
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::JpsiXPlusDisplaced::d0Pass
bool d0Pass(const xAOD::TrackParticle *track, const xAOD::Vertex *PV) const
Definition: JpsiXPlusDisplaced.cxx:834
DerivationFramework::JpsiXPlusDisplaced::XiCandidate::V0vtx
const xAOD::Vertex * V0vtx
Definition: JpsiXPlusDisplaced.h:47
DerivationFramework::JpsiXPlusDisplaced::m_chi2cut_JXDpm
double m_chi2cut_JXDpm
Definition: JpsiXPlusDisplaced.h:166
DerivationFramework::JpsiXPlusDisplaced::m_disVDaug3MassHypo
double m_disVDaug3MassHypo
Definition: JpsiXPlusDisplaced.h:123
DerivationFramework::JpsiXPlusDisplaced::UNKNOWN
@ UNKNOWN
Definition: JpsiXPlusDisplaced.h:43
DerivationFramework::JpsiXPlusDisplaced::m_VxPrimaryCandidateName
SG::ReadHandleKey< xAOD::VertexContainer > m_VxPrimaryCandidateName
Definition: JpsiXPlusDisplaced.h:91
DerivationFramework::JpsiXPlusDisplaced::m_v0TrkSelector
ToolHandle< Trk::ITrackSelectorTool > m_v0TrkSelector
Definition: JpsiXPlusDisplaced.h:184
AthAlgTool.h
DerivationFramework::JpsiXPlusDisplaced::m_constrJX
bool m_constrJX
Definition: JpsiXPlusDisplaced.h:151
DerivationFramework::JpsiXPlusDisplaced::m_extraTrk3MassHypo
double m_extraTrk3MassHypo
Definition: JpsiXPlusDisplaced.h:129
DerivationFramework::JpsiXPlusDisplaced::MesonCandidate::extraTrack1
const xAOD::TrackParticle * extraTrack1
Definition: JpsiXPlusDisplaced.h:58
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DerivationFramework::JpsiXPlusDisplaced::m_massesV0_ppi
std::vector< double > m_massesV0_ppi
Definition: JpsiXPlusDisplaced.h:204
DerivationFramework::JpsiXPlusDisplaced::MesonCandidate::V0type
V0Enum V0type
Definition: JpsiXPlusDisplaced.h:56
DerivationFramework::JpsiXPlusDisplaced::m_massX
double m_massX
Definition: JpsiXPlusDisplaced.h:143
DerivationFramework::JpsiXPlusDisplaced::m_extraTrk2MinPt
double m_extraTrk2MinPt
Definition: JpsiXPlusDisplaced.h:128
DerivationFramework::JpsiXPlusDisplaced::m_chi2cut_JX
double m_chi2cut_JX
Definition: JpsiXPlusDisplaced.h:162
DerivationFramework::JpsiXPlusDisplaced::m_chi2cut_JXDstpm
double m_chi2cut_JXDstpm
Definition: JpsiXPlusDisplaced.h:167
DerivationFramework::JpsiXPlusDisplaced::getDpmCandidate
MesonCandidate getDpmCandidate(const xAOD::Vertex *JXvtx, const std::vector< double > &massesJX, const xAOD::TrackParticle *extraTrk1, const xAOD::TrackParticle *extraTrk2, const xAOD::TrackParticle *extraTrk3) const
Definition: JpsiXPlusDisplaced.cxx:962
DerivationFramework::JpsiXPlusDisplaced::m_mass_Dstpm
double m_mass_Dstpm
Definition: JpsiXPlusDisplaced.h:149
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::JpsiXPlusDisplaced::m_V0MassUpper
double m_V0MassUpper
Definition: JpsiXPlusDisplaced.h:105
DerivationFramework::JpsiXPlusDisplaced::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: JpsiXPlusDisplaced.h:187
DerivationFramework::JpsiXPlusDisplaced::m_chi2cut_V0
double m_chi2cut_V0
Definition: JpsiXPlusDisplaced.h:163
DerivationFramework::JpsiXPlusDisplaced::getEtacCandidate
MesonCandidate getEtacCandidate(const xAOD::Vertex *V0vtx, const V0Enum V0, const xAOD::TrackParticle *extraTrk1, const xAOD::TrackParticle *extraTrk2) const
Definition: JpsiXPlusDisplaced.cxx:904
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
DerivationFramework::JpsiXPlusDisplaced::m_diTrackMassUpper
double m_diTrackMassUpper
Definition: JpsiXPlusDisplaced.h:102
DerivationFramework::JpsiXPlusDisplaced::XiCandidate::V0type
V0Enum V0type
Definition: JpsiXPlusDisplaced.h:46
DerivationFramework::JpsiXPlusDisplaced::m_mass_D0
double m_mass_D0
Definition: JpsiXPlusDisplaced.h:148
DerivationFramework::JpsiXPlusDisplaced::m_diTrackMassLower
double m_diTrackMassLower
Definition: JpsiXPlusDisplaced.h:101
ITrackToVertex.h
DerivationFramework::JpsiXPlusDisplaced::m_MassLower
double m_MassLower
Definition: JpsiXPlusDisplaced.h:114
DerivationFramework::JpsiXPlusDisplaced::fitV0Container
void fitV0Container(xAOD::VertexContainer *V0ContainerNew, const std::vector< const xAOD::TrackParticle * > &selectedTracks, const std::vector< const xAOD::TrackParticleContainer * > &trackCols) const
Definition: JpsiXPlusDisplaced.cxx:2214
DerivationFramework::JpsiXPlusDisplaced::MesonCandidate::extraTrack2
const xAOD::TrackParticle * extraTrack2
Definition: JpsiXPlusDisplaced.h:59
DerivationFramework::JpsiXPlusDisplaced::m_constrX
bool m_constrX
Definition: JpsiXPlusDisplaced.h:153
DerivationFramework::JpsiXPlusDisplaced::m_useTRT
bool m_useTRT
Definition: JpsiXPlusDisplaced.h:169
DerivationFramework::JpsiXPlusDisplaced::m_mass_Dpm
double m_mass_Dpm
Definition: JpsiXPlusDisplaced.h:147
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
DerivationFramework::JpsiXPlusDisplaced::m_jxPtOrdering
bool m_jxPtOrdering
Definition: JpsiXPlusDisplaced.h:121
DerivationFramework::JpsiXPlusDisplaced::~JpsiXPlusDisplaced
virtual ~JpsiXPlusDisplaced()=default
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DerivationFramework::JpsiXPlusDisplaced::m_massV0Extra
double m_massV0Extra
Definition: JpsiXPlusDisplaced.h:146
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
DerivationFramework::JpsiXPlusDisplaced::m_refitPV
bool m_refitPV
Definition: JpsiXPlusDisplaced.h:190
DerivationFramework::JpsiXPlusDisplaced::m_maxJXCandidates
unsigned int m_maxJXCandidates
Definition: JpsiXPlusDisplaced.h:172
DerivationFramework::JpsiXPlusDisplaced::MesonCandidate
Definition: JpsiXPlusDisplaced.h:55
DerivationFramework::JpsiXPlusDisplaced::KS
@ KS
Definition: JpsiXPlusDisplaced.h:43
DerivationFramework::JpsiXPlusDisplaced::m_lxyV0_cut
double m_lxyV0_cut
Definition: JpsiXPlusDisplaced.h:106
DerivationFramework::JpsiXPlusDisplaced::m_CascadeTools
ToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
Definition: JpsiXPlusDisplaced.h:185
DerivationFramework::JpsiXPlusDisplaced::m_jxMassUpper
double m_jxMassUpper
Definition: JpsiXPlusDisplaced.h:98
DerivationFramework::JpsiXPlusDisplaced::m_hypoName
std::string m_hypoName
Definition: JpsiXPlusDisplaced.h:95
DerivationFramework::JpsiXPlusDisplaced::XiCandidate::p4_V0track2
TLorentzVector p4_V0track2
Definition: JpsiXPlusDisplaced.h:51
V0Tools
EventInfo.h
DerivationFramework::JpsiXPlusDisplaced::m_chi2cut_gamma
double m_chi2cut_gamma
Definition: JpsiXPlusDisplaced.h:108
DerivationFramework::JpsiXPlusDisplaced::m_mass_Lambda
double m_mass_Lambda
Definition: JpsiXPlusDisplaced.h:199
TrkV0VertexFitter.h
DerivationFramework::JpsiXPlusDisplaced::m_extraTrk1MinPt
double m_extraTrk1MinPt
Definition: JpsiXPlusDisplaced.h:126
DerivationFramework::JpsiXPlusDisplaced::m_MesonPtOrdering
bool m_MesonPtOrdering
Definition: JpsiXPlusDisplaced.h:140
DerivationFramework::JpsiXPlusDisplaced::m_extraTrk1MassHypo
double m_extraTrk1MassHypo
Definition: JpsiXPlusDisplaced.h:125
python.PyAthena.v
v
Definition: PyAthena.py:154
DerivationFramework::JpsiXPlusDisplaced::JpsiXPlusDisplaced
JpsiXPlusDisplaced(const std::string &type, const std::string &name, const IInterface *parent)
Definition: JpsiXPlusDisplaced.cxx:56
VertexContainer.h
DerivationFramework::JpsiXPlusDisplaced::m_constrDisV
bool m_constrDisV
Definition: JpsiXPlusDisplaced.h:154
DerivationFramework::JpsiXPlusDisplaced::m_TrkParticleCollection
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrkParticleCollection
Definition: JpsiXPlusDisplaced.h:90
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
DerivationFramework::JpsiXPlusDisplaced::MesonCandidateVector::m_num
size_t m_num
Definition: JpsiXPlusDisplaced.h:72
DerivationFramework::JpsiXPlusDisplaced::initialize
virtual StatusCode initialize() override
Definition: JpsiXPlusDisplaced.cxx:264
DerivationFramework::JpsiXPlusDisplaced::m_pvRefitter
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition: JpsiXPlusDisplaced.h:180
DerivationFramework::JpsiXPlusDisplaced::m_mass_Xi
double m_mass_Xi
Definition: JpsiXPlusDisplaced.h:201
DerivationFramework::JpsiXPlusDisplaced::m_DstpmMassLower
double m_DstpmMassLower
Definition: JpsiXPlusDisplaced.h:137
DerivationFramework::JpsiXPlusDisplaced::m_DisplacedMassUpper
double m_DisplacedMassUpper
Definition: JpsiXPlusDisplaced.h:110
DerivationFramework::JpsiXPlusDisplaced::m_extraTrk3MinPt
double m_extraTrk3MinPt
Definition: JpsiXPlusDisplaced.h:130
DerivationFramework::JpsiXPlusDisplaced::m_jxMassLower
double m_jxMassLower
Definition: JpsiXPlusDisplaced.h:97
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DerivationFramework::JpsiXPlusDisplaced::MesonCandidate::extraTrack3
const xAOD::TrackParticle * extraTrack3
Definition: JpsiXPlusDisplaced.h:60
DerivationFramework::JpsiXPlusDisplaced::m_lxyDisV_cut
double m_lxyDisV_cut
Definition: JpsiXPlusDisplaced.h:111
DerivationFramework::JpsiXPlusDisplaced::XiCandidate::chi2NDF
double chi2NDF
Definition: JpsiXPlusDisplaced.h:49
DerivationFramework::JpsiXPlusDisplaced::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: JpsiXPlusDisplaced.h:93
DerivationFramework::JpsiXPlusDisplaced::m_V0ExtraMassUpper
double m_V0ExtraMassUpper
Definition: JpsiXPlusDisplaced.h:132
DerivationFramework::JpsiXPlusDisplaced::m_cascadeOutputKeys
SG::WriteHandleKeyArray< xAOD::VertexContainer > m_cascadeOutputKeys
Definition: JpsiXPlusDisplaced.h:88
DerivationFramework::JpsiXPlusDisplaced::m_constrV0
bool m_constrV0
Definition: JpsiXPlusDisplaced.h:155
DerivationFramework::JpsiXPlusDisplaced::m_constrDstpm
bool m_constrDstpm
Definition: JpsiXPlusDisplaced.h:159
DerivationFramework::JpsiXPlusDisplaced::m_massV0
double m_massV0
Definition: JpsiXPlusDisplaced.h:145
DerivationFramework::JpsiXPlusDisplaced::m_JXSubVtx
bool m_JXSubVtx
Definition: JpsiXPlusDisplaced.h:161
DerivationFramework::JpsiXPlusDisplaced::m_PV_max
int m_PV_max
Definition: JpsiXPlusDisplaced.h:191
DerivationFramework::JpsiXPlusDisplaced::LAMBDABAR
@ LAMBDABAR
Definition: JpsiXPlusDisplaced.h:43
DerivationFramework::JpsiXPlusDisplaced::XiCandidate
Definition: JpsiXPlusDisplaced.h:45
DerivationFramework::JpsiXPlusDisplaced::m_minMass_gamma
double m_minMass_gamma
Definition: JpsiXPlusDisplaced.h:107
DerivationFramework::JpsiXPlusDisplaced::m_DisplacedMassLower
double m_DisplacedMassLower
Definition: JpsiXPlusDisplaced.h:109
DerivationFramework::JpsiXPlusDisplaced::m_constrV0Extra
bool m_constrV0Extra
Definition: JpsiXPlusDisplaced.h:156
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
DerivationFramework::JpsiXPlusDisplaced::m_partPropSvc
ServiceHandle< IPartPropSvc > m_partPropSvc
Definition: JpsiXPlusDisplaced.h:188
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
DerivationFramework::JpsiXPlusDisplaced::m_jxDaug_num
int m_jxDaug_num
Definition: JpsiXPlusDisplaced.h:116
ITrackSelectorTool.h
DerivationFramework::JpsiXPlusDisplaced::m_V0Hypothesis
std::string m_V0Hypothesis
Definition: JpsiXPlusDisplaced.h:103
DerivationFramework::JpsiXPlusDisplaced::m_V0ExtraMassLower
double m_V0ExtraMassLower
Definition: JpsiXPlusDisplaced.h:131
DerivationFramework::JpsiXPlusDisplaced::m_massesV0_pip
std::vector< double > m_massesV0_pip
Definition: JpsiXPlusDisplaced.h:205
DerivationFramework::JpsiXPlusDisplaced::MesonCandidate::chi2NDF
double chi2NDF
Definition: JpsiXPlusDisplaced.h:61
DerivationFramework::JpsiXPlusDisplaced::m_iGammaFitter
ToolHandle< Trk::IVertexFitter > m_iGammaFitter
Definition: JpsiXPlusDisplaced.h:179
DerivationFramework::JpsiXPlusDisplaced::m_vertexJXContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexJXContainerKey
Definition: JpsiXPlusDisplaced.h:85
ReadDecorHandleKeyArray.h
DerivationFramework::JpsiXPlusDisplaced::V0Enum
V0Enum
Definition: JpsiXPlusDisplaced.h:43
DerivationFramework::JpsiXPlusDisplaced::m_massJX
double m_massJX
Definition: JpsiXPlusDisplaced.h:141
DerivationFramework::JpsiXPlusDisplaced::m_maxV0Candidates
unsigned int m_maxV0Candidates
Definition: JpsiXPlusDisplaced.h:173
DerivationFramework::JpsiXPlusDisplaced::m_refPVContainerName
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
Definition: JpsiXPlusDisplaced.h:92
DerivationFramework::JpsiXPlusDisplaced::m_massJpsi
double m_massJpsi
Definition: JpsiXPlusDisplaced.h:142
DerivationFramework::JpsiXPlusDisplaced::m_mass_proton
double m_mass_proton
Definition: JpsiXPlusDisplaced.h:198
DerivationFramework::JpsiXPlusDisplaced::m_maxDisVCandidates
unsigned int m_maxDisVCandidates
Definition: JpsiXPlusDisplaced.h:174
ServiceHandle< IPartPropSvc >