ATLAS Offline Software
IdToFixedIdTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include <iostream>
8 #include <sstream>
9 #include <string>
10 
13 
14 namespace MuonCalib {
15 
16  IdToFixedIdTool::IdToFixedIdTool(const std::string& t, const std::string& n, const IInterface* p) :
17  AthAlgTool(t, n, p), m_print_level(0) {
18  declareInterface<IIdToFixedIdTool>(this);
19  declareProperty("print_level", m_print_level);
20  }
21 
23  ATH_MSG_VERBOSE("Initialisation started");
24  ATH_CHECK(m_idHelperSvc.retrieve());
25  return StatusCode::SUCCESS;
26  }
27 
29  bool done{false};
30  MuonFixedId fixedId;
31 
32  if (!(m_idHelperSvc->isMuon(id))) {
33  ATH_MSG_DEBUG(" MuonIdentifier doesn't correspond to a muon ");
34  } else {
35  // setting the Muon specific fields
37  m_idHelperSvc->mdtIdHelper().stationNameString(m_idHelperSvc->mdtIdHelper().stationName(id))));
38  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (general) ");
39  if (m_idHelperSvc->isMdt(id)) {
40  done = fixedId.setTechnology(0); // MDT = 0;
41  // setting the Mdt specific fields
42  if (done) done = fixedId.setStationEta(m_idHelperSvc->mdtIdHelper().stationEta(id));
43  if (done) done = fixedId.setStationPhi(m_idHelperSvc->mdtIdHelper().stationPhi(id));
44 
45  if (done) done = fixedId.setMdtTube(m_idHelperSvc->mdtIdHelper().tube(id));
46  if (done) done = fixedId.setMdtTubeLayer(m_idHelperSvc->mdtIdHelper().tubeLayer(id));
47  if (done) done = fixedId.setMdtMultilayer(m_idHelperSvc->mdtIdHelper().multilayer(id));
48  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (MDT) ");
49  } else if (m_idHelperSvc->isRpc(id)) {
50  done = fixedId.setTechnology(3); // RPC = 3;
51  // setting the Rpc specific fields
52  if (done) done = fixedId.setStationEta(m_idHelperSvc->rpcIdHelper().stationEta(id));
53  if (done) done = fixedId.setStationPhi(m_idHelperSvc->rpcIdHelper().stationPhi(id));
54 
55  if (done) done = fixedId.setRpcDoubletR(m_idHelperSvc->rpcIdHelper().doubletR(id));
56  if (done) done = fixedId.setRpcDoubletZ(m_idHelperSvc->rpcIdHelper().doubletZ(id));
57  if (done) done = fixedId.setRpcDoubletPhi(m_idHelperSvc->rpcIdHelper().doubletPhi(id));
58  if (done) done = fixedId.setRpcGasGap(m_idHelperSvc->rpcIdHelper().gasGap(id));
59  if (done) done = fixedId.setRpcMeasuresPhi(m_idHelperSvc->rpcIdHelper().measuresPhi(id));
60  if (done) done = fixedId.setRpcStrip(m_idHelperSvc->rpcIdHelper().strip(id));
61  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (RPC) ");
62  } else if (m_idHelperSvc->isCsc(id)) {
63  done = fixedId.setTechnology(1); // CSC = 1;
64  // setting the Csc specific fields
65  if (done) done = fixedId.setStationEta(m_idHelperSvc->cscIdHelper().stationEta(id));
66  if (done) done = fixedId.setStationPhi(m_idHelperSvc->cscIdHelper().stationPhi(id));
67 
68  if (done) done = fixedId.setCscChamberLayer(m_idHelperSvc->cscIdHelper().chamberLayer(id));
69  if (done) done = fixedId.setCscWireLayer(m_idHelperSvc->cscIdHelper().wireLayer(id));
70  if (done) done = fixedId.setCscMeasuresPhi(m_idHelperSvc->cscIdHelper().measuresPhi(id));
71  if (done) done = fixedId.setCscStrip(m_idHelperSvc->cscIdHelper().strip(id));
72  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (CSC) ");
73  } else if (m_idHelperSvc->isTgc(id)) {
74  done = fixedId.setTechnology(2); // TGC = 2;
75  // setting the Tgc specific fields
76  if (done) done = fixedId.setStationEta(m_idHelperSvc->tgcIdHelper().stationEta(id));
77  if (done) done = fixedId.setStationPhi(m_idHelperSvc->tgcIdHelper().stationPhi(id));
78 
79  if (done) done = fixedId.setTgcGasGap(m_idHelperSvc->tgcIdHelper().gasGap(id));
80  if (done) done = fixedId.setTgcIsStrip(m_idHelperSvc->tgcIdHelper().isStrip(id));
81  if (done) done = fixedId.setTgcChannel(m_idHelperSvc->tgcIdHelper().channel(id));
82  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (TGC) ");
83  }
84  }
85  return fixedId;
86  }
87 
90  if (fid.is_mdt()) {
91  tmp = m_idHelperSvc->mdtIdHelper().channelID(fid.stationNameString(), fid.eta(), fid.phi(), fid.mdtMultilayer(),
92  fid.mdtTubeLayer(), fid.mdtTube());
93  } else if (fid.is_rpc()) {
94  tmp =
95  m_idHelperSvc->rpcIdHelper().channelID(fid.stationNameString(), fid.eta(), fid.phi(), fid.rpcDoubletR(), fid.rpcDoubletZ(),
96  fid.rpcDoubletPhi(), fid.rpcGasGap(), fid.rpcMeasuresPhi(), fid.rpcStrip());
97  } else if (m_idHelperSvc->hasCSC() && fid.is_csc()) {
98  tmp = m_idHelperSvc->cscIdHelper().channelID(fid.stationNameString(), fid.eta(), fid.phi(), fid.cscChamberLayer(),
99  fid.cscWireLayer(), fid.cscMeasuresPhi(), fid.cscStrip());
100  } else if (fid.is_tgc()) {
101  tmp = m_idHelperSvc->tgcIdHelper().channelID(fid.stationNameString(), fid.eta(), fid.phi(), fid.tgcGasGap(), fid.tgcIsStrip(),
102  fid.tgcChannel());
103  }
104  return tmp;
105  }
106 
108  bool done{false};
109  MuonFixedLongId fixedId;
110 
111  if (!(m_idHelperSvc->isMuon(id))) {
112  ATH_MSG_DEBUG(" MuonIdentifier doesn't correspond to a muon ");
113  } else {
114  // setting the Muon specific fields
115  done = fixedId.setStationName(fixedId.stationStringToFixedStationNumber(
116  m_idHelperSvc->mdtIdHelper().stationNameString(m_idHelperSvc->mdtIdHelper().stationName(id))));
117  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (general) ");
118  if (m_idHelperSvc->isMdt(id)) {
119  done = fixedId.setTechnology(MuonFixedLongId::technologyMDT); // MDT = 0;
120  // setting the Mdt specific fields
121  if (done) done = fixedId.setStationEta(m_idHelperSvc->mdtIdHelper().stationEta(id));
122  if (done) done = fixedId.setStationPhi(m_idHelperSvc->mdtIdHelper().stationPhi(id));
123 
124  if (done) done = fixedId.setMdtTube(m_idHelperSvc->mdtIdHelper().tube(id));
125  if (done) done = fixedId.setMdtTubeLayer(m_idHelperSvc->mdtIdHelper().tubeLayer(id));
126  if (done) done = fixedId.setMdtMultilayer(m_idHelperSvc->mdtIdHelper().multilayer(id));
127  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (MDT) ");
128  } else if (m_idHelperSvc->isRpc(id)) {
129  done = fixedId.setTechnology(MuonFixedLongId::technologyRPC); // RPC = 3;
130  // setting the Rpc specific fields
131  if (done) done = fixedId.setStationEta(m_idHelperSvc->rpcIdHelper().stationEta(id));
132  if (done) done = fixedId.setStationPhi(m_idHelperSvc->rpcIdHelper().stationPhi(id));
133 
134  if (done) done = fixedId.setRpcDoubletR(m_idHelperSvc->rpcIdHelper().doubletR(id));
135  if (done) done = fixedId.setRpcDoubletZ(m_idHelperSvc->rpcIdHelper().doubletZ(id));
136  if (done) done = fixedId.setRpcDoubletPhi(m_idHelperSvc->rpcIdHelper().doubletPhi(id));
137  if (done) done = fixedId.setRpcGasGap(m_idHelperSvc->rpcIdHelper().gasGap(id));
138  if (done) done = fixedId.setRpcMeasuresPhi(m_idHelperSvc->rpcIdHelper().measuresPhi(id));
139  if (done) done = fixedId.setRpcStrip(m_idHelperSvc->rpcIdHelper().strip(id));
140  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (RPC) ");
141  } else if (m_idHelperSvc->isCsc(id)) {
142  done = fixedId.setTechnology(MuonFixedLongId::technologyCSC); // CSC = 1;
143  // setting the Csc specific fields
144  if (done) done = fixedId.setStationEta(m_idHelperSvc->cscIdHelper().stationEta(id));
145  if (done) done = fixedId.setStationPhi(m_idHelperSvc->cscIdHelper().stationPhi(id));
146 
147  if (done) done = fixedId.setCscChamberLayer(m_idHelperSvc->cscIdHelper().chamberLayer(id));
148  if (done) done = fixedId.setCscWireLayer(m_idHelperSvc->cscIdHelper().wireLayer(id));
149  if (done) done = fixedId.setCscMeasuresPhi(m_idHelperSvc->cscIdHelper().measuresPhi(id));
150  if (done) done = fixedId.setCscStrip(m_idHelperSvc->cscIdHelper().strip(id));
151  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (CSC) ");
152  } else if (m_idHelperSvc->isTgc(id)) {
153  done = fixedId.setTechnology(MuonFixedLongId::technologyTGC); // TGC = 2;
154  // setting the Tgc specific fields
155  if (done) done = fixedId.setStationEta(m_idHelperSvc->tgcIdHelper().stationEta(id));
156  if (done) done = fixedId.setStationPhi(m_idHelperSvc->tgcIdHelper().stationPhi(id));
157 
158  if (done) done = fixedId.setTgcGasGap(m_idHelperSvc->tgcIdHelper().gasGap(id));
159  if (done) done = fixedId.setTgcIsStrip(m_idHelperSvc->tgcIdHelper().isStrip(id));
160  if (done) done = fixedId.setTgcChannel(m_idHelperSvc->tgcIdHelper().channel(id));
161  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (TGC) ");
162  } else if (m_idHelperSvc->isMM(id)) {
164  // setting the MMG specific fields
165  if (done) done = fixedId.setStationEta(m_idHelperSvc->mmIdHelper().stationEta(id));
166  if (done) done = fixedId.setStationPhi(m_idHelperSvc->mmIdHelper().stationPhi(id));
167 
168  if (done) done = fixedId.setMmgMultilayer(m_idHelperSvc->mmIdHelper().multilayer(id));
169  if (done) done = fixedId.setMmgGasGap(m_idHelperSvc->mmIdHelper().gasGap(id));
170  if (done) done = fixedId.setMmgStrip(m_idHelperSvc->mmIdHelper().channel(id));
171  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (MMG) ");
172  } else if (m_idHelperSvc->issTgc(id)) {
174  // setting the sTGC specific fields
175  if (done) done = fixedId.setStationEta(m_idHelperSvc->stgcIdHelper().stationEta(id));
176  if (done) done = fixedId.setStationPhi(m_idHelperSvc->stgcIdHelper().stationPhi(id));
177 
178  // Convert the channel type enum
180  switch (m_idHelperSvc->stgcIdHelper().channelType(id)) {
181  case sTgcIdHelper::sTgcChannelTypes::Pad:
182  channelType = MuonFixedLongId::StgChannelType::stgChannelPad;
183  break;
184  case sTgcIdHelper::sTgcChannelTypes::Strip:
185  channelType = MuonFixedLongId::StgChannelType::stgChannelStrip;
186  break;
187  case sTgcIdHelper::sTgcChannelTypes::Wire:
188  channelType = MuonFixedLongId::StgChannelType::stgChannelWire;
189  break;
190  default:
191  ATH_MSG_WARNING("Cannot convert StgChannelType");
192  done = false;
193  break;
194  }
195 
196  if (done) done = fixedId.setStgMultilayer(m_idHelperSvc->stgcIdHelper().multilayer(id));
197  if (done) done = fixedId.setStgGasGap(m_idHelperSvc->stgcIdHelper().gasGap(id));
198  if (done) done = fixedId.setStgChannelType(channelType);
199  if (done) done = fixedId.setStgChannel(m_idHelperSvc->stgcIdHelper().channel(id));
200  if (!done) ATH_MSG_INFO("Something went wrong in the conversion id->fid (STG) ");
201  }
202  }
203  return fixedId;
204  }
205 
207  Identifier tmp;
208  if (fid.is_mdt()) {
209  tmp = m_idHelperSvc->mdtIdHelper().channelID(std::string(fid.stationNameString()), fid.eta(), fid.phi(), fid.mdtMultilayer(),
210  fid.mdtTubeLayer(), fid.mdtTube());
211  } else if (fid.is_rpc()) {
212  tmp =
213  m_idHelperSvc->rpcIdHelper().channelID(std::string(fid.stationNameString()), fid.eta(), fid.phi(), fid.rpcDoubletR(), fid.rpcDoubletZ(),
214  fid.rpcDoubletPhi(), fid.rpcGasGap(), fid.rpcMeasuresPhi(), fid.rpcStrip());
215  } else if (m_idHelperSvc->hasCSC() && fid.is_csc()) {
216  tmp = m_idHelperSvc->cscIdHelper().channelID(std::string(fid.stationNameString()), fid.eta(), fid.phi(), fid.cscChamberLayer(),
217  fid.cscWireLayer(), fid.cscMeasuresPhi(), fid.cscStrip());
218  } else if (fid.is_tgc()) {
219  tmp = m_idHelperSvc->tgcIdHelper().channelID(std::string(fid.stationNameString()), fid.eta(), fid.phi(), fid.tgcGasGap(), fid.tgcIsStrip(),
220  fid.tgcChannel());
221  } else if (fid.is_mmg()) {
222  tmp = m_idHelperSvc->mmIdHelper().channelID(std::string(fid.stationNameString()), fid.eta(), fid.phi(),
223  fid.mmgMultilayer(), fid.mmgGasGap(), fid.mmgStrip());
224  } else if (fid.is_stg()) {
225  // Convert the channel type enum
226  sTgcIdHelper::sTgcChannelTypes channelType = sTgcIdHelper::sTgcChannelTypes::Pad;
227  switch (fid.stgChannelType()) {
228  case MuonFixedLongId::StgChannelType::stgChannelPad:
229  channelType = sTgcIdHelper::sTgcChannelTypes::Pad;
230  break;
231  case MuonFixedLongId::StgChannelType::stgChannelStrip:
232  channelType = sTgcIdHelper::sTgcChannelTypes::Strip;
233  break;
234  case MuonFixedLongId::StgChannelType::stgChannelWire:
235  channelType = sTgcIdHelper::sTgcChannelTypes::Wire;
236  break;
237  default:
238  ATH_MSG_WARNING("Cannot convert StgChannelType");
239  break;
240  }
241  tmp = m_idHelperSvc->stgcIdHelper().channelID(std::string(fid.stationNameString()), fid.eta(), fid.phi(),
242  fid.stgMultilayer(), fid.stgGasGap(), channelType, fid.stgChannel());
243  }
244  return tmp;
245  }
246 
247  Identifier IdToFixedIdTool::regionKeyToId(std::string region) const {
248  // unpack the region key string used by the calibration framework and return
249  // an Athena Identifier
250  int eta, phi, ml;
251  std::string stnName(region, 0, 3);
252  std::string::size_type separator1 = region.find_first_of('_');
253  std::string::size_type separator2 = region.find_last_of('_');
254  if ((separator1 == std::string::npos) || (separator2 == std::string::npos) || (separator1 == separator2)) {
255  ATH_MSG_WARNING("IdToFixedIdTool::regionKeyToId : invalid region key " << region);
256  return Identifier();
257  }
258  std::string::size_type separator3 = region.find('_', separator1 + 1);
259  if (separator3 != separator2) {
260  // format STN_ETA_PHI_ML
261  std::string stnPhi(region, separator1 + 1, separator2 - separator1 - 1);
262  std::string stnEta(region, separator2 + 1, separator3 - separator2 - 1);
263  std::istringstream is1, is2;
264  is1.str(stnEta);
265  is1 >> eta;
266  is2.str(stnPhi);
267  is2 >> phi;
268  std::string Ml(region, separator3 + 1, region.size() - separator3 - 1);
269  std::istringstream is3;
270  is3.str(Ml);
271  is3 >> ml;
272  } else {
273  // format STN_ETA_PHI
274  std::string stnPhi(region, separator1 + 1, separator2 - separator1 - 1);
275  std::string stnEta(region, separator2 + 1, region.size() - separator2 - 1);
276  std::istringstream is1, is2;
277  is1.str(stnEta);
278  is1 >> eta;
279  is2.str(stnPhi);
280  is2 >> phi;
281  ml = 0;
282  }
283  // figure out what to do here when ml!=0 ...
284  Identifier athenaId = m_idHelperSvc->mdtIdHelper().elementID(stnName, eta, phi);
285  return athenaId;
286  }
287 
288  void IdToFixedIdTool::print(const Identifier& id) const {
291  if (id != test) ATH_MSG_WARNING("SOMETHING WENT WRONG PROCESSING FIXEDID<->ID");
292 
293  m_idHelperSvc->mdtIdHelper().print(id);
294  }
295 
296  void IdToFixedIdTool::print(const MuonFixedId& fid) const { ATH_MSG_INFO("MuonFixedId conversion yields: " << fid); }
297 
298  void IdToFixedIdTool::print(const MuonFixedLongId& fid) const { ATH_MSG_INFO("MuonFixedLongId conversion yields: " << fid); }
299 
300 } // namespace MuonCalib
MuonCalib::MuonFixedLongId::technologyCSC
@ technologyCSC
Definition: MuonFixedLongId.h:56
MuonCalib::MuonFixedId::setMdtTubeLayer
bool setMdtTubeLayer(int num)
Mdt specific: set layer to num.
Definition: MuonFixedId.h:805
MuonCalib::MuonFixedId::setMdtMultilayer
bool setMdtMultilayer(int num)
Mdt specific: set multilayer to num.
Definition: MuonFixedId.h:827
MuonCalib::MuonFixedLongId::mmgMultilayer
int mmgMultilayer() const
Mmg specific:
Definition: MuonFixedLongId.h:1451
MuonCalib::MuonFixedLongId::phi
int phi() const
Definition: MuonFixedLongId.h:935
MuonCalib::MuonFixedLongId::is_tgc
bool is_tgc() const
Definition: MuonFixedLongId.h:778
MuonCalib::MuonFixedLongId::setStgChannel
bool setStgChannel(int num)
Stg specific: set channel to num.
Definition: MuonFixedLongId.h:1567
MuonCalib::MuonFixedLongId::is_mdt
bool is_mdt() const
Definition: MuonFixedLongId.h:774
MuonCalib::MuonFixedId::tgcGasGap
int tgcGasGap() const
Tgc specific:
Definition: MuonFixedId.h:1150
MuonCalib::MuonFixedId::setTgcIsStrip
bool setTgcIsStrip(int num)
Tgc specific: set is_strip to num.
Definition: MuonFixedId.h:1164
MuonCalib::MuonFixedLongId::mmgStrip
int mmgStrip() const
Mmg specific:
Definition: MuonFixedLongId.h:1489
MuonCalib::MuonFixedId::setMdtTube
bool setMdtTube(int num)
Mdt specific: set tube to num.
Definition: MuonFixedId.h:767
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
MuonCalib::MuonFixedId::setCscChamberLayer
bool setCscChamberLayer(int num)
Csc specific: set chamber layer to num.
Definition: MuonFixedId.h:886
MuonCalib::MuonFixedLongId::technologyRPC
@ technologyRPC
Definition: MuonFixedLongId.h:58
MuonCalib::MuonFixedLongId::setTgcIsStrip
bool setTgcIsStrip(int num)
Tgc specific: set is_strip to num.
Definition: MuonFixedLongId.h:1399
sTgcIdHelper.h
MuonCalib::MuonFixedId::rpcDoubletR
int rpcDoubletR() const
Rpc specific:
Definition: MuonFixedId.h:1016
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
MuonCalib::MuonFixedId::setTgcChannel
bool setTgcChannel(int num)
Tgc specific: set channel to num.
Definition: MuonFixedId.h:1187
AthMsgStreamMacros.h
MuonCalib::MuonFixedId::setTgcGasGap
bool setTgcGasGap(int num)
Tgc specific: set gas_gap to num.
Definition: MuonFixedId.h:1142
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
MuonCalib::MuonFixedLongId::technologyMMG
@ technologyMMG
Definition: MuonFixedLongId.h:59
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
MuonCalib::MuonFixedLongId::setStationName
bool setStationName(StationName num)
set station name to num in the fixed identifier
Definition: MuonFixedLongId.h:874
MuonCalib::MuonFixedLongId::setRpcDoubletZ
bool setRpcDoubletZ(int num)
Rpc specific: set doublet_Z to num.
Definition: MuonFixedLongId.h:1265
MuonCalib::MuonFixedLongId::setStgMultilayer
bool setStgMultilayer(int num)
Stg specific: set multilayer to num.
Definition: MuonFixedLongId.h:1510
MuonCalib::MuonFixedLongId::mdtTubeLayer
int mdtTubeLayer() const
Mdt specific:
Definition: MuonFixedLongId.h:1048
MuonCalib::MuonFixedId::is_mdt
bool is_mdt() const
Definition: MuonFixedId.h:559
MuonCalib::MuonFixedId::setCscWireLayer
bool setCscWireLayer(int num)
Csc specific: set wire layer to num.
Definition: MuonFixedId.h:909
MuonCalib::MuonFixedId::mdtMultilayer
int mdtMultilayer() const
Mdt specific:
Definition: MuonFixedId.h:835
MuonCalib::MuonFixedLongId::rpcMeasuresPhi
int rpcMeasuresPhi() const
Rpc specific:
Definition: MuonFixedLongId.h:1339
MuonCalib::MuonFixedLongId::setStationPhi
bool setStationPhi(int num)
set station phi to num in the fixed identifier
Definition: MuonFixedLongId.h:927
MuonCalib::MuonFixedId::cscStrip
int cscStrip() const
Csc specific:
Definition: MuonFixedId.h:961
MuonCalib::MuonFixedLongId::is_mmg
bool is_mmg() const
Definition: MuonFixedLongId.h:790
IdToFixedIdTool.h
MuonCalib::MuonFixedId::setTechnology
bool setTechnology(int num)
set technology to num in the fixed identifier
Definition: MuonFixedId.h:613
MuonCalib::IdToFixedIdTool::idToFixedLongId
MuonFixedLongId idToFixedLongId(const Identifier &id) const override
Convert ATHENA Identifier to MuonFixedLongId.
Definition: IdToFixedIdTool.cxx:107
MuonCalib::MuonFixedLongId::mmgGasGap
int mmgGasGap() const
Mmg specific:
Definition: MuonFixedLongId.h:1470
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:144
MuonCalib::MuonFixedLongId::is_stg
bool is_stg() const
Definition: MuonFixedLongId.h:794
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
MuonCalib::MuonFixedLongId::tgcGasGap
int tgcGasGap() const
Tgc specific:
Definition: MuonFixedLongId.h:1385
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
MuonCalib::MuonFixedLongId::setStationEta
bool setStationEta(int num)
set station eta to num in the fixed identifier
Definition: MuonFixedLongId.h:904
sTgcIdHelper::sTgcChannelTypes
sTgcChannelTypes
Definition: sTgcIdHelper.h:190
MuonCalib::MuonFixedLongId::setMmgMultilayer
bool setMmgMultilayer(int num)
Mmg specific: set multilayer to num.
Definition: MuonFixedLongId.h:1445
MuonCalib::MuonFixedLongId::StgChannelType
StgChannelType
an enum with the STGC channel types
Definition: MuonFixedLongId.h:108
MuonCalib::MuonFixedLongId::rpcGasGap
int rpcGasGap() const
Rpc specific:
Definition: MuonFixedLongId.h:1317
MuonCalib::MuonFixedLongId::mdtTube
int mdtTube() const
Mdt specific:
Definition: MuonFixedLongId.h:1006
MuonCalib::MuonFixedLongId::setMdtTube
bool setMdtTube(int num)
Mdt specific: set tube to num.
Definition: MuonFixedLongId.h:998
MuonCalib::MuonFixedLongId::tgcChannel
int tgcChannel() const
Tgc specific:
Definition: MuonFixedLongId.h:1430
MuonCalib::MuonFixedId::stationNameString
std::string stationNameString() const
Definition: MuonFixedId.h:655
MuonCalib::MuonFixedLongId::setMdtMultilayer
bool setMdtMultilayer(int num)
Mdt specific: set multilayer to num.
Definition: MuonFixedLongId.h:1062
MuonCalib::MuonFixedLongId::setMdtTubeLayer
bool setMdtTubeLayer(int num)
Mdt specific: set layer to num.
Definition: MuonFixedLongId.h:1040
MuonCalib::IdToFixedIdTool::idToFixedId
MuonFixedId idToFixedId(const Identifier &id) const override
Convert ATHENA Identifier to MuonFixedId.
Definition: IdToFixedIdTool.cxx:28
MuonCalib::MuonFixedLongId::stgMultilayer
int stgMultilayer() const
Stg specific:
Definition: MuonFixedLongId.h:1516
MuonCalib::MuonFixedLongId::setTechnology
bool setTechnology(Technology num)
set technology to num in the fixed identifier
Definition: MuonFixedLongId.h:844
MuonCalib::MuonFixedLongId::setCscMeasuresPhi
bool setCscMeasuresPhi(int num)
Csc specific: set measures_phi to num.
Definition: MuonFixedLongId.h:1166
MuonCalib::MuonFixedLongId
Definition: MuonFixedLongId.h:50
MuonCalib::MuonFixedLongId::stationNameString
std::string_view stationNameString() const
Definition: MuonFixedLongId.h:886
MuonCalib::MuonFixedId::stationStringToFixedStationNumber
static int stationStringToFixedStationNumber(const std::string &station)
Definition: MuonFixedId.h:740
MuonCalib::MuonFixedId::setStationPhi
bool setStationPhi(int num)
set station phi to num in the fixed identifier
Definition: MuonFixedId.h:696
MuonCalib::MuonFixedId::setCscMeasuresPhi
bool setCscMeasuresPhi(int num)
Csc specific: set measures_phi to num.
Definition: MuonFixedId.h:931
MuonCalib::MuonFixedId::setStationName
bool setStationName(int num)
set station name to num in the fixed identifier
Definition: MuonFixedId.h:643
MuonCalib::MuonFixedLongId::cscWireLayer
int cscWireLayer() const
Csc specific:
Definition: MuonFixedLongId.h:1152
MuonCalib::MuonFixedId::is_tgc
bool is_tgc() const
Definition: MuonFixedId.h:563
MuonCalib::MuonFixedId::is_rpc
bool is_rpc() const
Definition: MuonFixedId.h:571
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
beamspotman.n
n
Definition: beamspotman.py:731
MuonCalib::MuonFixedLongId::stgChannelType
StgChannelType stgChannelType() const
Stg specific:
Definition: MuonFixedLongId.h:1554
MuonCalib::MuonFixedId::tgcIsStrip
int tgcIsStrip() const
Tgc specific:
Definition: MuonFixedId.h:1172
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
MuonCalib::MuonFixedLongId::setStgChannelType
bool setStgChannelType(StgChannelType num)
Stg specific: set channel_type to num.
Definition: MuonFixedLongId.h:1548
MuonCalib::MuonFixedId::rpcDoubletZ
int rpcDoubletZ() const
Rpc specific:
Definition: MuonFixedId.h:1038
MuonCalib::MuonFixedId::rpcStrip
int rpcStrip() const
Rpc specific:
Definition: MuonFixedId.h:1126
MuonCalib::MuonFixedId::setRpcGasGap
bool setRpcGasGap(int num)
Rpc specific: set gas_gap to num.
Definition: MuonFixedId.h:1074
MuonCalib::IdToFixedIdTool::initialize
virtual StatusCode initialize() override
IdToFixedIdTool initialization: retrieve all the IdHelpers needed to do strap the ATHENA Identifier.
Definition: IdToFixedIdTool.cxx:22
MuonCalib::MuonFixedLongId::setStgGasGap
bool setStgGasGap(int num)
Stg specific: set gas_gap to num.
Definition: MuonFixedLongId.h:1529
MuonCalib::MuonFixedId::rpcDoubletPhi
int rpcDoubletPhi() const
Rpc specific:
Definition: MuonFixedId.h:1060
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::MuonFixedId::setRpcMeasuresPhi
bool setRpcMeasuresPhi(int num)
Rpc specific: set measures_phi to num.
Definition: MuonFixedId.h:1096
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MuonCalib::MuonFixedLongId::eta
int eta() const
Definition: MuonFixedLongId.h:912
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
MuonCalib::MuonFixedId::setCscStrip
bool setCscStrip(int num)
Csc specific: set strip to num.
Definition: MuonFixedId.h:953
MuonCalib::MuonFixedId::rpcMeasuresPhi
int rpcMeasuresPhi() const
Rpc specific:
Definition: MuonFixedId.h:1104
MuonCalib::MuonFixedLongId::is_csc
bool is_csc() const
Definition: MuonFixedLongId.h:782
MuonCalib::MuonFixedLongId::technologyTGC
@ technologyTGC
Definition: MuonFixedLongId.h:57
MuonCalib::MuonFixedId::cscWireLayer
int cscWireLayer() const
Csc specific:
Definition: MuonFixedId.h:917
MuonCalib::MuonFixedId::is_csc
bool is_csc() const
Definition: MuonFixedId.h:567
MuonCalib::MuonFixedLongId::cscStrip
int cscStrip() const
Csc specific:
Definition: MuonFixedLongId.h:1196
MuonCalib::MuonFixedId
Definition: MuonFixedId.h:50
MuonCalib::MuonFixedLongId::stgChannel
int stgChannel() const
Stg specific:
Definition: MuonFixedLongId.h:1573
MuonCalib::MuonFixedLongId::rpcDoubletZ
int rpcDoubletZ() const
Rpc specific:
Definition: MuonFixedLongId.h:1273
MuonCalib::MuonFixedId::setRpcDoubletPhi
bool setRpcDoubletPhi(int num)
Rpc specific: set doublet_Phi to num.
Definition: MuonFixedId.h:1052
MuonCalib::MuonFixedLongId::setMmgGasGap
bool setMmgGasGap(int num)
Mmg specific: set gas_gap to num.
Definition: MuonFixedLongId.h:1464
MuonCalib::MuonFixedId::setStationEta
bool setStationEta(int num)
set station eta to num in the fixed identifier
Definition: MuonFixedId.h:673
MuonCalib::IdToFixedIdTool::print
void print(const Identifier &id) const override
print method to output an ATHENA Identifier, warning the user when the conversion and reconversion yi...
Definition: IdToFixedIdTool.cxx:288
MuonCalib::MuonFixedId::cscChamberLayer
int cscChamberLayer() const
Csc specific:
Definition: MuonFixedId.h:894
MuonCalib::MuonFixedId::phi
int phi() const
Definition: MuonFixedId.h:704
MuonCalib::MuonFixedLongId::rpcDoubletPhi
int rpcDoubletPhi() const
Rpc specific:
Definition: MuonFixedLongId.h:1295
MuonCalib::MuonFixedLongId::rpcDoubletR
int rpcDoubletR() const
Rpc specific:
Definition: MuonFixedLongId.h:1251
MuonCalib::MuonFixedLongId::stgGasGap
int stgGasGap() const
Stg specific:
Definition: MuonFixedLongId.h:1535
MuonCalib::MuonFixedId::setRpcDoubletR
bool setRpcDoubletR(int num)
Rpc specific: set doublet_R to num.
Definition: MuonFixedId.h:1008
MuonCalib::MuonFixedId::rpcGasGap
int rpcGasGap() const
Rpc specific:
Definition: MuonFixedId.h:1082
MuonCalib::MuonFixedId::setRpcDoubletZ
bool setRpcDoubletZ(int num)
Rpc specific: set doublet_Z to num.
Definition: MuonFixedId.h:1030
MuonCalib::MuonFixedLongId::setRpcMeasuresPhi
bool setRpcMeasuresPhi(int num)
Rpc specific: set measures_phi to num.
Definition: MuonFixedLongId.h:1331
MuonCalib::MuonFixedLongId::stationStringToFixedStationNumber
static StationName stationStringToFixedStationNumber(std::string_view station)
Definition: MuonFixedLongId.h:971
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
MuonCalib::MuonFixedLongId::technologyMDT
@ technologyMDT
Definition: MuonFixedLongId.h:55
MuonCalib::MuonFixedLongId::mdtMultilayer
int mdtMultilayer() const
Mdt specific:
Definition: MuonFixedLongId.h:1070
MuonCalib::MuonFixedLongId::cscMeasuresPhi
int cscMeasuresPhi() const
Csc specific:
Definition: MuonFixedLongId.h:1174
MuonCalib::MuonFixedLongId::setTgcChannel
bool setTgcChannel(int num)
Tgc specific: set channel to num.
Definition: MuonFixedLongId.h:1422
MuonCalib::MuonFixedLongId::setCscWireLayer
bool setCscWireLayer(int num)
Csc specific: set wire layer to num.
Definition: MuonFixedLongId.h:1144
MuonCalib::MuonFixedId::mdtTube
int mdtTube() const
Mdt specific:
Definition: MuonFixedId.h:775
MuonCalib::MuonFixedLongId::setCscChamberLayer
bool setCscChamberLayer(int num)
Csc specific: set chamber layer to num.
Definition: MuonFixedLongId.h:1121
MuonCalib::MuonFixedId::tgcChannel
int tgcChannel() const
Tgc specific:
Definition: MuonFixedId.h:1195
MuonCalib::MuonFixedLongId::rpcStrip
int rpcStrip() const
Rpc specific:
Definition: MuonFixedLongId.h:1361
MuonCalib::MuonFixedId::eta
int eta() const
Definition: MuonFixedId.h:681
MuonCalib::MuonFixedLongId::tgcIsStrip
int tgcIsStrip() const
Tgc specific:
Definition: MuonFixedLongId.h:1407
MuonCalib::MuonFixedLongId::setRpcGasGap
bool setRpcGasGap(int num)
Rpc specific: set gas_gap to num.
Definition: MuonFixedLongId.h:1309
MuonCalib::MuonFixedId::setRpcStrip
bool setRpcStrip(int num)
Rpc specific: set strip to num.
Definition: MuonFixedId.h:1118
MuonCalib::IdToFixedIdTool::m_print_level
int m_print_level
Sets printlevel of output.
Definition: IdToFixedIdTool.h:69
AthAlgTool
Definition: AthAlgTool.h:26
MuonCalib::IdToFixedIdTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: IdToFixedIdTool.h:67
MuonCalib::MuonFixedLongId::setCscStrip
bool setCscStrip(int num)
Csc specific: set strip to num.
Definition: MuonFixedLongId.h:1188
MuonCalib::MuonFixedLongId::technologySTG
@ technologySTG
Definition: MuonFixedLongId.h:60
MuonCalib::IdToFixedIdTool::regionKeyToId
Identifier regionKeyToId(std::string region) const override
Returns an ATHENA Identifier for a given Region key.
Definition: IdToFixedIdTool.cxx:247
MuonCalib::IdToFixedIdTool::fixedIdToId
Identifier fixedIdToId(const MuonFixedId &fid) const override
Convert MuonFixedId to ATHENA Identifier.
Definition: IdToFixedIdTool.cxx:88
MuonCalib::IdToFixedIdTool::fixedLongIdToId
Identifier fixedLongIdToId(const MuonFixedLongId &fid) const override
Convert MuonFixedLongId to ATHENA Identifier.
Definition: IdToFixedIdTool.cxx:206
MuonCalib::MuonFixedLongId::setRpcDoubletR
bool setRpcDoubletR(int num)
Rpc specific: set doublet_R to num.
Definition: MuonFixedLongId.h:1243
MuonCalib::MuonFixedLongId::setRpcStrip
bool setRpcStrip(int num)
Rpc specific: set strip to num.
Definition: MuonFixedLongId.h:1353
MuonCalib::MuonFixedLongId::setRpcDoubletPhi
bool setRpcDoubletPhi(int num)
Rpc specific: set doublet_Phi to num.
Definition: MuonFixedLongId.h:1287
MuonCalib::MuonFixedLongId::is_rpc
bool is_rpc() const
Definition: MuonFixedLongId.h:786
MuonCalib::MuonFixedLongId::setTgcGasGap
bool setTgcGasGap(int num)
Tgc specific: set gas_gap to num.
Definition: MuonFixedLongId.h:1377
MuonCalib::MuonFixedLongId::setMmgStrip
bool setMmgStrip(int num)
Mmg specific: set strip to num.
Definition: MuonFixedLongId.h:1483
MuonCalib::MuonFixedId::mdtTubeLayer
int mdtTubeLayer() const
Mdt specific:
Definition: MuonFixedId.h:813
MuonCalib::MuonFixedId::cscMeasuresPhi
int cscMeasuresPhi() const
Csc specific:
Definition: MuonFixedId.h:939
MuonCalib::IdToFixedIdTool::IdToFixedIdTool
IdToFixedIdTool(const std::string &type, const std::string &name, const IInterface *parent)
AlgTool constructor.
Definition: IdToFixedIdTool.cxx:16
MuonCalib::MuonFixedLongId::cscChamberLayer
int cscChamberLayer() const
Csc specific:
Definition: MuonFixedLongId.h:1129