|
ATLAS Offline Software
|
#include <MuonInputProvider.h>
|
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > | m_recRPCRoiTool {this, "RecRpcRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool", "RPC RoI reconstruction tool"} |
|
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > | m_recTGCRoiTool {this, "RecTgcRoiTool", "LVL1::TrigT1TGCRecRoiTool/TrigT1TGCRecRoiTool", "TGC RoI reconstruction tool"} |
|
ToolHandle< GenericMonitoringTool > | m_monTool {this, "MonTool", "", "Monitoring tool to create online histograms"} |
|
SG::ReadHandleKey< LVL1::MuCTPIL1Topo > | m_MuCTPItoL1TopoLocation { this, "locationMuCTPItoL1Topo", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Storegate key for MuCTPItoL1Topo "} |
|
SG::ReadHandleKey< LVL1::MuCTPIL1Topo > | m_MuCTPItoL1TopoLocationPlusOne { this, "locationMuCTPItoL1Topo1", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Storegate key for MuCTPItoL1TopoPlusOne"} |
|
SG::ReadHandleKey< xAOD::MuonRoIContainer > | m_MuonL1RoILocation {this, "locationMuonRoI", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Empty=Use Muctpi, LVL1MuonRoIs=Use reading from xAOD L1 RoI"} |
|
SG::ReadHandleKey< xAOD::MuonRoIContainer > | m_MuonL1RoILocationPlusOne {this, "locationMuonRoI1", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Empty=Use Muctpi, LVL1MuonRoIs=Use reading from xAOD L1 RoI"} |
|
Definition at line 37 of file MuonInputProvider.h.
◆ MuonInputProvider()
MuonInputProvider::MuonInputProvider |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ createLateMuonTOB() [1/2]
Definition at line 271 of file MuonInputProvider.cxx.
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);
◆ createLateMuonTOB() [2/2]
Definition at line 202 of file MuonInputProvider.cxx.
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);
◆ createMuonTOB() [1/2]
Definition at line 141 of file MuonInputProvider.cxx.
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);
◆ createMuonTOB() [2/2]
Definition at line 69 of file MuonInputProvider.cxx.
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);
◆ fillTopoInputEvent()
Definition at line 335 of file MuonInputProvider.cxx.
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();
362 if( latemuonROIs.isValid() ) {
364 ATH_MSG_DEBUG(
"Contains L1Topo LateMuons L1Muctpi object from StoreGate!" );
366 for(
const auto muonRoi : *latemuonROIs) {
381 if( l1topoh.isValid() ) l1topo = l1topoh.cptr();
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;
404 if( l1topoBC1.isValid() ) {
405 ATH_MSG_DEBUG(
"Contains L1Topo LateMuons L1Muctpi object from StoreGate!" );
406 const std::vector<MuCTPIL1TopoCandidate> & candList = l1topoBC1->getCandidates();
415 return StatusCode::SUCCESS;
◆ initialize()
StatusCode MuonInputProvider::initialize |
( |
| ) |
|
|
overridevirtual |
◆ topoFlag()
int MuonInputProvider::topoFlag |
( |
bool |
flag | ) |
const |
|
private |
◆ m_monTool
◆ m_MuCTPItoL1TopoLocation
SG::ReadHandleKey<LVL1::MuCTPIL1Topo> LVL1::MuonInputProvider::m_MuCTPItoL1TopoLocation { this, "locationMuCTPItoL1Topo", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Storegate key for MuCTPItoL1Topo "} |
|
private |
◆ m_MuCTPItoL1TopoLocationPlusOne
SG::ReadHandleKey<LVL1::MuCTPIL1Topo> LVL1::MuonInputProvider::m_MuCTPItoL1TopoLocationPlusOne { this, "locationMuCTPItoL1Topo1", LVL1MUCTPI::DEFAULT_MuonL1TopoLocation, "Storegate key for MuCTPItoL1TopoPlusOne"} |
|
private |
◆ m_MuonL1RoILocation
◆ m_MuonL1RoILocationPlusOne
◆ m_recRPCRoiTool
◆ m_recTGCRoiTool
The documentation for this class was generated from the following files:
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.
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.
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool getinnerCoin() const
bool isMoreCandInRoI() const
Returns if there were other muons detected in the same RoI.
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
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.