ATLAS Offline Software
MMPRDVariables.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 #ifndef MuonPRDTEST_MMPRDVARIABLES_H
6 #define MuonPRDTEST_MMPRDVARIABLES_H
7 
12 
13 
14 namespace MuonPRDTest{
16  public:
22  const std::string& prd_container_name,
23  MSG::Level msglvl);
24 
25  ~MMPRDVariables() = default;
26 
27  bool fill(const EventContext& ctx) override final;
28 
29  bool declare_keys() override final;
30 
35  unsigned int push_back(const Muon::MMPrepData& prd);
36 
38  void dumpAllHitsInChamber(const MuonGM::MMReadoutElement& detEle);
40  void enableSeededDump();
41  private:
42  unsigned int dump(const Muon::MMPrepData& prd);
43  SG::ReadHandleKey<Muon::MMPrepDataContainer> m_key{};
46  VectorBranch<float>& m_NSWMM_PRD_covMatrix_1_1{parent().newVector<float>("PRD_MM_covMatrix_1_1")};
50  MatrixBranch<short unsigned>& m_NSWMM_PRD_stripNumbers{parent().newMatrix<short unsigned>("PRD_MM_stripNumbers")}; //numbers of strips associated to the PRD cluster
51  MatrixBranch<short int>& m_NSWMM_PRD_stripTimes{parent().newMatrix<short int>("PRD_MM_stripTimes")}; //times of strips associated to the PRD cluster
52  MatrixBranch<int>& m_NSWMM_PRD_stripCharges{parent().newMatrix<int>("PRD_MM_stripCharges")}; //times of strips associated to the PRD cluster
56 
58  std::unordered_set<Identifier> m_filteredChamb{};
60  std::unordered_map<Identifier, unsigned int> m_filteredPRDs{};
62  bool m_applyFilter{false};
64  bool m_externalPush{false};
65 
66 
67  };
68 };
69 
70 #endif // MuonPRDTEST_MMPRDVARIABLES_H
MuonPRDTest::MMPRDVariables::dumpAllHitsInChamber
void dumpAllHitsInChamber(const MuonGM::MMReadoutElement &detEle)
Adds all hits in this particular chamber to the output n-tuple.
Definition: MMPRDVariables.cxx:51
MuonPRDTest::MMPRDVariables::MMPRDVariables
MMPRDVariables(MuonTesterTree &tree, const std::string &prd_container_name, MSG::Level msglvl)
Standard constructor taking the MuonTesterTree as parent The container name under which the MicroMega...
Definition: MMPRDVariables.cxx:11
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_stripNumbers
MatrixBranch< short unsigned > & m_NSWMM_PRD_stripNumbers
Definition: MMPRDVariables.h:50
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_author
VectorBranch< short > & m_NSWMM_PRD_author
Definition: MMPRDVariables.h:54
Muon::MMPrepDataContainer
MuonPrepDataContainerT< MMPrepData > MMPrepDataContainer
Definition: MuonPrepDataContainer.h:100
MuonPRDTest::MMPRDVariables::fill
bool fill(const EventContext &ctx) override final
The fill method checks if enough information is provided such that the branch is cleared from the inf...
Definition: MMPRDVariables.cxx:16
MMPrepDataContainer.h
MuonPRDTest::MMPRDVariables::dump
unsigned int dump(const Muon::MMPrepData &prd)
Definition: MMPRDVariables.cxx:56
MuonVal::VectorBranch< int >
MuonPRDTest::MMPRDVariables::m_filteredChamb
std::unordered_set< Identifier > m_filteredChamb
Set of chambers to be dumped.
Definition: MMPRDVariables.h:58
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
MuonVal::ThreeVectorBranch
Definition: ThreeVectorBranch.h:19
MuonVal::MuonTesterBranch::tree
TTree * tree() override final
Returns the underlying TTree object.
Definition: MuonTesterBranch.cxx:53
MuonPRDTest::MMPRDVariables::m_filteredPRDs
std::unordered_map< Identifier, unsigned int > m_filteredPRDs
Set of particular chambers to be dumped.
Definition: MMPRDVariables.h:60
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
MuonVal::MmIdentifierBranch
Branch to store all information of the MmIdentifier.
Definition: IdentifierBranch.h:110
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_globalPos
ThreeVectorBranch m_NSWMM_PRD_globalPos
Definition: MMPRDVariables.h:49
MuonPRDTest::MMPRDVariables::m_key
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_key
Definition: MMPRDVariables.h:43
MuonPRDTest::PrdTesterModule
Definition: PrdTesterModule.h:15
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_stripCharges
MatrixBranch< int > & m_NSWMM_PRD_stripCharges
Definition: MMPRDVariables.h:52
MuonPRDTest::MMPRDVariables::m_applyFilter
bool m_applyFilter
Apply a filter to dump the prds.
Definition: MMPRDVariables.h:62
MuonVal::MuonTesterTree::newVector
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.
PrdTesterModule.h
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_quality
VectorBranch< uint8_t > & m_NSWMM_PRD_quality
Definition: MMPRDVariables.h:55
MuonPRDTest::MMPRDVariables::push_back
unsigned int push_back(const Muon::MMPrepData &prd)
Adds a prd to the output tree.
Definition: MMPRDVariables.cxx:44
MuonPRDTest::MMPRDVariables::m_NSWMM_nPRD
ScalarBranch< unsigned int > & m_NSWMM_nPRD
Definition: MMPRDVariables.h:44
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_stripTimes
MatrixBranch< short int > & m_NSWMM_PRD_stripTimes
Definition: MMPRDVariables.h:51
MuonVal::ScalarBranch< unsigned int >
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
MuonVal::MuonTesterTree::newScalar
ScalarBranch< T > & newScalar(const std::string &name)
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_id
MmIdentifierBranch m_NSWMM_PRD_id
Definition: MMPRDVariables.h:53
MuonVal::MuonTesterBranch::parent
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.
Definition: MuonTesterBranch.cxx:38
MuonPRDTest::MMPRDVariables::~MMPRDVariables
~MMPRDVariables()=default
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_nStrips
VectorBranch< int > & m_NSWMM_PRD_nStrips
Definition: MMPRDVariables.h:47
MuonPRDTest::MMPRDVariables::declare_keys
bool declare_keys() override final
Definition: MMPRDVariables.cxx:14
MM_RawDataContainer.h
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_localPos
TwoVectorBranch m_NSWMM_PRD_localPos
Definition: MMPRDVariables.h:48
MuonVal::MatrixBranch< short unsigned >
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_covMatrix_1_1
VectorBranch< float > & m_NSWMM_PRD_covMatrix_1_1
Definition: MMPRDVariables.h:46
MuonPRDTest::MMPRDVariables::m_externalPush
bool m_externalPush
Flag telling whether an external prd has been pushed.
Definition: MMPRDVariables.h:64
MuonPRDTest::MMPRDVariables::enableSeededDump
void enableSeededDump()
Dumps only hits which are marked by the dumpAllHitsInChamber method.
Definition: MMPRDVariables.cxx:48
MuonPRDTest
Definition: CSCDigitVariables.h:10
MuonPRDTest::MMPRDVariables
Definition: MMPRDVariables.h:15
TwoVectorBranch.h
MuonVal::MuonTesterTree::newMatrix
MatrixBranch< T > & newMatrix(const std::string &name)
MuonPRDTest::MMPRDVariables::m_NSWMM_PRD_time
VectorBranch< int > & m_NSWMM_PRD_time
Definition: MMPRDVariables.h:45
MuonVal::TwoVectorBranch
Definition: TwoVectorBranch.h:15