ATLAS Offline Software
JpsiPlusDsCascade.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 JPSIPLUSDSCASCADE_H
5 #define JPSIPLUSDSCASCADE_H
6 //*********************
7 // JpsiPlusDsCascade 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 Trk {
20  class IVertexFitter;
21  class TrkVKalVrtFitter;
22  class IVertexCascadeFitter;
23  class VxCascadeInfo;
24  class V0Tools;
25  class ParticleDataTable;
26 }
27 
28 namespace DerivationFramework {
29  class CascadeTools;
30 }
31 
32 namespace DerivationFramework {
33 
34  static const InterfaceID IID_JpsiPlusDsCascade("JpsiPlusDsCascade", 1, 0);
35 
36  class JpsiPlusDsCascade : virtual public AthAlgTool, public IAugmentationTool
37  {
38  public:
39  static const InterfaceID& interfaceID() { return IID_JpsiPlusDsCascade;}
40  JpsiPlusDsCascade(const std::string& t, const std::string& n, const IInterface* p);
42  virtual StatusCode initialize() override;
43  StatusCode performSearch(std::vector<Trk::VxCascadeInfo*> *cascadeinfoContainer ) const;
44  virtual StatusCode addBranches() const override;
45 
46  private:
47  std::string m_vertexContainerKey;
49  std::vector<std::string> m_cascadeOutputsKeys;
50 
52 
55  double m_DxMassLower;
56  double m_DxMassUpper;
57  double m_MassLower;
58  double m_MassUpper;
59  double m_vtx0MassHypo; // 1st vertex mass hypothesis
60  double m_vtx1MassHypo; // 2nd vertex mass hypothesis
61  double m_vtx0Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 0
62  double m_vtx0Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 0
63  double m_vtx1Daug1MassHypo; // mass hypothesis of 1st daughter from vertex 1
64  double m_vtx1Daug2MassHypo; // mass hypothesis of 2nd daughter from vertex 1
65  double m_vtx1Daug3MassHypo; // mass hypothesis of 3rd daughter from vertex 1
66 
67  double m_mass_jpsi;
68  int m_Dx_pid;
69  bool m_constrDx;
71  double m_chi2cut;
72 
73  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "Input event information"};
74  ToolHandle < Trk::TrkVKalVrtFitter > m_iVertexFitter;
75  ToolHandle < Analysis::PrimaryVertexRefitter > m_pvRefitter;
76  ToolHandle < Trk::V0Tools > m_V0Tools;
77  ToolHandle < DerivationFramework::CascadeTools > m_CascadeTools;
78 
79  bool m_refitPV;
80  std::string m_refPVContainerName;
81  std::string m_hypoName;
82  //This parameter will allow us to optimize the number of PVs under consideration as the probability
83  //of a useful primary vertex drops significantly the higher you go
84  int m_PV_max;
87 
88  };
89 }
90 
91 #endif
DerivationFramework::JpsiPlusDsCascade::m_vtx0Daug1MassHypo
double m_vtx0Daug1MassHypo
Definition: JpsiPlusDsCascade.h:61
DerivationFramework::JpsiPlusDsCascade::initialize
virtual StatusCode initialize() override
Definition: JpsiPlusDsCascade.cxx:28
DerivationFramework::JpsiPlusDsCascade::m_vtx1MassHypo
double m_vtx1MassHypo
Definition: JpsiPlusDsCascade.h:60
DerivationFramework::JpsiPlusDsCascade::interfaceID
static const InterfaceID & interfaceID()
Definition: JpsiPlusDsCascade.h:39
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
DerivationFramework::JpsiPlusDsCascade::m_MassLower
double m_MassLower
Definition: JpsiPlusDsCascade.h:57
DerivationFramework::JpsiPlusDsCascade::m_DxMassUpper
double m_DxMassUpper
Definition: JpsiPlusDsCascade.h:56
DerivationFramework::JpsiPlusDsCascade::m_chi2cut
double m_chi2cut
Definition: JpsiPlusDsCascade.h:71
IAugmentationTool.h
DerivationFramework::JpsiPlusDsCascade::m_PV_minNTracks
size_t m_PV_minNTracks
Definition: JpsiPlusDsCascade.h:86
DerivationFramework::JpsiPlusDsCascade::m_constrJpsi
bool m_constrJpsi
Definition: JpsiPlusDsCascade.h:70
DerivationFramework::JpsiPlusDsCascade::m_constrDx
bool m_constrDx
Definition: JpsiPlusDsCascade.h:69
DerivationFramework::JpsiPlusDsCascade::performSearch
StatusCode performSearch(std::vector< Trk::VxCascadeInfo * > *cascadeinfoContainer) const
Definition: JpsiPlusDsCascade.cxx:471
DerivationFramework::JpsiPlusDsCascade::m_CascadeTools
ToolHandle< DerivationFramework::CascadeTools > m_CascadeTools
Definition: JpsiPlusDsCascade.h:77
DerivationFramework::JpsiPlusDsCascade::m_jpsiMassLower
double m_jpsiMassLower
Definition: JpsiPlusDsCascade.h:53
DerivationFramework::JpsiPlusDsCascade::m_V0Tools
ToolHandle< Trk::V0Tools > m_V0Tools
Definition: JpsiPlusDsCascade.h:76
DerivationFramework::JpsiPlusDsCascade::m_vtx1Daug3MassHypo
double m_vtx1Daug3MassHypo
Definition: JpsiPlusDsCascade.h:65
DerivationFramework::JpsiPlusDsCascade::m_PV_max
int m_PV_max
Definition: JpsiPlusDsCascade.h:84
DerivationFramework::JpsiPlusDsCascade::addBranches
virtual StatusCode addBranches() const override
Pass the thinning service
Definition: JpsiPlusDsCascade.cxx:68
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PrimaryVertexRefitter.h
SG::ReadHandleKey< xAOD::EventInfo >
DerivationFramework::JpsiPlusDsCascade::m_vertexContainerKey
std::string m_vertexContainerKey
Definition: JpsiPlusDsCascade.h:47
DerivationFramework::JpsiPlusDsCascade::m_pvRefitter
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition: JpsiPlusDsCascade.h:75
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
DerivationFramework::JpsiPlusDsCascade::m_MassUpper
double m_MassUpper
Definition: JpsiPlusDsCascade.h:58
DerivationFramework::JpsiPlusDsCascade::m_Dx_pid
int m_Dx_pid
Definition: JpsiPlusDsCascade.h:68
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
DerivationFramework::JpsiPlusDsCascade::m_VxPrimaryCandidateName
std::string m_VxPrimaryCandidateName
Name of primary vertex container.
Definition: JpsiPlusDsCascade.h:51
DerivationFramework::JpsiPlusDsCascade::m_iVertexFitter
ToolHandle< Trk::TrkVKalVrtFitter > m_iVertexFitter
Definition: JpsiPlusDsCascade.h:74
DerivationFramework::JpsiPlusDsCascade::m_vertexDxContainerKey
std::string m_vertexDxContainerKey
Definition: JpsiPlusDsCascade.h:48
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::JpsiPlusDsCascade::~JpsiPlusDsCascade
~JpsiPlusDsCascade()
Definition: JpsiPlusDsCascade.cxx:469
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
DerivationFramework::JpsiPlusDsCascade::m_refPVContainerName
std::string m_refPVContainerName
Definition: JpsiPlusDsCascade.h:80
DerivationFramework::JpsiPlusDsCascade::m_vtx0Daug2MassHypo
double m_vtx0Daug2MassHypo
Definition: JpsiPlusDsCascade.h:62
DerivationFramework::JpsiPlusDsCascade::m_vtx1Daug2MassHypo
double m_vtx1Daug2MassHypo
Definition: JpsiPlusDsCascade.h:64
DerivationFramework::JpsiPlusDsCascade::m_refitPV
bool m_refitPV
Definition: JpsiPlusDsCascade.h:79
V0Tools
EventInfo.h
DerivationFramework::JpsiPlusDsCascade::m_DoVertexType
int m_DoVertexType
Definition: JpsiPlusDsCascade.h:85
DerivationFramework::JpsiPlusDsCascade::m_mass_jpsi
double m_mass_jpsi
Definition: JpsiPlusDsCascade.h:67
DerivationFramework::JpsiPlusDsCascade::m_cascadeOutputsKeys
std::vector< std::string > m_cascadeOutputsKeys
Definition: JpsiPlusDsCascade.h:49
DerivationFramework::JpsiPlusDsCascade::m_vtx1Daug1MassHypo
double m_vtx1Daug1MassHypo
Definition: JpsiPlusDsCascade.h:63
DerivationFramework::JpsiPlusDsCascade
Definition: JpsiPlusDsCascade.h:37
DerivationFramework::JpsiPlusDsCascade::m_jpsiMassUpper
double m_jpsiMassUpper
Definition: JpsiPlusDsCascade.h:54
AthAlgTool
Definition: AthAlgTool.h:26
DerivationFramework::JpsiPlusDsCascade::m_vtx0MassHypo
double m_vtx0MassHypo
Definition: JpsiPlusDsCascade.h:59
DerivationFramework::JpsiPlusDsCascade::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: JpsiPlusDsCascade.h:73
DerivationFramework::JpsiPlusDsCascade::JpsiPlusDsCascade
JpsiPlusDsCascade(const std::string &t, const std::string &n, const IInterface *p)
Definition: JpsiPlusDsCascade.cxx:407
DerivationFramework::JpsiPlusDsCascade::m_DxMassLower
double m_DxMassLower
Definition: JpsiPlusDsCascade.h:55
DerivationFramework::JpsiPlusDsCascade::m_hypoName
std::string m_hypoName
name of the mass hypothesis.
Definition: JpsiPlusDsCascade.h:81