16 #include "GaudiKernel/ITHistSvc.h"
25 unsigned int ev_infomask{EventInfoBranch::writePileUp};
89 return StatusCode::SUCCESS;
96 return StatusCode::SUCCESS;
101 const EventContext& ctx = Gaudi::Hive::currentContext();
103 if (!
m_tree.
fill(ctx))
return StatusCode::FAILURE;
105 return StatusCode::SUCCESS;
121 EDM_object Hits_sTGC, Digits_sTGC, SDO_sTGC, RDO_sTGC, PRD_sTGC;
122 EDM_object Hits_MM, Digits_MM, SDO_MM, RDO_MM, PRD_MM;
124 Hits_sTGC.
setName(
"Hits",
"sTGC");
125 Digits_sTGC.
setName(
"Digits",
"sTGC");
126 SDO_sTGC.
setName(
"SDO",
"sTGC");
127 RDO_sTGC.
setName(
"RDO",
"sTGC");
128 PRD_sTGC.
setName(
"PRD",
"sTGC");
131 Digits_MM.
setName(
"Digits",
"MM");
138 TObjArray* brlst =
m_tree->GetListOfBranches();
140 branch_name =
branch->GetName();
159 efficiencies <<
"NSW Matching algorithm, efficiencies of conversion from and to various EDM objects" << std::endl;
200 return StatusCode::SUCCESS;
207 <<
" data. This is not implemented in this algorithm");
215 std::vector<int>* TruthParticle_Pdg;
217 TruthParticle_Pdg =
nullptr;
218 m_tree->SetBranchAddress(
"TruthParticle_Pdg", &TruthParticle_Pdg);
222 for (Long64_t i_entry = 0; i_entry <
nEntries; ++i_entry) {
225 m_tree->GetEntry(i_entry);
243 for (
int pdg : *TruthParticle_Pdg) { allMu &= (abs(pdg) == mu_pdg); }
245 ATH_MSG_VERBOSE(
"Skipping event, because doNSWMatchingMuonOnly is true and there non muon particles");
252 data1.init_matching();
257 for (
uint j = 0; j <
data1.size(); ++j) {
267 static std::once_flag
flag;
268 std::call_once(
flag, [&]() {
269 ATH_MSG_WARNING(
"No match found! Will now disable this kind of WARNING but please be "
270 "aware that you are running with suppressNoMatchWarning set to true!");
294 efficiencies.open(
"NSWMatchingAlg_efficiencies.txt", std::ofstream::app);
299 return StatusCode::SUCCESS;
306 bool setBranch =
false;
307 if (!(branch_name.Contains(oData.
getName()) && branch_name.Contains(oData.
getDetector()))) {
return StatusCode::SUCCESS; }
309 if (branch_name.Contains(
"_sim_")) {
return StatusCode::SUCCESS; }
310 if (branch_name.EndsWith(
"stationName")) {
314 if (branch_name.EndsWith(
"stationEta")) {
318 if (branch_name.EndsWith(
"stationPhi")) {
322 if (branch_name.EndsWith(
"multiplet")) {
326 if (branch_name.EndsWith(
"gas_gap")) {
330 if (branch_name.EndsWith(
"channel") && !branch_name.Contains(
"rdos")) {
334 if (branch_name.EndsWith(
"channel_type")) {
338 if (setBranch) {
ATH_MSG_DEBUG(
"Set data adress of branch " << branch_name); }
340 return StatusCode::SUCCESS;