ATLAS Offline Software
JpsiPlusDs1Cascade.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef JPSIPLUSDS1CASCADE_H
5 #define JPSIPLUSDS1CASCADE_H
6 //*********************
7 // JpsiPlusDs1Cascade header file
8 //
9 // Eva Bouhova <e.bouhova@cern.ch>
10 // Adam Barton <abarton@cern.ch>
11 
13 #include "GaudiKernel/ToolHandle.h"
16 #include <vector>
18 
19 namespace HepPDT{
20  class ParticleDataTable;
21 }
22 
23 namespace Trk {
24  class IVertexFitter;
25  class TrkVKalVrtFitter;
26  class IVertexCascadeFitter;
27  class VxCascadeInfo;
28  class V0Tools;
29 }
30 
31 namespace DerivationFramework {
32  class CascadeTools;
33 }
34 
35 namespace DerivationFramework {
36 
37  static const InterfaceID IID_JpsiPlusDs1Cascade("JpsiPlusDs1Cascade", 1, 0);
38 
39  class JpsiPlusDs1Cascade : virtual public AthAlgTool, public IAugmentationTool
40  {
41  public:
42  static const InterfaceID& interfaceID() { return IID_JpsiPlusDs1Cascade;}
43  JpsiPlusDs1Cascade(const std::string& t, const std::string& n, const IInterface* p);
45  virtual StatusCode initialize() override;
46  StatusCode performSearch(std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer ) const;
47  virtual StatusCode addBranches() const override;
48 
49  private:
50  std::string m_vertexContainerKey;
53  std::vector<std::string> m_cascadeOutputsKeys;
54 
56 
61  double m_D0MassLower;
62  double m_D0MassUpper;
63  double m_K0MassLower;
64  double m_K0MassUpper;
67  double m_MassLower;
68  double m_MassUpper;
69  double m_vtx0MassHypo; // mass hypothesis of vertex 0
70  double m_vtx1MassHypo; // mass hypothesis of vertex 1
71  double m_vtx2MassHypo; // mass hypothesis of vertex 2
72  double m_vtx0Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 0
73  double m_vtx0Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 0
74  double m_vtx0Daug3MassHypo; // mass hypothesis of 3rd daughter from vertex 0
75  double m_vtx1Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 1
76  double m_vtx1Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 1
77  double m_vtx2Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 2
78  double m_vtx2Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 2
79 
80  const HepPDT::ParticleDataTable* m_particleDataTable;
81  double m_mass_jpsi;
82  int m_Dx_pid;
83  bool m_constrD0;
84  bool m_constrK0;
86  double m_chi2cut;
87 
88  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "Input event information"};
89  ToolHandle < Trk::TrkVKalVrtFitter > m_iVertexFitter;
90  ToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
91  ToolHandle < Trk::V0Tools > m_V0Tools;
92  ToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
93 
94  bool m_refitPV;
95  std::string m_refPVContainerName;
96  std::string m_hypoName;
97  //This parameter will allow us to optimize the number of PVs under consideration as the probability
98  //of a useful primary vertex drops significantly the higher you go
99  int m_PV_max;
102 
103  double getParticleMass(int particlecode) const;
104  };
105 }
106 
107 #endif
DerivationFramework::JpsiPlusDs1Cascade::m_vtx0Daug2MassHypo
double m_vtx0Daug2MassHypo
Definition: JpsiPlusDs1Cascade.h:73
DerivationFramework::JpsiPlusDs1Cascade::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: JpsiPlusDs1Cascade.h:88
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
DerivationFramework::JpsiPlusDs1Cascade::m_vtx2Daug1MassHypo
double m_vtx2Daug1MassHypo
Definition: JpsiPlusDs1Cascade.h:77
IAugmentationTool.h
DerivationFramework::JpsiPlusDs1Cascade::m_CascadeTools
ToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
Definition: JpsiPlusDs1Cascade.h:92
DerivationFramework::JpsiPlusDs1Cascade::m_PV_minNTracks
size_t m_PV_minNTracks
Definition: JpsiPlusDs1Cascade.h:101
DerivationFramework::JpsiPlusDs1Cascade::m_vtx0Daug3MassHypo
double m_vtx0Daug3MassHypo
Definition: JpsiPlusDs1Cascade.h:74
DerivationFramework::JpsiPlusDs1Cascade::m_constrJpsi
bool m_constrJpsi
Definition: JpsiPlusDs1Cascade.h:85
DerivationFramework::JpsiPlusDs1Cascade::m_vtx1MassHypo
double m_vtx1MassHypo
Definition: JpsiPlusDs1Cascade.h:70
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PrimaryVertexRefitter.h
SG::ReadHandleKey< xAOD::EventInfo >
DerivationFramework::JpsiPlusDs1Cascade::getParticleMass
double getParticleMass(int particlecode) const
Definition: JpsiPlusDs1Cascade.cxx:28
DerivationFramework::JpsiPlusDs1Cascade::m_VxPrimaryCandidateName
std::string m_VxPrimaryCandidateName
Name of primary vertex container.
Definition: JpsiPlusDs1Cascade.h:55
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
DerivationFramework::JpsiPlusDs1Cascade::m_refitPV
bool m_refitPV
Definition: JpsiPlusDs1Cascade.h:94
DerivationFramework::JpsiPlusDs1Cascade::m_hypoName
std::string m_hypoName
name of the mass hypothesis.
Definition: JpsiPlusDs1Cascade.h:96
DerivationFramework::JpsiPlusDs1Cascade
Definition: JpsiPlusDs1Cascade.h:40
DerivationFramework::JpsiPlusDs1Cascade::m_jpsiMassUpper
double m_jpsiMassUpper
Definition: JpsiPlusDs1Cascade.h:58
DerivationFramework::JpsiPlusDs1Cascade::m_vertexContainerKey
std::string m_vertexContainerKey
Definition: JpsiPlusDs1Cascade.h:50
DerivationFramework::JpsiPlusDs1Cascade::m_D0MassUpper
double m_D0MassUpper
Definition: JpsiPlusDs1Cascade.h:62
DerivationFramework::JpsiPlusDs1Cascade::m_V0Tools
ToolHandle< Trk::V0Tools > m_V0Tools
Definition: JpsiPlusDs1Cascade.h:91
DerivationFramework::JpsiPlusDs1Cascade::m_constrK0
bool m_constrK0
Definition: JpsiPlusDs1Cascade.h:84
DerivationFramework::JpsiPlusDs1Cascade::performSearch
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer) const
Definition: JpsiPlusDs1Cascade.cxx:593
DerivationFramework::JpsiPlusDs1Cascade::m_vtx2Daug2MassHypo
double m_vtx2Daug2MassHypo
Definition: JpsiPlusDs1Cascade.h:78
DerivationFramework::JpsiPlusDs1Cascade::addBranches
virtual StatusCode addBranches() const override
Pass the thinning service
Definition: JpsiPlusDs1Cascade.cxx:69
DerivationFramework::JpsiPlusDs1Cascade::m_refPVContainerName
std::string m_refPVContainerName
Definition: JpsiPlusDs1Cascade.h:95
beamspotman.n
n
Definition: beamspotman.py:731
DerivationFramework::JpsiPlusDs1Cascade::m_vtx1Daug2MassHypo
double m_vtx1Daug2MassHypo
Definition: JpsiPlusDs1Cascade.h:76
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::JpsiPlusDs1Cascade::m_MassLower
double m_MassLower
Definition: JpsiPlusDs1Cascade.h:67
DerivationFramework::JpsiPlusDs1Cascade::m_cascadeOutputsKeys
std::vector< std::string > m_cascadeOutputsKeys
Definition: JpsiPlusDs1Cascade.h:53
AthAlgTool.h
DerivationFramework::JpsiPlusDs1Cascade::m_jpsiMassLower
double m_jpsiMassLower
Definition: JpsiPlusDs1Cascade.h:57
DerivationFramework::JpsiPlusDs1Cascade::m_DoVertexType
int m_DoVertexType
Definition: JpsiPlusDs1Cascade.h:100
DerivationFramework::JpsiPlusDs1Cascade::m_jpsipiMassLower
double m_jpsipiMassLower
Definition: JpsiPlusDs1Cascade.h:59
DerivationFramework::JpsiPlusDs1Cascade::m_chi2cut
double m_chi2cut
Definition: JpsiPlusDs1Cascade.h:86
DerivationFramework::JpsiPlusDs1Cascade::m_DstMassLower
double m_DstMassLower
Definition: JpsiPlusDs1Cascade.h:65
HepPDT
Definition: BeamHaloGenerator.h:13
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::JpsiPlusDs1Cascade::interfaceID
static const InterfaceID & interfaceID()
Definition: JpsiPlusDs1Cascade.h:42
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DerivationFramework::JpsiPlusDs1Cascade::m_vertexK0ContainerKey
std::string m_vertexK0ContainerKey
Definition: JpsiPlusDs1Cascade.h:52
DerivationFramework::JpsiPlusDs1Cascade::m_K0MassLower
double m_K0MassLower
Definition: JpsiPlusDs1Cascade.h:63
DerivationFramework::JpsiPlusDs1Cascade::m_PV_max
int m_PV_max
Definition: JpsiPlusDs1Cascade.h:99
DerivationFramework::JpsiPlusDs1Cascade::m_vtx0MassHypo
double m_vtx0MassHypo
Definition: JpsiPlusDs1Cascade.h:69
V0Tools
EventInfo.h
DerivationFramework::JpsiPlusDs1Cascade::initialize
virtual StatusCode initialize() override
Definition: JpsiPlusDs1Cascade.cxx:33
DerivationFramework::JpsiPlusDs1Cascade::m_particleDataTable
const HepPDT::ParticleDataTable * m_particleDataTable
Definition: JpsiPlusDs1Cascade.h:80
DerivationFramework::JpsiPlusDs1Cascade::JpsiPlusDs1Cascade
JpsiPlusDs1Cascade(const std::string &t, const std::string &n, const IInterface *p)
Definition: JpsiPlusDs1Cascade.cxx:506
DerivationFramework::JpsiPlusDs1Cascade::m_vtx1Daug1MassHypo
double m_vtx1Daug1MassHypo
Definition: JpsiPlusDs1Cascade.h:75
DerivationFramework::JpsiPlusDs1Cascade::m_pvRefitter
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition: JpsiPlusDs1Cascade.h:90
DerivationFramework::JpsiPlusDs1Cascade::m_MassUpper
double m_MassUpper
Definition: JpsiPlusDs1Cascade.h:68
DerivationFramework::JpsiPlusDs1Cascade::m_vertexD0ContainerKey
std::string m_vertexD0ContainerKey
Definition: JpsiPlusDs1Cascade.h:51
DerivationFramework::JpsiPlusDs1Cascade::~JpsiPlusDs1Cascade
~JpsiPlusDs1Cascade()
Definition: JpsiPlusDs1Cascade.cxx:591
DerivationFramework::JpsiPlusDs1Cascade::m_Dx_pid
int m_Dx_pid
Definition: JpsiPlusDs1Cascade.h:82
DerivationFramework::JpsiPlusDs1Cascade::m_vtx2MassHypo
double m_vtx2MassHypo
Definition: JpsiPlusDs1Cascade.h:71
DerivationFramework::JpsiPlusDs1Cascade::m_D0MassLower
double m_D0MassLower
Definition: JpsiPlusDs1Cascade.h:61
DerivationFramework::JpsiPlusDs1Cascade::m_iVertexFitter
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
Definition: JpsiPlusDs1Cascade.h:89
AthAlgTool
Definition: AthAlgTool.h:26
DerivationFramework::JpsiPlusDs1Cascade::m_mass_jpsi
double m_mass_jpsi
Definition: JpsiPlusDs1Cascade.h:81
DerivationFramework::JpsiPlusDs1Cascade::m_vtx0Daug1MassHypo
double m_vtx0Daug1MassHypo
Definition: JpsiPlusDs1Cascade.h:72
DerivationFramework::JpsiPlusDs1Cascade::m_jpsipiMassUpper
double m_jpsipiMassUpper
Definition: JpsiPlusDs1Cascade.h:60
DerivationFramework::JpsiPlusDs1Cascade::m_K0MassUpper
double m_K0MassUpper
Definition: JpsiPlusDs1Cascade.h:64
DerivationFramework::JpsiPlusDs1Cascade::m_constrD0
bool m_constrD0
Definition: JpsiPlusDs1Cascade.h:83
DerivationFramework::JpsiPlusDs1Cascade::m_DstMassUpper
double m_DstMassUpper
Definition: JpsiPlusDs1Cascade.h:66