ATLAS Offline Software
Thin_vtxTrk.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // Thin_vtxTrk.h
8 
9 #ifndef DERIVATIONFRAMEWORK_Thin_vtxTrk_H
10 #define DERIVATIONFRAMEWORK_Thin_vtxTrk_H
11 
16 #include "GaudiKernel/ToolHandle.h"
20 #include <string>
21 
22 namespace SG{
23  template <class T>
24  using ThinningHandleKeyArray = HandleKeyArray<ReadHandle<T>, ThinningHandleKey<T>, Gaudi::DataHandle::Reader >;
25 }
26 
27 namespace DerivationFramework {
28 
29  class Thin_vtxTrk : public AthAlgTool, public IThinningTool {
30  public:
31  Thin_vtxTrk(const std::string& t, const std::string& n, const IInterface* p);
35  virtual StatusCode doThinning() const;
36 
37  private:
38  StringProperty m_streamName{ this, "StreamName", "", "Name of the stream being thinned" };
39  mutable std::atomic<unsigned int> m_ntot, m_npass;
40  double m_acceptanceR;
41  mutable std::atomic<unsigned int> m_nVtxTot, m_nVtxPass;
42 
45  std::vector<std::string> m_passFlags;
48  bool m_noFlags; //To take all entries, regardless of flags
49  };
50 }
51 
52 #endif
SG::ThinningHandleKeyArray
HandleKeyArray< ThinningHandle< T >, ThinningHandleKey< T >, Gaudi::DataHandle::Reader > ThinningHandleKeyArray
Definition: ThinningHandleKeyArray.h:28
DerivationFramework::Thin_vtxTrk::m_ntot
std::atomic< unsigned int > m_ntot
Definition: Thin_vtxTrk.h:39
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
DerivationFramework::Thin_vtxTrk
Definition: Thin_vtxTrk.h:29
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
DerivationFramework::IThinningTool
Definition: IThinningTool.h:24
DerivationFramework::Thin_vtxTrk::m_passArray
SG::ReadDecorHandleKeyArray< xAOD::VertexContainer > m_passArray
Definition: Thin_vtxTrk.h:46
IThinningTool.h
DerivationFramework::Thin_vtxTrk::~Thin_vtxTrk
~Thin_vtxTrk()
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::Thin_vtxTrk::m_trackParticleContainerName
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_trackParticleContainerName
Definition: Thin_vtxTrk.h:43
DerivationFramework::Thin_vtxTrk::m_nVtxPass
std::atomic< unsigned int > m_nVtxPass
Definition: Thin_vtxTrk.h:41
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::Thin_vtxTrk::m_passFlags
std::vector< std::string > m_passFlags
Definition: Thin_vtxTrk.h:45
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
LHEF::Reader
Pythia8::Reader Reader
Definition: Prophecy4fMerger.cxx:11
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::Thin_vtxTrk::m_nVtxTot
std::atomic< unsigned int > m_nVtxTot
Definition: Thin_vtxTrk.h:41
DerivationFramework::Thin_vtxTrk::m_vertexContainerName
SG::ThinningHandleKeyArray< xAOD::VertexContainer > m_vertexContainerName
Definition: Thin_vtxTrk.h:44
DerivationFramework::Thin_vtxTrk::m_npass
std::atomic< unsigned int > m_npass
Definition: Thin_vtxTrk.h:39
DerivationFramework::Thin_vtxTrk::initialize
StatusCode initialize()
Definition: Thin_vtxTrk.cxx:42
HandleKeyArray.h
DerivationFramework::Thin_vtxTrk::Thin_vtxTrk
Thin_vtxTrk(const std::string &t, const std::string &n, const IInterface *p)
Definition: Thin_vtxTrk.cxx:19
DerivationFramework::Thin_vtxTrk::m_thinTracks
bool m_thinTracks
Definition: Thin_vtxTrk.h:47
VertexContainer.h
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
DerivationFramework::Thin_vtxTrk::doThinning
virtual StatusCode doThinning() const
Pass the thinning service
Definition: Thin_vtxTrk.cxx:90
DerivationFramework::Thin_vtxTrk::m_streamName
StringProperty m_streamName
Definition: Thin_vtxTrk.h:38
DerivationFramework::Thin_vtxTrk::finalize
StatusCode finalize()
Definition: Thin_vtxTrk.cxx:80
AthAlgTool
Definition: AthAlgTool.h:26
ReadDecorHandleKeyArray.h
TrackParticleContainer.h
DerivationFramework::Thin_vtxTrk::m_noFlags
bool m_noFlags
Definition: Thin_vtxTrk.h:48
DerivationFramework::Thin_vtxTrk::m_acceptanceR
double m_acceptanceR
Definition: Thin_vtxTrk.h:40