|
ATLAS Offline Software
|
Go to the documentation of this file.
29 const IInterface*
parent) :
32 declareInterface<LVL1::IInputTOBConverter>(
this );
66 return StatusCode::SUCCESS;
73 float fEta = muonRoI.
eta();
74 float fPhi = muonRoI.
phi();
89 et = rpcPtValues[thrNumber];
91 et = tgcPtValues[thrNumber];
94 unsigned int EtTopo =
et*10;
100 muon.setEtDouble(
static_cast<double>(EtTopo/10.));
101 muon.setEtaDouble(
static_cast<double>(etaTopo/40.));
102 muon.setPhiDouble(
static_cast<double>(phiTopo/20.));
110 muon.setIs2cand( 0 );
115 muon.setInnerCoin( 0 );
133 Monitored::Group(
m_monTool, mon_hPt, mon_hEta, mon_hPhi, mon_hBW2or3, mon_hInnerCoin, mon_hGoodMF, mon_hCharge, mon_hIs2cand, mon_hIsTGC);
143 <<
", w = " << MSG::hex << std::setw( 8 ) << roi.
getRoiID() << MSG::dec );
150 float fEta = roi.
geteta();
151 float fPhi = roi.
getphi();
161 muon.setEtDouble(
static_cast<double>(EtTopo/10.));
162 muon.setEtaDouble(
static_cast<double>(etaTopo/40.));
163 muon.setPhiDouble(
static_cast<double>(phiTopo/20.));
171 muon.setIs2cand( 0 );
176 muon.setInnerCoin( 0 );
194 Monitored::Group(
m_monTool, mon_hPt, mon_hEta, mon_hPhi, mon_hBW2or3, mon_hInnerCoin, mon_hGoodMF, mon_hCharge, mon_hIs2cand, mon_hIsTGC);
206 float eta = muonRoI.
eta();
207 float phi = muonRoI.
phi();
217 et = rpcPtValues[thrNumber];
219 et = tgcPtValues[thrNumber];
222 unsigned int EtTopo =
et*10;
227 muon.setEtDouble(
static_cast<double>(EtTopo/10.));
228 muon.setEtaDouble(
static_cast<double>(etaTopo/40.));
229 muon.setPhiDouble(
static_cast<double>(phiTopo/20.));
237 muon.setIs2cand( 0 );
242 muon.setInnerCoin( 0 );
260 Monitored::Group(
m_monTool, mon_hLateMuonPt, mon_hLateMuonEta, mon_hLateMuonPhi, mon_hLateMuonBW2or3, mon_hLateMuonInnerCoin, mon_hLateMuonGoodMF, mon_hLateMuonCharge, mon_hLateMuonIs2cand, mon_hLateMuonIsTGC);
276 float fEta = roi.
geteta();
277 float fPhi = roi.
getphi();
287 muon.setEtDouble(
static_cast<double>(EtTopo/10.));
288 muon.setEtaDouble(
static_cast<double>(etaTopo/40.));
289 muon.setPhiDouble(
static_cast<double>(phiTopo/20.));
297 muon.setIs2cand( 0 );
302 muon.setInnerCoin( 0 );
320 Monitored::Group(
m_monTool, mon_hLateMuonPt, mon_hLateMuonEta, mon_hLateMuonPhi, mon_hLateMuonBW2or3, mon_hLateMuonInnerCoin, mon_hLateMuonGoodMF, mon_hLateMuonCharge, mon_hLateMuonIs2cand, mon_hLateMuonIsTGC);
330 if (
flag ==
true ) {
return 1; }
345 const auto & exMU =
l1menu->thrExtraInfo().MU();
346 auto rpcPtValues = exMU.knownRpcPtValues();
347 auto tgcPtValues = exMU.knownTgcPtValues();
350 for (
auto muonRoi : *muonROIs) {
359 const EventContext& ctx = Gaudi::Hive::currentContext();
364 ATH_MSG_DEBUG(
"Contains L1Topo LateMuons L1Muctpi object from StoreGate!" );
366 for(
const auto muonRoi : *latemuonROIs) {
385 ATH_MSG_DEBUG(
"Use MuCTPiToTopo granularity Muon ROIs: retrieve from SG");
387 const std::vector<MuCTPIL1TopoCandidate> & candList = l1topo->getCandidates();
390 if(muCand.moreThan2CandidatesOverflow()){
392 ATH_MSG_DEBUG(
"setOverflowFromMuonInput : true (MuCTPIL1TopoCandidate from SG)");
396 ATH_MSG_ERROR(
"Couldn't retrieve L1Topo inputs from StoreGate");
397 return StatusCode::FAILURE;
405 ATH_MSG_DEBUG(
"Contains L1Topo LateMuons L1Muctpi object from StoreGate!" );
406 const std::vector<MuCTPIL1TopoCandidate> & candList = l1topoBC1->
getCandidates();
415 return StatusCode::SUCCESS;
unsigned int getphicode() const
def retrieve(aClass, aKey=None)
void setOverflowFromMuonInput(bool v)
Extra patterns decribing particle interation process.
Group
Properties of a chain group.
unsigned int getptValue() const
unsigned int getRoiID() const
bool getInnerCoincidence() const
Returns whether or not there was an inner coincidence in the TGC.
const_pointer_type cptr()
Dereference the pointer.
Charge getCharge() const
Returns the charge sign of the muon candidate.
float eta() const
The pseudorapidity ( ) of the muon candidate.
MuCTPI input class to the L1Topo simulation.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
const std::string & key() const
Return the StoreGate ID for the referenced object.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
bool getinnerCoin() const
bool isMoreCandInRoI() const
Returns if there were other muons detected in the same RoI.
const std::vector< MuCTPIL1TopoCandidate > & getCandidates() const
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a LVL1 muon region of interest.
RoISource getSource() const
Returns the system that detected the muon candidate.
#define CHECK(...)
Evaluate an expression and check for errors.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
int getRoI() const
Get the "RoI number" (position inside the sector)
unsigned int getetacode() const
virtual bool isValid() override final
Can the handle be successfully dereferenced?
const std::string & getSectorName() const
MuCTPI input class to the L1Topo simulation.
std::string to_string(const DetectorType &type)
unsigned int getptThresholdID() const
unsigned int getMioctID() const
bool getBW3Coincidence() const
Returns whether or not there was a 3-station coincidence in the TGC.
Declare a monitored scalar variable.
int getThrNumber() const
Get the logic number of the highest threshold this RoI passed.
bool getGoodMF() const
Returns whether or not there was a good magnetic field quality in the TGC.
unsigned int toTopoPhi(float phi)
float phi() const
The azimuthal angle ( ) of the muon candidate.