|
ATLAS Offline Software
|
#include <MuonPatternRecognitionTestTree.h>
|
MuonVal::ScalarBranch< int > & | m_out_chamberIndex {newScalar<int>("chamberIndex")} |
| ====== Common block: Filled for all entries =========== More...
|
|
MuonVal::ScalarBranch< short > & | m_out_stationSide {newScalar<short>("stationSide")} |
| +1 for A-, -1 of C-side More...
|
|
MuonVal::ScalarBranch< int > & | m_out_stationPhi {newScalar<int>("stationPhi")} |
| phi index of the station More...
|
|
MuonVal::ScalarBranch< float > & | m_out_bucketStart {newScalar<float>("bucketStart", 1)} |
|
MuonVal::ScalarBranch< float > & | m_out_bucketEnd {newScalar<float>("bucketEnd", -1)} |
|
MuonVal::ScalarBranch< bool > & | m_out_hasTruth {newScalar<bool>("hasTruth",false)} |
| ======= Truth block: Filled if we have a truth match. ============ More...
|
|
MuonVal::ScalarBranch< float > & | m_out_gen_Eta {newScalar<float>("genEta",-10.)} |
| global particle properties More...
|
|
MuonVal::ScalarBranch< float > & | m_out_gen_Phi {newScalar<float>("genPhi",-10.)} |
|
MuonVal::ScalarBranch< float > & | m_out_gen_Pt {newScalar<float>("genPt",-10.)} |
|
MuonVal::ScalarBranch< short > & | m_out_gen_Q {newScalar<short>("genQ", 0)} |
|
MuonVal::ScalarBranch< float > & | m_out_gen_y0 {newScalar<float>("genY0", 0.0)} |
| Truth - segment parameters
More...
|
|
MuonVal::ScalarBranch< float > & | m_out_gen_tantheta {newScalar<float>("genTanTheta", 0.0)} |
|
MuonVal::ScalarBranch< float > & | m_out_gen_tanphi {newScalar<float>("genTanPhi", 0.0)} |
|
MuonVal::ScalarBranch< float > & | m_out_gen_x0 {newScalar<float>("genX0", 0.0)} |
|
MuonVal::ScalarBranch< float > & | m_out_gen_time {newScalar<float>("genTime", 0.0)} |
|
MuonVal::ScalarBranch< unsigned short > & | m_out_gen_nHits {newScalar<unsigned short>("genNHits",0)} |
| Truth - hit count summary. More...
|
|
MuonVal::ScalarBranch< unsigned short > & | m_out_gen_nRPCHits {newScalar<unsigned short>("genNRpcHits",0)} |
|
MuonVal::ScalarBranch< unsigned short > & | m_out_gen_nMDTHits {newScalar<unsigned short>("genNMdtHits",0)} |
|
MuonVal::ScalarBranch< unsigned short > & | m_out_gen_nTGCHits {newScalar<unsigned short>("genNTgcHits",0)} |
|
MuonVal::ScalarBranch< unsigned short > & | m_out_gen_nNswHits {newScalar<unsigned short>("genNNswHits",0)} |
|
MuonVal::ScalarBranch< float > & | m_out_gen_minYhit {newScalar<float>("genMinYhit", 1.0)} |
|
MuonVal::ScalarBranch< float > & | m_out_gen_maxYhit {newScalar<float>("genMaxYhit", -1.0)} |
|
MuonVal::ScalarBranch< unsigned > & | m_out_seed_n {newScalar<unsigned>("nSeeds", 0)} |
| ========== Seed block: Filled when we have one or multiple seeds ============= seed count More...
|
|
MuonVal::VectorBranch< bool > & | m_out_seed_hasPhiExtension {newVector<bool>("seedHasPhiExtension", false)} |
|
MuonVal::VectorBranch< float > & | m_out_seed_nMatchedHits {newVector<float>("seedTruthMatchedHits", false)} |
|
MuonVal::VectorBranch< float > & | m_out_seed_y0 {newVector<float>("seedY0", 0.0)} |
|
MuonVal::VectorBranch< float > & | m_out_seed_x0 {newVector<float>("seedX0", 0.0)} |
|
MuonVal::VectorBranch< float > & | m_out_seed_tantheta {newVector<float>("seedTanTheta", 0.0)} |
|
MuonVal::VectorBranch< float > & | m_out_seed_tanphi {newVector<float>("seedTanPhi", 0.0)} |
|
MuonVal::VectorBranch< float > & | m_out_seed_minYhit {newVector<float>("seedMinYhit", 1.0)} |
|
MuonVal::VectorBranch< float > & | m_out_seed_maxYhit {newVector<float>("seedMaxYhit", -1.0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_seed_nHits {newVector<unsigned short>("seedNHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_seed_nEtaHits {newVector<unsigned short>("seedNEtaHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_seed_nPhiHits {newVector<unsigned short>("seedNPhiHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_seed_nMdt {newVector<unsigned short>("seedNMdtHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_seed_nRpc {newVector<unsigned short>("seedNRpcHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_seed_nTgc {newVector<unsigned short>("seedNTgcHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_seed_nsTgc {newVector<unsigned short>("seedNsTgcHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_seed_nMm {newVector<unsigned short>("seedNMmHits", 0)} |
|
MuonVal::VectorBranch< bool > & | m_out_seed_ledToSegment {newVector<bool>("seedConvertedToSegment",false)} |
|
MuonVal::ScalarBranch< unsigned > & | m_out_segment_n {newScalar<unsigned>("nSegments", 0)} |
| ========== Segment block: Filled when we have one or multiple segments ============= More...
|
|
MuonVal::VectorBranch< float > & | m_out_segment_chi2 {newVector<float>("segmentChi2", -1.)} |
|
MuonVal::VectorBranch< uint16_t > & | m_out_segment_nDoF {newVector<uint16_t>("segmentNdoF", 0)} |
|
MuonVal::VectorBranch< bool > & | m_out_segment_hasTimeFit {newVector<bool>("segmentHasTimeFit", false)} |
|
MuonVal::VectorBranch< uint16_t > & | m_out_segment_fitIter {newVector<uint16_t>("segmentFitIterations", 0)} |
|
MuonVal::VectorBranch< bool > & | m_out_segment_hasPhi {newVector<bool>("segmentHasPhiHits", false)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_y0 {newVector<float>("segmentY0", 0.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_x0 {newVector<float>("segmentX0", 0.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_tantheta {newVector<float>("segmentTanTheta", 0.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_tanphi {newVector<float>("segmentTanPhi", 0.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_time {newVector<float>("segmentTime", 0.)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_err_y0 {newVector<float>("segmentErrY0", -1.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_err_x0 {newVector<float>("segmentErrX0", -1.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_err_tantheta {newVector<float>("segmentErrTanTheta", -1.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_err_tanphi {newVector<float>("segmentErrTanPhi", -1.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_err_time {newVector<float>("segmentErrTime", -1.0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_segment_truthMatchedHits {newVector<unsigned short>("segmentTruthMatchedHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_segment_nMdtHits {newVector<unsigned short>("segmentNMdtHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_segment_nRpcEtaHits {newVector<unsigned short>("segmentNRpcEtaHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_segment_nRpcPhiHits {newVector<unsigned short>("segmentNRpcPhiHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_segment_nTgcEtaHits {newVector<unsigned short>("segmentNTgcEtaHits", 0)} |
|
MuonVal::VectorBranch< unsigned short > & | m_out_segment_nTgcPhiHits {newVector<unsigned short>("segmentNTgcPhiHits", 0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_minYhit {newVector<float>("segmentMinYhit", 1.0)} |
|
MuonVal::VectorBranch< float > & | m_out_segment_maxYhit {newVector<float>("segmentMaxYhit", -1.0)} |
|
◆ DataDependency
◆ FriendTreePtr
◆ addBranch() [1/3]
◆ addBranch() [2/3]
◆ addBranch() [3/3]
bool MuonVal::MuonTesterTree::addBranch |
( |
std::shared_ptr< IMuonTesterBranch > |
branch | ) |
|
|
inherited |
Branch is added to the tree without transferring the ownership.
Definition at line 61 of file MuonTesterTree.cxx.
◆ addClient()
◆ addCommonTree()
bool MuonVal::MuonTesterTree::addCommonTree |
( |
FriendTreePtr |
common_tree | ) |
|
|
inherited |
Ensure that the event entries are synchronized
Definition at line 237 of file MuonTesterTree.cxx.
239 ATH_MSG_WARNING(
"Common TTree mechanism only supported in single thread environment");
246 if (common_tree->fileStream() !=
fileStream()) {
247 ATH_MSG_ERROR(
"The common tree "<<common_tree->name()<<
" and "<<
name()<<
" have to be written into the same file");
260 return common_tree->addClient(
this);
◆ disableBranch() [1/2]
void MuonVal::MuonTesterTree::disableBranch |
( |
const std::string & |
br_name | ) |
|
|
inherited |
◆ disableBranch() [2/2]
void MuonVal::MuonTesterTree::disableBranch |
( |
const std::vector< std::string > & |
br_names | ) |
|
|
inherited |
◆ fileStream()
const std::string & MuonVal::MuonTesterTree::fileStream |
( |
| ) |
const |
|
inherited |
◆ fill()
bool MuonVal::MuonTesterTree::fill |
( |
const EventContext & |
ctx | ) |
|
|
inherited |
Fills the tree per call.
Remove the information that is no longer of value
Common trees arecan only be filled once in an event
Call the fill method on all friends
These branches are actually initialized
Definition at line 89 of file MuonTesterTree.cxx.
106 if (!friend_tree->fill(ctx))
return false;
◆ fillChamberInfo()
◆ fillSeedInfo()
Definition at line 82 of file MuonPatternRecognitionTestTree.cxx.
85 for (
auto & seed :
obj.matchedSeeds){
93 for (
auto & hit :
seed->getHitsInMax()){
94 minYhit =
std::min(hit->positionInChamber().y(),minYhit);
95 maxYhit =
std::max(hit->positionInChamber().y(),maxYhit);
104 if (
seed->hasPhiExtension()){
115 [](
int i,
const HoughHitType &
h){i += h->measuresEta();return i;}));
117 [](
int i,
const HoughHitType &
h){i += h->measuresPhi();return i;}));
118 unsigned int nMdtSeed{0}, nRpcSeed{0}, nTgcSeed{0}, nMmSeed{0}, nsTgcSeed{0};
120 switch (houghSP->type()) {
125 nRpcSeed+=houghSP->measuresEta();
126 nRpcSeed+=houghSP->measuresPhi();
129 nTgcSeed+=houghSP->measuresEta();
130 nTgcSeed+=houghSP->measuresPhi();
140 <<
" not yet implemented");
◆ fillSegmentInfo()
Definition at line 153 of file MuonPatternRecognitionTestTree.cxx.
155 using namespace SegmentFit;
162 !=
segment->measurements().end());
181 unsigned int nMdtHits{0}, nRpcEtaHits{0}, nRpcPhiHits{0}, nTgcEtaHits{0}, nTgcPhiHits{0};
182 for (
const auto & meas :
segment->measurements()){
183 switch (meas->type()) {
188 nRpcEtaHits += meas->measuresEta();
189 nRpcPhiHits += meas->measuresPhi();
192 nTgcEtaHits += meas->measuresEta();
193 nTgcPhiHits += meas->measuresPhi();
207 for (
auto & hit :
segment->measurements()){
210 minYhit =
std::min(hit->positionInChamber().y(),minYhit);
211 maxYhit =
std::max(hit->positionInChamber().y(),maxYhit);
◆ fillTruthInfo()
Definition at line 32 of file MuonPatternRecognitionTestTree.cxx.
63 IdentifierHash
hash{};
65 hash = RE->measurementHash(hit->identify());
68 hash = RE->layerHash(hit->identify());
70 auto localToChamber = RE->msSector()->globalToLocalTrans(gctx) * RE->localToGlobalTrans(gctx,
hash);
71 auto chamberPos = localToChamber * xAOD::toEigen(hit->localPosition());
72 minYhit =
std::min(chamberPos.y(),minYhit);
73 maxYhit =
std::max(chamberPos.y(),maxYhit);
◆ getBranch()
template<class T >
std::shared_ptr<T> MuonVal::MuonTesterTree::getBranch |
( |
const std::string & |
str | ) |
const |
|
inherited |
Retrieves the branches owned by the muon_tree.
◆ getFriends()
◆ init() [1/2]
template<class OWNER , typename = typename std::enable_if<std::is_base_of<IProperty, OWNER>::value>::type>
StatusCode MuonVal::MuonTesterTree::init |
( |
OWNER * |
instance | ) |
|
|
inherited |
◆ init() [2/2]
StatusCode MuonVal::MuonTesterTree::init |
( |
ServiceHandle< ITHistSvc > |
hist_svc | ) |
|
|
privateinherited |
Initialze the tree with the output file.
The stream corresponds to the stream of the file e.g MDTTester HighEtaTester
push back the ds id index
Sort by alphabet
Kick everything that is not owned by the class itself
Definition at line 120 of file MuonTesterTree.cxx.
123 return StatusCode::FAILURE;
128 return StatusCode::FAILURE;
131 std::stringstream full_path{};
133 if (!hist_svc->regTree(full_path.str(),
tree()).isSuccess()) {
return StatusCode::FAILURE; }
137 return StatusCode::FAILURE;
143 if (!friend_tree->init(hist_svc).isSuccess())
return StatusCode::FAILURE;
151 [](IMuonTesterBranch*
a, IMuonTesterBranch*
b) { return a->name() < b->name(); });
159 return StatusCode::FAILURE;
162 std::vector<DataDependency> data_dep =
branch->data_dependencies();
171 [
br](
const std::shared_ptr<IMuonTesterBranch>& owned) {
172 return owned.get() == br; }) ==
m_branches.end();
175 return StatusCode::SUCCESS;
◆ initialize()
◆ initialized()
bool MuonVal::MuonTesterTree::initialized |
( |
| ) |
const |
|
inherited |
Has the init method been called and the tree is connected with the output file.
Definition at line 88 of file MuonTesterTree.cxx.
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ isActive()
Returns a boolean whether the branch is already part of the tree or one of the deligated friends.
Definition at line 206 of file MuonTesterTree.cxx.
213 if (friend_tree->isActive(
branch))
return true;
219 return known == branch || known->name() == branch->name();
◆ isCommonTree()
bool MuonVal::MuonTesterTree::isCommonTree |
( |
| ) |
const |
|
inherited |
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ MuonTesterTree()
MuonVal::MuonTesterTree::MuonTesterTree |
◆ name()
std::string MuonVal::MuonTesterTree::name |
( |
| ) |
const |
|
inherited |
◆ newBranch()
template<typename T >
T& MuonVal::MuonTesterTree::newBranch |
( |
std::shared_ptr< T > |
br | ) |
|
|
inherited |
returns the reference of the branch
◆ newMatrix() [1/2]
◆ newMatrix() [2/2]
◆ newScalar() [1/2]
◆ newScalar() [2/2]
◆ newSet()
template<typename T >
SetBranch<T>& MuonVal::MuonTesterTree::newSet |
( |
const std::string & |
name | ) |
|
|
inherited |
◆ newVector() [1/2]
Creates new branches and returns their reference.
◆ newVector() [2/2]
Creates and returns branches with a default value.
◆ operator->() [1/2]
TTree * MuonVal::MuonTesterTree::operator-> |
( |
| ) |
|
|
inherited |
◆ operator->() [2/2]
const TTree * MuonVal::MuonTesterTree::operator-> |
( |
| ) |
const |
|
inherited |
◆ path()
const std::string & MuonVal::MuonTesterTree::path |
( |
| ) |
const |
|
inherited |
◆ registerBranch()
bool MuonVal::MuonTesterTree::registerBranch |
( |
std::shared_ptr< IMuonTesterBranch > |
branch | ) |
|
|
inherited |
This method adds the branch to the tree and hands over the ownership to the MuonAnalysisTree instance IF the second argument is set to false the branch is not added to the active list of branches i.e.
no fill and initialize function is called on it
Check whether the branch belongs to the same TTree
Definition at line 28 of file MuonTesterTree.cxx.
36 if (friend_tree->registerBranch(
branch)) {
43 std::vector<std::shared_ptr<IMuonTesterBranch>>::const_iterator itr = std::find_if(
45 [&
branch](
const std::shared_ptr<IMuonTesterBranch>&
known) {
46 return known == branch || known->name() == branch->name();
49 if (
typeid((*itr).get()) !=
typeid(
branch.get())) {
◆ removeBranch() [1/2]
◆ removeBranch() [2/2]
In case instances of a certain branch type are destroyed before hand.
Definition at line 83 of file MuonTesterTree.cxx.
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setPath()
void MuonVal::MuonTesterTree::setPath |
( |
const std::string & |
new_path | ) |
|
|
inherited |
◆ tree() [1/2]
TTree * MuonVal::MuonTesterTree::tree |
( |
| ) |
|
|
inherited |
◆ tree() [2/2]
const TTree * MuonVal::MuonTesterTree::tree |
( |
| ) |
const |
|
inherited |
◆ write()
StatusCode MuonVal::MuonTesterTree::write |
( |
| ) |
|
|
inherited |
Finally write the TTree objects.
Definition at line 178 of file MuonTesterTree.cxx.
181 ATH_MSG_ERROR(__func__<<
"() --- Failed to put the tree "<<
name()<<
" out of the HistService");
182 return StatusCode::FAILURE;
185 if (!friend_tree->write().isSuccess())
return StatusCode::FAILURE;
186 if (!
tree()->AddFriend(friend_tree->tree())) {
187 ATH_MSG_ERROR(
"Failed to establish the Friendship between "<<
name()<<
" & "<<friend_tree->tree());
188 return StatusCode::FAILURE;
197 return StatusCode::SUCCESS;
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_branches
std::vector<std::shared_ptr<IMuonTesterBranch> > MuonVal::MuonTesterTree::m_branches {} |
|
privateinherited |
◆ m_branches_to_init
◆ m_commonClients
List of all other MuonTesterTree instances using this instance as a common Tree If the Tree has one client it is declared as a common Tree.
It can then only be filled once in an event
Definition at line 160 of file MuonTesterTree.h.
◆ m_depCounter
unsigned int MuonVal::MuonTesterTree::m_depCounter {0} |
|
privateinherited |
◆ m_dependencies
std::vector<DataDependency> MuonVal::MuonTesterTree::m_dependencies {} |
|
privateinherited |
◆ m_directory
TDirectory* MuonVal::MuonTesterTree::m_directory {nullptr} |
|
privateinherited |
◆ m_excludedBranches
std::set<std::string> MuonVal::MuonTesterTree::m_excludedBranches {} |
|
privateinherited |
◆ m_filled
bool MuonVal::MuonTesterTree::m_filled {false} |
|
privateinherited |
◆ m_friendLinks
std::vector<FriendTreePtr> MuonVal::MuonTesterTree::m_friendLinks {} |
|
privateinherited |
List of all other common instances that are acting as friends.
Definition at line 156 of file MuonTesterTree.h.
◆ m_hash_br
◆ m_hist_svc
ServiceHandle<ITHistSvc> MuonVal::MuonTesterTree::m_hist_svc {"", ""} |
|
privateinherited |
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_init
bool MuonVal::MuonTesterTree::m_init {false} |
|
privateinherited |
Flag to avoid double initialization with the StoreGate.
Definition at line 131 of file MuonTesterTree.h.
◆ m_initialized_br
Set of branches that were already initialized.
Definition at line 147 of file MuonTesterTree.h.
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_out_bucketEnd
◆ m_out_bucketStart
◆ m_out_chamberIndex
◆ m_out_gen_Eta
◆ m_out_gen_maxYhit
◆ m_out_gen_minYhit
◆ m_out_gen_nHits
◆ m_out_gen_nMDTHits
◆ m_out_gen_nNswHits
◆ m_out_gen_nRPCHits
◆ m_out_gen_nTGCHits
◆ m_out_gen_Phi
◆ m_out_gen_Pt
◆ m_out_gen_Q
◆ m_out_gen_tanphi
◆ m_out_gen_tantheta
◆ m_out_gen_time
◆ m_out_gen_x0
◆ m_out_gen_y0
◆ m_out_hasTruth
◆ m_out_seed_hasPhiExtension
◆ m_out_seed_ledToSegment
◆ m_out_seed_maxYhit
◆ m_out_seed_minYhit
◆ m_out_seed_n
◆ m_out_seed_nEtaHits
◆ m_out_seed_nHits
◆ m_out_seed_nMatchedHits
◆ m_out_seed_nMdt
◆ m_out_seed_nMm
◆ m_out_seed_nPhiHits
◆ m_out_seed_nRpc
◆ m_out_seed_nsTgc
◆ m_out_seed_nTgc
◆ m_out_seed_tanphi
◆ m_out_seed_tantheta
◆ m_out_seed_x0
◆ m_out_seed_y0
◆ m_out_segment_chi2
◆ m_out_segment_err_tanphi
◆ m_out_segment_err_tantheta
◆ m_out_segment_err_time
◆ m_out_segment_err_x0
◆ m_out_segment_err_y0
◆ m_out_segment_fitIter
◆ m_out_segment_hasPhi
◆ m_out_segment_hasTimeFit
◆ m_out_segment_maxYhit
◆ m_out_segment_minYhit
◆ m_out_segment_n
◆ m_out_segment_nDoF
◆ m_out_segment_nMdtHits
MuonVal::VectorBranch<unsigned short>& MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nMdtHits {newVector<unsigned short>("segmentNMdtHits", 0)} |
|
protected |
◆ m_out_segment_nRpcEtaHits
MuonVal::VectorBranch<unsigned short>& MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nRpcEtaHits {newVector<unsigned short>("segmentNRpcEtaHits", 0)} |
|
protected |
◆ m_out_segment_nRpcPhiHits
MuonVal::VectorBranch<unsigned short>& MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nRpcPhiHits {newVector<unsigned short>("segmentNRpcPhiHits", 0)} |
|
protected |
◆ m_out_segment_nTgcEtaHits
MuonVal::VectorBranch<unsigned short>& MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nTgcEtaHits {newVector<unsigned short>("segmentNTgcEtaHits", 0)} |
|
protected |
◆ m_out_segment_nTgcPhiHits
MuonVal::VectorBranch<unsigned short>& MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_nTgcPhiHits {newVector<unsigned short>("segmentNTgcPhiHits", 0)} |
|
protected |
◆ m_out_segment_tanphi
◆ m_out_segment_tantheta
◆ m_out_segment_time
◆ m_out_segment_truthMatchedHits
MuonVal::VectorBranch<unsigned short>& MuonValR4::MuonPatternRecognitionTestTree::m_out_segment_truthMatchedHits {newVector<unsigned short>("segmentTruthMatchedHits", 0)} |
|
protected |
◆ m_out_segment_x0
◆ m_out_segment_y0
◆ m_out_stationPhi
◆ m_out_stationSide
◆ m_path
std::string MuonVal::MuonTesterTree::m_path {} |
|
privateinherited |
◆ m_stream
std::string MuonVal::MuonTesterTree::m_stream {} |
|
privateinherited |
◆ m_tree
std::unique_ptr<TTree> MuonVal::MuonTesterTree::m_tree {nullptr} |
|
privateinherited |
◆ m_written
bool MuonVal::MuonTesterTree::m_written {false} |
|
privateinherited |
Flag to indicate whether the TTree is written to the file or not.
Definition at line 133 of file MuonTesterTree.h.
The documentation for this class was generated from the following files:
std::vector< std::shared_ptr< IMuonTesterBranch > > m_branches
MuonVal::VectorBranch< float > & m_out_seed_nMatchedHits
std::atomic< MSG::Level > m_lvl
Current logging level.
MuonVal::ScalarBranch< float > & m_out_gen_tantheta
bool initialized() const
Has the init method been called and the tree is connected with the output file.
char data[hepevt_bytes_allocation_ATLAS]
MuonVal::VectorBranch< float > & m_out_segment_tantheta
bool m_init
Flag to avoid double initialization with the StoreGate.
bool m_written
Flag to indicate whether the TTree is written to the file or not.
MuonVal::ScalarBranch< float > & m_out_gen_y0
Truth - segment parameters
MuonVal::VectorBranch< float > & m_out_segment_err_tantheta
MuonVal::VectorBranch< unsigned short > & m_out_seed_nsTgc
std::shared_ptr< MuonTesterTree > FriendTreePtr
Appends the other tester Tree as friend to this instance.
StatusCode init(OWNER *instance)
Initialize method.
MuonVal::ScalarBranch< short > & m_out_stationSide
+1 for A-, -1 of C-side
MuonVal::VectorBranch< unsigned short > & m_out_segment_nMdtHits
MuonVal::ScalarBranch< float > & m_out_gen_Phi
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nMDTHits
MuonVal::VectorBranch< float > & m_out_segment_err_tanphi
MuonVal::VectorBranch< float > & m_out_segment_err_time
MuonVal::ScalarBranch< float > & m_out_gen_time
@ BEE
BEE measurement point.
bool accumulate(AccumulateMap &map, std::vector< module_t > const &modules, FPGATrackSimMatrixAccumulator const &acc)
Accumulates an accumulator (e.g.
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nTGCHits
MuonVal::VectorBranch< float > & m_out_segment_err_y0
MuonVal::VectorBranch< unsigned short > & m_out_segment_nTgcPhiHits
bool isActive(const IMuonTesterBranch *branch) const
Returns a boolean whether the branch is already part of the tree or one of the deligated friends.
MuonVal::VectorBranch< unsigned short > & m_out_segment_truthMatchedHits
bool registerBranch(std::shared_ptr< IMuonTesterBranch > branch)
This method adds the branch to the tree and hands over the ownership to the MuonAnalysisTree instance...
MuonVal::ScalarBranch< float > & m_out_gen_maxYhit
#define ATH_MSG_VERBOSE(x)
MuonVal::VectorBranch< float > & m_out_segment_maxYhit
MuonVal::ScalarBranch< float > & m_out_bucketEnd
MuonVal::VectorBranch< unsigned short > & m_out_seed_nMdt
MuonVal::VectorBranch< uint16_t > & m_out_segment_nDoF
MuonVal::VectorBranch< unsigned short > & m_out_segment_nRpcPhiHits
std::pair< Amg::Vector3D, Amg::Vector3D > makeLine(const Parameters &pars)
Returns the parsed parameters into an Eigen line parametrization.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
MuonVal::VectorBranch< unsigned short > & m_out_seed_nTgc
std::unique_ptr< TTree > m_tree
MuonVal::VectorBranch< unsigned short > & m_out_seed_nRpc
MuonVal::VectorBranch< unsigned short > & m_out_seed_nEtaHits
MuonVal::VectorBranch< uint16_t > & m_out_segment_fitIter
IMessageSvc * getMessageSvc(bool quiet=false)
const std::string & fileStream() const
file_stream of the analysis to which the tree belongs
MuonVal::ScalarBranch< short > & m_out_gen_Q
MuonVal::ScalarBranch< float > & m_out_gen_x0
double houghTanPhi(const Amg::Vector3D &v)
: Returns the hough tanPhi [x] / [z]
std::vector< IMuonTesterBranch * > m_branches_to_init
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nHits
Truth - hit count summary.
MuonVal::ScalarBranch< float > & m_out_bucketStart
bool isCommonTree() const
Returns Whether the Tree is a common tree or not.
MuonVal::ScalarBranch< int > & m_out_stationPhi
phi index of the station
MuonVal::VectorBranch< float > & m_out_seed_tanphi
MuonVal::VectorBranch< bool > & m_out_seed_ledToSegment
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nRPCHits
MuonVal::VectorBranch< unsigned short > & m_out_seed_nHits
MuonVal::VectorBranch< float > & m_out_seed_x0
MuonVal::VectorBranch< float > & m_out_seed_y0
std::set< MuonTesterTree * > m_commonClients
List of all other MuonTesterTree instances using this instance as a common Tree If the Tree has one c...
MuonVal::VectorBranch< bool > & m_out_segment_hasPhi
MuonVal::VectorBranch< float > & m_out_segment_tanphi
Class to provide easy MsgStream access and capabilities.
MuonVal::VectorBranch< unsigned short > & m_out_segment_nTgcEtaHits
MuonVal::VectorBranch< float > & m_out_seed_maxYhit
MuonVal::VectorBranch< unsigned short > & m_out_seed_nMm
MuonVal::VectorBranch< float > & m_out_segment_y0
MsgStream & msg() const
The standard message stream.
MuonVal::ScalarBranch< int > & m_out_chamberIndex
====== Common block: Filled for all entries ===========
MuonVal::VectorBranch< float > & m_out_segment_x0
void push_back(const T &value)
Adds a new element at the end of the vector.
The muon space point is the combination of two uncalibrated measurements one of them measures the eta...
virtual bool isMdt(const Identifier &id) const =0
returns whether this is a MDT Identifier or not
MuonVal::VectorBranch< float > & m_out_segment_chi2
std::string name() const
Name of the tree.
MuonVal::VectorBranch< unsigned short > & m_out_seed_nPhiHits
std::vector< DataDependency > m_dependencies
MuonVal::VectorBranch< float > & m_out_seed_tantheta
constexpr int toInt(const ParamDefs p)
MuonVal::VectorBranch< float > & m_out_segment_minYhit
MuonVal::ScalarBranch< unsigned short > & m_out_gen_nNswHits
MuonVal::VectorBranch< bool > & m_out_seed_hasPhiExtension
MuonVal::VectorBranch< float > & m_out_segment_err_x0
Eigen::Matrix< double, 3, 1 > Vector3D
MuonVal::ScalarBranch< unsigned > & m_out_segment_n
========== Segment block: Filled when we have one or multiple segments =============
std::shared_ptr< EventHashBranch > m_hash_br
std::vector< FriendTreePtr > m_friendLinks
List of all other common instances that are acting as friends.
std::set< IMuonTesterBranch * > m_initialized_br
Set of branches that were already initialized.
ServiceHandle< ITHistSvc > m_hist_svc
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
MuonVal::VectorBranch< float > & m_out_segment_time
const T & getVariable() const
std::string m_nm
Message source name.
const Muon::IMuonIdHelperSvc * idHelperSvc() const
Returns a pointer to the central MuonIdHelperSvc.
IMuonTesterBranch::DataDependency DataDependency
MuonVal::VectorBranch< float > & m_out_seed_minYhit
const std::string & path() const
sub directory in the TFile
Parameters localSegmentPars(const xAOD::MuonSegment &seg)
Returns the localSegPars decoration from a xAODMuon::Segment.
MuonVal::ScalarBranch< float > & m_out_gen_Eta
global particle properties
const std::vector< FriendTreePtr > & getFriends() const
MuonVal::ScalarBranch< bool > & m_out_hasTruth
======= Truth block: Filled if we have a truth match. ============
MuonVal::ScalarBranch< float > & m_out_gen_minYhit
MuonVal::ScalarBranch< unsigned > & m_out_seed_n
========== Seed block: Filled when we have one or multiple seeds ============= seed count
void initMessaging() const
Initialize our message level and MessageSvc.
MuonVal::VectorBranch< unsigned short > & m_out_segment_nRpcEtaHits
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
MuonVal::ScalarBranch< float > & m_out_gen_Pt
TTree * tree()
TTree object.
MuonVal::VectorBranch< bool > & m_out_segment_hasTimeFit
double houghTanTheta(const Amg::Vector3D &v)
Returns the hough tanTheta [y] / [z].
std::unordered_set< const xAOD::MuonSimHit * > getMatchingSimHits(const xAOD::MuonSegment &segment)
: Returns all sim hits matched to a xAOD::MuonSegment
void removeBranch(IMuonTesterBranch *branch)
In case instances of a certain branch type are destroyed before hand.
std::set< std::string > m_excludedBranches
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
bool addBranch(std::shared_ptr< IMuonTesterBranch > branch)
Branch is added to the tree without transferring the ownership.
const MuonReadoutElement * getReadoutElement(const Identifier &id) const
Returns a generic Muon readout element.
MuonVal::ScalarBranch< float > & m_out_gen_tanphi