ATLAS Offline Software
JpsiPlus1Track.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // ****************************************************************************
6 // ----------------------------------------------------------------------------
7 // JpsiFinder header file
8 //
9 // James Catmore <James.Catmore@cern.ch>
10 
11 // ----------------------------------------------------------------------------
12 // ****************************************************************************
13 #ifndef JPSIPLUS1TRACK_H
14 #define JPSIPLUS1TRACK_H
16 #include "GaudiKernel/ToolHandle.h"
18 #include "xAODMuon/MuonContainer.h"
19 #include "xAODTracking/VertexFwd.h"
22 #include <vector>
23 #include <string>
24 #include <bitset>
28 
29 namespace Trk {
30  class IVertexFitter;
31  class TrkVKalVrtFitter;
32  class ITrackSelectorTool;
33 }
34 namespace InDet { class VertexPointEstimator; }
35 
36 namespace Analysis {
37 
38  static const InterfaceID IID_JpsiPlus1Track("JpsiPlus1Track", 1, 0);
39 
41  {
42  public:
43  JpsiPlus1Track(const std::string& t, const std::string& n, const IInterface* p);
45  virtual StatusCode initialize() override;
46 
47  static const InterfaceID& interfaceID() { return IID_JpsiPlus1Track;};
48  static double getInvariantMass(const std::vector<const xAOD::TrackParticle*> &trk, double mass1,
49  double mass2, double mass3);
50 
51 
52 
53  //-------------------------------------------------------------------------------------
54  //Doing Calculation and inline functions
55  virtual StatusCode performSearch(const EventContext& ctx , xAOD::VertexContainer&) const override;
56  xAOD::Vertex* fit(const std::vector<const xAOD::TrackParticle*>&, const xAOD::TrackParticleContainer*, const xAOD::TrackParticleContainer*) const;
57  //-------------------------------------------------------------------------------------
58 
59  private:
60  bool m_piMassHyp{};
61  bool m_kMassHyp{};
62  double m_trkThresholdPt{};
63  double m_trkMaxEta{};
64  double m_BThresholdPt{};
65  double m_BMassUpper{};
66  double m_BMassLower{};
68  double m_jpsiMassUpper{};
69  double m_jpsiMassLower{};
73  bool m_excludeCrossJpsiTracks{}; //Added by Matteo Bedognetti
74  ToolHandle < Trk::IVertexFitter > m_iVertexFitter;
75  ToolHandle < Trk::ITrackSelectorTool > m_trkSelector;
78  double m_altMassConst{};
79  double m_chi2cut{};
82  double m_trkTrippletPt {};
83  double m_trkDeltaZ {};
86  std::vector<double> m_muonMasses;
87  std::vector<int> m_useGSFTrackIndices;
89  std::bitset<3> m_useGSFTrack;
91  bool m_skipNoElectron = false;
92  size_t m_candidateLimit{};
93 
94  };
95 } // end of namespace
96 #endif
97 
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
Analysis::JpsiPlus1Track::~JpsiPlus1Track
~JpsiPlus1Track()
Definition: JpsiPlus1Track.cxx:136
Analysis::JpsiPlus1Track::m_requiredNMuons
int m_requiredNMuons
Definition: JpsiPlus1Track.h:84
VertexContainerFwd.h
Analysis::JpsiPlus1Track::m_candidateLimit
size_t m_candidateLimit
Definition: JpsiPlus1Track.h:92
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
Analysis::JpsiPlus1Track::m_useGSFTrack
std::bitset< 3 > m_useGSFTrack
Definition: JpsiPlus1Track.h:89
ICandidateSearch.h
Analysis::JpsiPlus1Track::JpsiPlus1Track
JpsiPlus1Track(const std::string &t, const std::string &n, const IInterface *p)
Definition: JpsiPlus1Track.cxx:72
Analysis::JpsiPlus1Track::m_jpsiMassLower
double m_jpsiMassLower
Definition: JpsiPlus1Track.h:69
Analysis::JpsiPlus1Track
Definition: JpsiPlus1Track.h:41
Analysis::JpsiPlus1Track::m_BMassUpper
double m_BMassUpper
Definition: JpsiPlus1Track.h:65
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
Analysis::JpsiPlus1Track::m_TrkParticleGSFCollection
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrkParticleGSFCollection
Definition: JpsiPlus1Track.h:88
Analysis::JpsiPlus1Track::m_muonMasses
std::vector< double > m_muonMasses
Definition: JpsiPlus1Track.h:86
Analysis::JpsiPlus1Track::m_trkDeltaZ
double m_trkDeltaZ
Definition: JpsiPlus1Track.h:83
Analysis::JpsiPlus1Track::m_trkTrippletMassUpper
double m_trkTrippletMassUpper
Definition: JpsiPlus1Track.h:80
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
Analysis::JpsiPlus1Track::m_BThresholdPt
double m_BThresholdPt
Definition: JpsiPlus1Track.h:64
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
Analysis::JpsiPlus1Track::m_excludeJpsiMuonsOnly
bool m_excludeJpsiMuonsOnly
Definition: JpsiPlus1Track.h:72
Analysis::JpsiPlus1Track::m_jpsiMassUpper
double m_jpsiMassUpper
Definition: JpsiPlus1Track.h:68
Analysis::JpsiPlus1Track::m_useGSFTrackIndices
std::vector< int > m_useGSFTrackIndices
Definition: JpsiPlus1Track.h:87
Analysis::JpsiPlus1Track::m_piMassHyp
bool m_piMassHyp
Definition: JpsiPlus1Track.h:60
Analysis::JpsiPlus1Track::performSearch
virtual StatusCode performSearch(const EventContext &ctx, xAOD::VertexContainer &) const override
Definition: JpsiPlus1Track.cxx:141
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
Analysis::JpsiPlus1Track::getInvariantMass
static double getInvariantMass(const std::vector< const xAOD::TrackParticle * > &trk, double mass1, double mass2, double mass3)
Definition: JpsiPlus1Track.cxx:473
Analysis::ICandidateSearch
Definition: ICandidateSearch.h:10
Analysis::JpsiPlus1Track::initialize
virtual StatusCode initialize() override
Definition: JpsiPlus1Track.cxx:37
Analysis::JpsiPlus1Track::fit
xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &, const xAOD::TrackParticleContainer *, const xAOD::TrackParticleContainer *) const
Definition: JpsiPlus1Track.cxx:428
Analysis::JpsiPlus1Track::m_jpsiCollectionKey
SG::ReadHandleKey< xAOD::VertexContainer > m_jpsiCollectionKey
Definition: JpsiPlus1Track.h:67
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Analysis::JpsiPlus1Track::m_VKVFitter
Trk::TrkVKalVrtFitter * m_VKVFitter
Definition: JpsiPlus1Track.h:76
Analysis::JpsiPlus1Track::m_BMassLower
double m_BMassLower
Definition: JpsiPlus1Track.h:66
Analysis::JpsiPlus1Track::m_trkThresholdPt
double m_trkThresholdPt
Definition: JpsiPlus1Track.h:62
Analysis::JpsiPlus1Track::m_trkTrippletMassLower
double m_trkTrippletMassLower
Definition: JpsiPlus1Track.h:81
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
Analysis::JpsiPlus1Track::m_TrkParticleCollection
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrkParticleCollection
Definition: JpsiPlus1Track.h:70
Analysis::JpsiPlus1Track::m_chi2cut
double m_chi2cut
Definition: JpsiPlus1Track.h:79
VertexFwd.h
MuonContainer.h
Analysis::JpsiPlus1Track::m_trkSelector
ToolHandle< Trk::ITrackSelectorTool > m_trkSelector
Definition: JpsiPlus1Track.h:75
ElectronContainerFwd.h
Analysis::JpsiPlus1Track::m_useMassConst
bool m_useMassConst
Definition: JpsiPlus1Track.h:77
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
TrackParticleFwd.h
Analysis::JpsiPlus1Track::m_electronCollectionKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronCollectionKey
Definition: JpsiPlus1Track.h:90
Analysis::JpsiPlus1Track::m_altMassConst
double m_altMassConst
Definition: JpsiPlus1Track.h:78
Analysis::JpsiPlus1Track::m_iVertexFitter
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
Definition: JpsiPlus1Track.h:74
Analysis::JpsiPlus1Track::m_skipNoElectron
bool m_skipNoElectron
Definition: JpsiPlus1Track.h:91
Analysis::JpsiPlus1Track::interfaceID
static const InterfaceID & interfaceID()
Definition: JpsiPlus1Track.h:47
Analysis::JpsiPlus1Track::m_requiredNElectrons
int m_requiredNElectrons
Definition: JpsiPlus1Track.h:85
AthAlgTool
Definition: AthAlgTool.h:26
Analysis::JpsiPlus1Track::m_kMassHyp
bool m_kMassHyp
Definition: JpsiPlus1Track.h:61
Analysis::JpsiPlus1Track::m_MuonsUsedInJpsi
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonsUsedInJpsi
Definition: JpsiPlus1Track.h:71
Analysis::JpsiPlus1Track::m_trkTrippletPt
double m_trkTrippletPt
Definition: JpsiPlus1Track.h:82
Analysis::JpsiPlus1Track::m_trkMaxEta
double m_trkMaxEta
Definition: JpsiPlus1Track.h:63
Analysis::JpsiPlus1Track::m_excludeCrossJpsiTracks
bool m_excludeCrossJpsiTracks
Definition: JpsiPlus1Track.h:73
Trk::TrkVKalVrtFitter
Definition: TrkVKalVrtFitter.h:67