ATLAS Offline Software
sTGCPRDVariables.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_sTGCPRDVARIABLES_H
6 #define MuonPRDTEST_sTGCPRDVARIABLES_H
7 
11 
12 namespace MuonPRDTest{
14  public:
15 
22  const std::string& container_name,
23  MSG::Level msglvl);
24 
25  ~sTGCPRDVariables() = 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::sTgcPrepData& prd);
36 
38  void dumpAllHitsInChamber(const MuonGM::sTgcReadoutElement& detEle);
40  void enableSeededDump();
41 
42 
43  private:
44  unsigned int dump(const Muon::sTgcPrepData& prd);
45  SG::ReadHandleKey<Muon::sTgcPrepDataContainer> m_key{};
46  ScalarBranch<unsigned int>& m_NSWsTGC_nPRD{parent().newScalar<unsigned int>("N_PRD_sTGC")};
47  VectorBranch<double>& m_NSWsTGC_PRD_localPosX{parent().newVector<double>("PRD_sTGC_localPosX")};
48  VectorBranch<double>& m_NSWsTGC_PRD_localPosY{parent().newVector<double>("PRD_sTGC_localPosY")};
50  VectorBranch<double>& m_NSWsTGC_PRD_covMatrix_1_1{parent().newVector<double>("PRD_sTGC_covMatrix_1_1")};
51  VectorBranch<double>& m_NSWsTGC_PRD_covMatrix_2_2{parent().newVector<double>("PRD_sTGC_covMatrix_2_2")};
53 
57 
58  MatrixBranch<int>& m_NSWsTGC_PRD_stripCharge{parent().newMatrix<int>("PRD_sTGC_stripCharge")};
59  MatrixBranch<short>& m_NSWsTGC_PRD_stripTime{parent().newMatrix<short>("PRD_sTGC_stripTime")};
61 
64 
65 
67  std::unordered_set<Identifier> m_filteredChamb{};
69  std::unordered_map<Identifier, unsigned int> m_filteredPRDs{};
71  bool m_applyFilter{false};
73  bool m_externalPush{false};
74  };
75 };
76 
77 #endif // MuonPRDTEST_sTGCPRDVARIABLES_H
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_covMatrix_1_1
VectorBranch< double > & m_NSWsTGC_PRD_covMatrix_1_1
Definition: sTGCPRDVariables.h:50
MuonPRDTest::sTGCPRDVariables::declare_keys
bool declare_keys() override final
Definition: sTGCPRDVariables.cxx:12
MuonPRDTest::sTGCPRDVariables::dumpAllHitsInChamber
void dumpAllHitsInChamber(const MuonGM::sTgcReadoutElement &detEle)
Adds all hits in this particular chamber to the output n-tuple.
Definition: sTGCPRDVariables.cxx:88
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_stripCharge
MatrixBranch< int > & m_NSWsTGC_PRD_stripCharge
Definition: sTGCPRDVariables.h:58
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition: GeoMuonHits.h:27
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
MuonVal::sTgcIdentifierBranch
Branch to store all information of the sTgcIdentifier.
Definition: IdentifierBranch.h:96
MuonPRDTest::sTGCPRDVariables::m_filteredPRDs
std::unordered_map< Identifier, unsigned int > m_filteredPRDs
Set of particular chambers to be dumped.
Definition: sTGCPRDVariables.h:69
MuonPRDTest::sTGCPRDVariables::m_externalPush
bool m_externalPush
Flag telling whether an external prd has been pushed.
Definition: sTGCPRDVariables.h:73
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_covMatrix_2_2
VectorBranch< double > & m_NSWsTGC_PRD_covMatrix_2_2
Definition: sTGCPRDVariables.h:51
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_localPosY
VectorBranch< double > & m_NSWsTGC_PRD_localPosY
Definition: sTGCPRDVariables.h:48
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_charge
VectorBranch< int > & m_NSWsTGC_PRD_charge
Definition: sTGCPRDVariables.h:54
MuonVal::VectorBranch< double >
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:45
MuonPRDTest::sTGCPRDVariables::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: sTGCPRDVariables.cxx:14
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_localPosX
VectorBranch< double > & m_NSWsTGC_PRD_localPosX
Definition: sTGCPRDVariables.h:47
MuonPRDTest::sTGCPRDVariables
Definition: sTGCPRDVariables.h:13
sTgcPrepDataContainer.h
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_stripChannel
MatrixBranch< uint16_t > & m_NSWsTGC_PRD_stripChannel
Definition: sTGCPRDVariables.h:60
MuonVal::ThreeVectorBranch
Definition: ThreeVectorBranch.h:19
MuonVal::MuonTesterBranch::tree
TTree * tree() override final
Returns the underlying TTree object.
Definition: MuonTesterBranch.cxx:53
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_time
VectorBranch< short > & m_NSWsTGC_PRD_time
Definition: sTGCPRDVariables.h:55
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
MuonVal::MuonTesterTree
Definition: MuonTesterTree.h:30
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
MuonPRDTest::PrdTesterModule
Definition: PrdTesterModule.h:15
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_nStrips
VectorBranch< int > & m_NSWsTGC_PRD_nStrips
Definition: sTGCPRDVariables.h:56
MuonPRDTest::sTGCPRDVariables::m_applyFilter
bool m_applyFilter
Apply a filter to dump the prds.
Definition: sTGCPRDVariables.h:71
MuonVal::MuonTesterTree::newVector
VectorBranch< T > & newVector(const std::string &name)
Creates new branches and returns their reference.
PrdTesterModule.h
MuonVal::ScalarBranch< unsigned int >
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
MuonPRDTest::sTGCPRDVariables::~sTGCPRDVariables
~sTGCPRDVariables()=default
MuonVal::MuonTesterTree::newScalar
ScalarBranch< T > & newScalar(const std::string &name)
MuonPRDTest::sTGCPRDVariables::push_back
unsigned int push_back(const Muon::sTgcPrepData &prd)
Adds a prd to the output tree.
Definition: sTGCPRDVariables.cxx:79
MuonVal::MuonTesterBranch::parent
MuonTesterTree & parent()
Returns the reference to the MuonTesterTree parent.
Definition: MuonTesterBranch.cxx:38
MuonVal::MatrixBranch< int >
MuonPRDTest::sTGCPRDVariables::m_filteredChamb
std::unordered_set< Identifier > m_filteredChamb
Set of chambers to be dumped.
Definition: sTGCPRDVariables.h:67
MuonPRDTest
Definition: CSCDigitVariables.h:10
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_stripTime
MatrixBranch< short > & m_NSWsTGC_PRD_stripTime
Definition: sTGCPRDVariables.h:59
MuonPRDTest::sTGCPRDVariables::dump
unsigned int dump(const Muon::sTgcPrepData &prd)
Definition: sTGCPRDVariables.cxx:93
TwoVectorBranch.h
MuonVal::MuonTesterTree::newMatrix
MatrixBranch< T > & newMatrix(const std::string &name)
MuonPRDTest::sTGCPRDVariables::m_stgcQuality
VectorBranch< uint8_t > & m_stgcQuality
Definition: sTGCPRDVariables.h:63
MuonPRDTest::sTGCPRDVariables::sTGCPRDVariables
sTGCPRDVariables(MuonTesterTree &tree, const std::string &container_name, MSG::Level msglvl)
Standard constructor taking the MuonTesterTree as parent The container name under which the MicroMega...
Definition: sTGCPRDVariables.cxx:10
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_id
sTgcIdentifierBranch m_NSWsTGC_PRD_id
Definition: sTGCPRDVariables.h:52
MuonPRDTest::sTGCPRDVariables::m_key
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_key
Definition: sTGCPRDVariables.h:45
Muon::sTgcPrepDataContainer
MuonPrepDataContainerT< sTgcPrepData > sTgcPrepDataContainer
Definition: MuonPrepDataContainer.h:101
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_PRD_globalPos
ThreeVectorBranch m_NSWsTGC_PRD_globalPos
Definition: sTGCPRDVariables.h:49
MuonPRDTest::sTGCPRDVariables::m_NSWsTGC_nPRD
ScalarBranch< unsigned int > & m_NSWsTGC_nPRD
Definition: sTGCPRDVariables.h:46
MuonPRDTest::sTGCPRDVariables::m_stgcAuthor
VectorBranch< uint8_t > & m_stgcAuthor
Definition: sTGCPRDVariables.h:62
MuonPRDTest::sTGCPRDVariables::enableSeededDump
void enableSeededDump()
Dumps only hits which are marked by the dumpAllHitsInChamber method.
Definition: sTGCPRDVariables.cxx:84