ATLAS Offline Software
JpsiPlusDpstCascade.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef JPSIPLUSDPSTCASCADE_H
5 #define JPSIPLUSDPSTCASCADE_H
6 //*********************
7 // JpsiPlusDpstCascade header file
8 //
9 // Eva Bouhova <e.bouhova@cern.ch>
10 // Adam Barton <abarton@cern.ch>
11 
13 #include "GaudiKernel/ToolHandle.h"
14 #include "GaudiKernel/IPartPropSvc.h"
17 #include <vector>
19 // dummy EventContext for AnalysisBase
21 
22 namespace Trk {
23  class IVertexFitter;
24  class TrkVKalVrtFitter;
25  class IVertexCascadeFitter;
26  class VxCascadeInfo;
27  class V0Tools;
28 }
29 
30 namespace DerivationFramework {
31  class CascadeTools;
32 }
33 
34 namespace DerivationFramework {
35 
36  class JpsiPlusDpstCascade : public extends<AthAlgTool, IAugmentationTool>
37  {
38  public:
39  JpsiPlusDpstCascade(const std::string& t, const std::string& n, const IInterface* p);
41  virtual StatusCode initialize() override;
42  StatusCode performSearch(std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer, const EventContext& ctx ) const;
43  virtual StatusCode addBranches(const EventContext& ctx) const override;
44 
45  private:
46  std::string m_vertexContainerKey; // FIXME Use Handles
47  std::string m_vertexD0ContainerKey; // FIXME Use Handles
48  std::vector<std::string> m_cascadeOutputsKeys; // FIXME Use Handles
49 
51 
56  double m_D0MassLower;
57  double m_D0MassUpper;
60  double m_MassLower;
61  double m_MassUpper;
62  double m_vtx0MassHypo; // mass hypothesis of vertex 0
63  double m_vtx1MassHypo; // mass hypothesis of vertex 1
64  double m_vtx0Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 0
65  double m_vtx0Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 0
66  double m_vtx0Daug3MassHypo; // mass hypothesis of 3rd daughter from vertex 0
67  double m_vtx1Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 1
68  double m_vtx1Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 1
69 
70 
71  double m_mass_jpsi;
72  int m_Dx_pid;
73  bool m_constrD0;
75  double m_chi2cut;
76 
77  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "Input event information"};
78  ToolHandle < Trk::TrkVKalVrtFitter > m_iVertexFitter;
79  ToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
80  ToolHandle < Trk::V0Tools > m_V0Tools;
81  ToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
82  ServiceHandle<IPartPropSvc> m_partPropSvc{this, "PartPropSvc", "PartPropSvc"};
83 
84  bool m_refitPV;
85  std::string m_refPVContainerName;
86  std::string m_hypoName;
87  //This parameter will allow us to optimize the number of PVs under consideration as the probability
88  //of a useful primary vertex drops significantly the higher you go
89  int m_PV_max;
92 
93  };
94 }
95 
96 #endif
DerivationFramework::JpsiPlusDpstCascade::JpsiPlusDpstCascade
JpsiPlusDpstCascade(const std::string &t, const std::string &n, const IInterface *p)
Definition: JpsiPlusDpstCascade.cxx:397
DerivationFramework::JpsiPlusDpstCascade::m_DstMassUpper
double m_DstMassUpper
Definition: JpsiPlusDpstCascade.h:59
DerivationFramework::JpsiPlusDpstCascade::m_vtx0MassHypo
double m_vtx0MassHypo
Definition: JpsiPlusDpstCascade.h:62
DerivationFramework::JpsiPlusDpstCascade::m_PV_max
int m_PV_max
Definition: JpsiPlusDpstCascade.h:89
DerivationFramework::JpsiPlusDpstCascade
Definition: JpsiPlusDpstCascade.h:37
DerivationFramework::JpsiPlusDpstCascade::m_hypoName
std::string m_hypoName
name of the mass hypothesis.
Definition: JpsiPlusDpstCascade.h:86
DerivationFramework::JpsiPlusDpstCascade::m_MassUpper
double m_MassUpper
Definition: JpsiPlusDpstCascade.h:61
DerivationFramework::JpsiPlusDpstCascade::initialize
virtual StatusCode initialize() override
Definition: JpsiPlusDpstCascade.cxx:28
DerivationFramework::JpsiPlusDpstCascade::m_vtx0Daug3MassHypo
double m_vtx0Daug3MassHypo
Definition: JpsiPlusDpstCascade.h:66
DerivationFramework::JpsiPlusDpstCascade::m_iVertexFitter
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
Definition: JpsiPlusDpstCascade.h:78
CurrentContext.h
DerivationFramework::JpsiPlusDpstCascade::m_DstMassLower
double m_DstMassLower
Definition: JpsiPlusDpstCascade.h:58
IAugmentationTool.h
DerivationFramework::JpsiPlusDpstCascade::m_chi2cut
double m_chi2cut
Definition: JpsiPlusDpstCascade.h:75
DerivationFramework::JpsiPlusDpstCascade::m_V0Tools
ToolHandle< Trk::V0Tools > m_V0Tools
Definition: JpsiPlusDpstCascade.h:80
DerivationFramework::JpsiPlusDpstCascade::m_pvRefitter
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition: JpsiPlusDpstCascade.h:79
DerivationFramework::JpsiPlusDpstCascade::m_PV_minNTracks
size_t m_PV_minNTracks
Definition: JpsiPlusDpstCascade.h:91
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PrimaryVertexRefitter.h
SG::ReadHandleKey< xAOD::EventInfo >
DerivationFramework::JpsiPlusDpstCascade::m_DoVertexType
int m_DoVertexType
Definition: JpsiPlusDpstCascade.h:90
DerivationFramework::JpsiPlusDpstCascade::m_VxPrimaryCandidateName
std::string m_VxPrimaryCandidateName
Name of primary vertex container // FIXME Use Handles.
Definition: JpsiPlusDpstCascade.h:50
DerivationFramework::JpsiPlusDpstCascade::m_vertexD0ContainerKey
std::string m_vertexD0ContainerKey
Definition: JpsiPlusDpstCascade.h:47
DerivationFramework::JpsiPlusDpstCascade::~JpsiPlusDpstCascade
~JpsiPlusDpstCascade()
Definition: JpsiPlusDpstCascade.cxx:467
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
beamspotman.n
n
Definition: beamspotman.py:727
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::JpsiPlusDpstCascade::m_jpsiMassUpper
double m_jpsiMassUpper
Definition: JpsiPlusDpstCascade.h:53
DerivationFramework::JpsiPlusDpstCascade::performSearch
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer, const EventContext &ctx) const
Definition: JpsiPlusDpstCascade.cxx:469
AthAlgTool.h
DerivationFramework::JpsiPlusDpstCascade::m_jpsipiMassUpper
double m_jpsipiMassUpper
Definition: JpsiPlusDpstCascade.h:55
DerivationFramework::JpsiPlusDpstCascade::m_Dx_pid
int m_Dx_pid
Definition: JpsiPlusDpstCascade.h:72
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::JpsiPlusDpstCascade::m_vtx0Daug2MassHypo
double m_vtx0Daug2MassHypo
Definition: JpsiPlusDpstCascade.h:65
DerivationFramework::JpsiPlusDpstCascade::m_vtx1Daug1MassHypo
double m_vtx1Daug1MassHypo
Definition: JpsiPlusDpstCascade.h:67
DerivationFramework::JpsiPlusDpstCascade::m_partPropSvc
ServiceHandle< IPartPropSvc > m_partPropSvc
Definition: JpsiPlusDpstCascade.h:82
DerivationFramework::JpsiPlusDpstCascade::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: JpsiPlusDpstCascade.h:77
DerivationFramework::JpsiPlusDpstCascade::m_refitPV
bool m_refitPV
Definition: JpsiPlusDpstCascade.h:84
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DerivationFramework::JpsiPlusDpstCascade::m_cascadeOutputsKeys
std::vector< std::string > m_cascadeOutputsKeys
Definition: JpsiPlusDpstCascade.h:48
DerivationFramework::JpsiPlusDpstCascade::m_constrJpsi
bool m_constrJpsi
Definition: JpsiPlusDpstCascade.h:74
V0Tools
EventInfo.h
DerivationFramework::JpsiPlusDpstCascade::addBranches
virtual StatusCode addBranches(const EventContext &ctx) const override
Definition: JpsiPlusDpstCascade.cxx:60
DerivationFramework::JpsiPlusDpstCascade::m_jpsiMassLower
double m_jpsiMassLower
Definition: JpsiPlusDpstCascade.h:52
DerivationFramework::JpsiPlusDpstCascade::m_mass_jpsi
double m_mass_jpsi
Definition: JpsiPlusDpstCascade.h:71
DerivationFramework::JpsiPlusDpstCascade::m_vtx1Daug2MassHypo
double m_vtx1Daug2MassHypo
Definition: JpsiPlusDpstCascade.h:68
DerivationFramework::JpsiPlusDpstCascade::m_refPVContainerName
std::string m_refPVContainerName
Definition: JpsiPlusDpstCascade.h:85
DerivationFramework::JpsiPlusDpstCascade::m_vtx1MassHypo
double m_vtx1MassHypo
Definition: JpsiPlusDpstCascade.h:63
DerivationFramework::JpsiPlusDpstCascade::m_constrD0
bool m_constrD0
Definition: JpsiPlusDpstCascade.h:73
DerivationFramework::JpsiPlusDpstCascade::m_MassLower
double m_MassLower
Definition: JpsiPlusDpstCascade.h:60
DerivationFramework::JpsiPlusDpstCascade::m_vertexContainerKey
std::string m_vertexContainerKey
Definition: JpsiPlusDpstCascade.h:46
DerivationFramework::JpsiPlusDpstCascade::m_D0MassLower
double m_D0MassLower
Definition: JpsiPlusDpstCascade.h:56
DerivationFramework::JpsiPlusDpstCascade::m_D0MassUpper
double m_D0MassUpper
Definition: JpsiPlusDpstCascade.h:57
DerivationFramework::JpsiPlusDpstCascade::m_jpsipiMassLower
double m_jpsipiMassLower
Definition: JpsiPlusDpstCascade.h:54
DerivationFramework::JpsiPlusDpstCascade::m_CascadeTools
ToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
Definition: JpsiPlusDpstCascade.h:81
ServiceHandle< IPartPropSvc >
DerivationFramework::JpsiPlusDpstCascade::m_vtx0Daug1MassHypo
double m_vtx0Daug1MassHypo
Definition: JpsiPlusDpstCascade.h:64