ATLAS Offline Software
JpsiPlusPsiCascade.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 JPSIPLUSPSICASCADE_H
6 #define JPSIPLUSPSICASCADE_H
7 
9 #include "GaudiKernel/ToolHandle.h"
14 #include "GaudiKernel/IPartPropSvc.h"
15 #include <vector>
16 
17 namespace Trk {
18  class IVertexFitter;
19  class TrkVKalVrtFitter;
20  class IVertexCascadeFitter;
21  class VxCascadeInfo;
22  class V0Tools;
23 }
24 
25 namespace DerivationFramework {
26  class CascadeTools;
27 }
28 
29 namespace DerivationFramework {
30 
31  static const InterfaceID IID_JpsiPlusPsiCascade("JpsiPlusPsiCascade", 1, 0);
32 
33  class JpsiPlusPsiCascade : virtual public AthAlgTool, public IAugmentationTool
34  {
35  public:
36  static const InterfaceID& interfaceID() { return IID_JpsiPlusPsiCascade;}
37  JpsiPlusPsiCascade(const std::string& t, const std::string& n, const IInterface* p);
38  virtual ~JpsiPlusPsiCascade() = default;
39  virtual StatusCode initialize() override;
40  StatusCode performSearch(std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer, std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer_noConstr) const;
41  virtual StatusCode addBranches() const override;
42 
43  private:
46  std::vector<std::string> m_vertexJpsiHypoNames;
47  std::vector<std::string> m_vertexPsiHypoNames;
52 
61  double m_MassLower;
62  double m_MassUpper;
64  double m_vtx1Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 1
65  double m_vtx1Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 1
66  double m_vtx1Daug3MassHypo; // mass hypothesis of 3rd daughter from vertex 1
67  double m_vtx1Daug4MassHypo; // mass hypothesis of 4th daughter from vertex 1
68  double m_vtx2Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 2
69  double m_vtx2Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 2
70 
71  double m_mass_jpsi;
72  double m_mass_diTrk;
73  double m_mass_psi;
74  double m_mass_jpsi2;
79  double m_chi2cut_Psi;
81  double m_chi2cut;
82  unsigned int m_maxCandidates;
83 
84  ToolHandle < Trk::TrkVKalVrtFitter > m_iVertexFitter;
85  ToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
86  ToolHandle < Trk::V0Tools > m_V0Tools;
87  ToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
88  ServiceHandle<IPartPropSvc> m_partPropSvc{this, "PartPropSvc", "PartPropSvc"};
89 
90  bool m_refitPV;
92  std::string m_hypoName;
93  int m_PV_max;
96  };
97 }
98 
99 #endif
DerivationFramework::JpsiPlusPsiCascade::m_vtx1Daug3MassHypo
double m_vtx1Daug3MassHypo
Definition: JpsiPlusPsiCascade.h:66
DerivationFramework::JpsiPlusPsiCascade::m_mass_diTrk
double m_mass_diTrk
Definition: JpsiPlusPsiCascade.h:72
DerivationFramework::JpsiPlusPsiCascade::m_jpsiMassLower
double m_jpsiMassLower
Definition: JpsiPlusPsiCascade.h:53
DerivationFramework::JpsiPlusPsiCascade::m_mass_jpsi
double m_mass_jpsi
Definition: JpsiPlusPsiCascade.h:71
IAugmentationTool.h
DerivationFramework::JpsiPlusPsiCascade::m_chi2cut_Jpsi
double m_chi2cut_Jpsi
Definition: JpsiPlusPsiCascade.h:80
DerivationFramework::JpsiPlusPsiCascade::m_diTrackMassLower
double m_diTrackMassLower
Definition: JpsiPlusPsiCascade.h:55
DerivationFramework::JpsiPlusPsiCascade::m_maxCandidates
unsigned int m_maxCandidates
Definition: JpsiPlusPsiCascade.h:82
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
DerivationFramework::JpsiPlusPsiCascade::m_vtx1Daug4MassHypo
double m_vtx1Daug4MassHypo
Definition: JpsiPlusPsiCascade.h:67
DerivationFramework::JpsiPlusPsiCascade::m_iVertexFitter
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
Definition: JpsiPlusPsiCascade.h:84
DerivationFramework::JpsiPlusPsiCascade::m_vertexPsiContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexPsiContainerKey
Definition: JpsiPlusPsiCascade.h:45
DerivationFramework::JpsiPlusPsiCascade::m_vtx1Daug2MassHypo
double m_vtx1Daug2MassHypo
Definition: JpsiPlusPsiCascade.h:65
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PrimaryVertexRefitter.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::JpsiPlusPsiCascade::~JpsiPlusPsiCascade
virtual ~JpsiPlusPsiCascade()=default
DerivationFramework::JpsiPlusPsiCascade::m_PV_max
int m_PV_max
Definition: JpsiPlusPsiCascade.h:93
DerivationFramework::JpsiPlusPsiCascade::m_vtx2Daug2MassHypo
double m_vtx2Daug2MassHypo
Definition: JpsiPlusPsiCascade.h:69
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::JpsiPlusPsiCascade::m_constrJpsi
bool m_constrJpsi
Definition: JpsiPlusPsiCascade.h:76
DerivationFramework::JpsiPlusPsiCascade::m_jpsiMassUpper
double m_jpsiMassUpper
Definition: JpsiPlusPsiCascade.h:54
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
DerivationFramework::JpsiPlusPsiCascade::performSearch
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer, std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer_noConstr) const
Definition: JpsiPlusPsiCascade.cxx:341
DerivationFramework::JpsiPlusPsiCascade::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: JpsiPlusPsiCascade.h:51
DerivationFramework::JpsiPlusPsiCascade::m_DoVertexType
int m_DoVertexType
Definition: JpsiPlusPsiCascade.h:94
DerivationFramework::JpsiPlusPsiCascade::m_vertexJpsiHypoNames
std::vector< std::string > m_vertexJpsiHypoNames
Definition: JpsiPlusPsiCascade.h:46
beamspotman.n
n
Definition: beamspotman.py:731
DerivationFramework::JpsiPlusPsiCascade::m_cascadeOutputsKeys
SG::WriteHandleKeyArray< xAOD::VertexContainer > m_cascadeOutputsKeys
Definition: JpsiPlusPsiCascade.h:48
DerivationFramework::JpsiPlusPsiCascade::m_MassLower
double m_MassLower
Definition: JpsiPlusPsiCascade.h:61
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::JpsiPlusPsiCascade::m_vtx1Daug_num
int m_vtx1Daug_num
Definition: JpsiPlusPsiCascade.h:63
DerivationFramework::JpsiPlusPsiCascade::m_mass_psi
double m_mass_psi
Definition: JpsiPlusPsiCascade.h:73
DerivationFramework::JpsiPlusPsiCascade
Definition: JpsiPlusPsiCascade.h:34
AthAlgTool.h
DerivationFramework::JpsiPlusPsiCascade::m_constrJpsi2
bool m_constrJpsi2
Definition: JpsiPlusPsiCascade.h:78
DerivationFramework::JpsiPlusPsiCascade::m_V0Tools
ToolHandle< Trk::V0Tools > m_V0Tools
Definition: JpsiPlusPsiCascade.h:86
DerivationFramework::JpsiPlusPsiCascade::interfaceID
static const InterfaceID & interfaceID()
Definition: JpsiPlusPsiCascade.h:36
DerivationFramework::JpsiPlusPsiCascade::m_VxPrimaryCandidateName
SG::ReadHandleKey< xAOD::VertexContainer > m_VxPrimaryCandidateName
Name of primary vertex container.
Definition: JpsiPlusPsiCascade.h:49
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::JpsiPlusPsiCascade::m_refPVContainerName
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
Definition: JpsiPlusPsiCascade.h:91
DerivationFramework::JpsiPlusPsiCascade::m_vertexPsiHypoNames
std::vector< std::string > m_vertexPsiHypoNames
Definition: JpsiPlusPsiCascade.h:47
DerivationFramework::JpsiPlusPsiCascade::JpsiPlusPsiCascade
JpsiPlusPsiCascade(const std::string &t, const std::string &n, const IInterface *p)
Definition: JpsiPlusPsiCascade.cxx:252
DerivationFramework::JpsiPlusPsiCascade::m_diTrackMassUpper
double m_diTrackMassUpper
Definition: JpsiPlusPsiCascade.h:56
DerivationFramework::JpsiPlusPsiCascade::m_trackContainerName
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainerName
Definition: JpsiPlusPsiCascade.h:50
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DerivationFramework::JpsiPlusPsiCascade::m_jpsi2MassUpper
double m_jpsi2MassUpper
Definition: JpsiPlusPsiCascade.h:60
DerivationFramework::JpsiPlusPsiCascade::m_jpsi2MassLower
double m_jpsi2MassLower
Definition: JpsiPlusPsiCascade.h:59
DerivationFramework::JpsiPlusPsiCascade::m_CascadeTools
ToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
Definition: JpsiPlusPsiCascade.h:87
DerivationFramework::JpsiPlusPsiCascade::initialize
virtual StatusCode initialize() override
Definition: JpsiPlusPsiCascade.cxx:22
V0Tools
EventInfo.h
DerivationFramework::JpsiPlusPsiCascade::m_refitPV
bool m_refitPV
Definition: JpsiPlusPsiCascade.h:90
DerivationFramework::JpsiPlusPsiCascade::m_MassUpper
double m_MassUpper
Definition: JpsiPlusPsiCascade.h:62
DerivationFramework::JpsiPlusPsiCascade::m_pvRefitter
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition: JpsiPlusPsiCascade.h:85
DerivationFramework::JpsiPlusPsiCascade::m_constrDiTrk
bool m_constrDiTrk
Definition: JpsiPlusPsiCascade.h:77
VertexContainer.h
DerivationFramework::JpsiPlusPsiCascade::m_vtx1Daug1MassHypo
double m_vtx1Daug1MassHypo
Definition: JpsiPlusPsiCascade.h:64
DerivationFramework::JpsiPlusPsiCascade::m_PV_minNTracks
size_t m_PV_minNTracks
Definition: JpsiPlusPsiCascade.h:95
DerivationFramework::JpsiPlusPsiCascade::m_hypoName
std::string m_hypoName
Definition: JpsiPlusPsiCascade.h:92
DerivationFramework::JpsiPlusPsiCascade::m_vtx2Daug1MassHypo
double m_vtx2Daug1MassHypo
Definition: JpsiPlusPsiCascade.h:68
DerivationFramework::JpsiPlusPsiCascade::m_mass_jpsi2
double m_mass_jpsi2
Definition: JpsiPlusPsiCascade.h:74
DerivationFramework::JpsiPlusPsiCascade::m_constrPsi
bool m_constrPsi
Definition: JpsiPlusPsiCascade.h:75
AthAlgTool
Definition: AthAlgTool.h:26
DerivationFramework::JpsiPlusPsiCascade::m_chi2cut_Psi
double m_chi2cut_Psi
Definition: JpsiPlusPsiCascade.h:79
DerivationFramework::JpsiPlusPsiCascade::addBranches
virtual StatusCode addBranches() const override
Pass the thinning service
Definition: JpsiPlusPsiCascade.cxx:62
DerivationFramework::JpsiPlusPsiCascade::m_vertexContainerKey
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainerKey
Definition: JpsiPlusPsiCascade.h:44
DerivationFramework::JpsiPlusPsiCascade::m_chi2cut
double m_chi2cut
Definition: JpsiPlusPsiCascade.h:81
DerivationFramework::JpsiPlusPsiCascade::m_psiMassLower
double m_psiMassLower
Definition: JpsiPlusPsiCascade.h:57
DerivationFramework::JpsiPlusPsiCascade::m_partPropSvc
ServiceHandle< IPartPropSvc > m_partPropSvc
Definition: JpsiPlusPsiCascade.h:88
ServiceHandle< IPartPropSvc >
DerivationFramework::JpsiPlusPsiCascade::m_psiMassUpper
double m_psiMassUpper
Definition: JpsiPlusPsiCascade.h:58