ATLAS Offline Software
Loading...
Searching...
No Matches
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"
22#include <vector>
23#include <string>
24#include <bitset>
28
29namespace Trk {
30 class IVertexFitter;
31 class TrkVKalVrtFitter;
33}
34namespace InDet { class VertexPointEstimator; }
35
36namespace 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:
61 bool m_kMassHyp{};
63 double m_trkMaxEta{};
65 double m_BMassUpper{};
66 double m_BMassLower{};
73 bool m_excludeCrossJpsiTracks{}; //Added by Matteo Bedognetti
74 ToolHandle < Trk::IVertexFitter > m_iVertexFitter;
75 ToolHandle < Trk::ITrackSelectorTool > m_trkSelector;
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;
93
94 };
95} // end of namespace
96#endif
97
Property holding a SG store/key/clid from which a ReadHandle is made.
virtual StatusCode initialize() override
JpsiPlus1Track(const std::string &t, const std::string &n, const IInterface *p)
std::vector< double > m_muonMasses
xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &, const xAOD::TrackParticleContainer *, const xAOD::TrackParticleContainer *) const
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonsUsedInJpsi
SG::ReadHandleKey< xAOD::VertexContainer > m_jpsiCollectionKey
std::vector< int > m_useGSFTrackIndices
virtual StatusCode performSearch(const EventContext &ctx, xAOD::VertexContainer &) const override
ToolHandle< Trk::ITrackSelectorTool > m_trkSelector
std::bitset< 3 > m_useGSFTrack
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronCollectionKey
static double getInvariantMass(const std::vector< const xAOD::TrackParticle * > &trk, double mass1, double mass2, double mass3)
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
static const InterfaceID & interfaceID()
Trk::TrkVKalVrtFitter * m_VKVFitter
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrkParticleCollection
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_TrkParticleGSFCollection
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Some helper tools like: hits counter.
Property holding a SG store/key/clid from which a ReadHandle is made.
The abstract interface base class for track selector tools.
Interface class for vertex fitting AlgTools, for more detailed information, take a look at the header...
The namespace of all packages in PhysicsAnalysis/JetTagging.
static const InterfaceID IID_JpsiPlus1Track("JpsiPlus1Track", 1, 0)
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".