|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   21                                         const std::string& 
name,
 
   26   declareInterface< IMuonFeatureCnvTool >( 
this );
 
   79   return StatusCode::SUCCESS;
 
  116     const std::vector< std::vector<int> >& chamber_type_1 = aodMfd->
chamber_type_1();
 
  117     const std::vector< std::vector<float> >& aw           = aodMfd->
aw();
 
  118     const std::vector< std::vector<float> >& bw           = aodMfd->
bw();
 
  119     const std::vector< std::vector<float> >& zetaMin      = aodMfd->
zetaMin();
 
  120     const std::vector< std::vector<float> >& zetaMax      = aodMfd->
zetaMax();
 
  121     const std::vector< std::vector<float> >& radMin       = aodMfd->
radMin();
 
  122     const std::vector< std::vector<float> >& radMax       = aodMfd->
radMax();
 
  123     const std::vector< std::vector<float> >& 
etaMin       = aodMfd->
etaMin();
 
  124     const std::vector< std::vector<float> >& 
etaMax       = aodMfd->
etaMax();
 
  125     for (
int sector=0; sector<2; sector++) {
 
  126       for (
int station=0; station<4; station++) {
 
  127         xaod->
setChamberType1(station, sector, chamber_type_1[sector][station]);
 
  128         xaod->
setChamberType2(station, sector, chamber_type_1[sector][station]);
 
  129         xaod->
setRoad(station, sector, aw[sector][station], bw[sector][station]);
 
  130         xaod->
setRegionZ(station, sector, zetaMin[sector][station], zetaMax[sector][station]);
 
  131         xaod->
setRegionR(station, sector, radMin[sector][station], radMax[sector][station]);
 
  137     const std::vector<uint32_t>& pad_hit_code     = aodMfd->
pad_hit_code();
 
  138     const std::vector<float>&    pad_hit_x        = aodMfd->
pad_hit_x();
 
  139     const std::vector<float>&    pad_hit_y        = aodMfd->
pad_hit_y();
 
  140     const std::vector<float>&    pad_hit_z        = aodMfd->
pad_hit_z();
 
  141     const std::vector<float>&    pad_hit_r        = aodMfd->
pad_hit_r();
 
  142     const std::vector<float>&    pad_hit_p        = aodMfd->
pad_hit_p();
 
  143     for (
unsigned int i=0; 
i< pad_hit_onlineId.size(); 
i++) {
 
  144       if ( 
i >= pad_hit_code.size() || 
i >= pad_hit_x.size() || 
i >= pad_hit_y.size() || 
 
  145            i >= pad_hit_z.size() || 
i >= pad_hit_r.size() || 
i >= pad_hit_p.size() ) 
continue;
 
  147                        pad_hit_x[
i], pad_hit_y[
i], pad_hit_z[
i],
 
  148                        0.,pad_hit_r[
i], pad_hit_p[
i],
"");
 
  172     for (
unsigned int i=0; 
i< tgc_Inn_rho_hit_phi.size(); 
i++) {
 
  173       if (
i >= tgc_Inn_rho_hit_r.size() || 
i >= tgc_Inn_rho_hit_z.size() ||
 
  174           i >= tgc_Inn_rho_hit_width.size() || 
i >= tgc_Inn_rho_hit_in_seg.size() || 
 
  175           i >= tgc_Inn_phi_hit_phi.size() || 
i >= tgc_Inn_phi_hit_r.size() || 
 
  176           i >= tgc_Inn_phi_hit_z.size() || 
i >= tgc_Inn_phi_hit_width.size() || 
 
  177           i >= tgc_Inn_phi_hit_in_seg.size() || 
i >= tgc_Mid_rho_hit_phi.size() || 
 
  178           i >= tgc_Mid_rho_hit_r.size() || 
i >= tgc_Mid_rho_hit_z.size() || 
 
  179           i >= tgc_Mid_rho_hit_width.size() || 
i >= tgc_Mid_rho_hit_in_seg.size() || 
 
  180           i >= tgc_Mid_phi_hit_phi.size() || 
i >= tgc_Mid_phi_hit_r.size() || 
 
  181           i >= tgc_Mid_phi_hit_z.size() || 
i >= tgc_Mid_phi_hit_width.size() || 
 
  182           i >= tgc_Mid_phi_hit_in_seg.size() ) 
continue;
 
  183       xaod->
setTgcHit(0.,tgc_Inn_rho_hit_phi[
i], tgc_Inn_rho_hit_r[
i], tgc_Inn_rho_hit_z[
i],
 
  184               tgc_Inn_rho_hit_width[
i], (
int)tgc_Inn_rho_hit_in_seg[
i], 0, 0, 0);
 
  187     const std::vector<uint32_t>& mdt_onlineId      = aodMfd->
mdt_onlineId();
 
  188     const std::vector<uint32_t>& mdt_offlineId     = aodMfd->
mdt_offlineId();
 
  189     const std::vector<float>&    mdt_tube_r        = aodMfd->
mdt_tube_r();
 
  190     const std::vector<float>&    mdt_tube_z        = aodMfd->
mdt_tube_z();
 
  192     const std::vector<float>&    mdt_tube_time     = aodMfd->
mdt_tube_time();
 
  193     const std::vector<float>&    mdt_tube_space    = aodMfd->
mdt_tube_space();
 
  194     const std::vector<float>&    mdt_tube_sigma    = aodMfd->
mdt_tube_sigma();
 
  196     for (
unsigned int i=0; 
i< mdt_onlineId.size(); 
i++) {
 
  197       if ( 
i >= mdt_offlineId.size() || 
i >= mdt_tube_r.size() || 
 
  198        i >= mdt_tube_z.size() || 
i >= mdt_tube_residual.size() || 
 
  199        i >= mdt_tube_time.size() || 
i >= mdt_tube_space.size() || 
 
  200        i >= mdt_tube_sigma.size() ) 
continue;
 
  202               mdt_tube_r[
i], mdt_tube_z[
i], 0., mdt_tube_residual[
i],
 
  203               mdt_tube_time[
i], mdt_tube_space[
i], mdt_tube_sigma[
i]);
 
  210   return StatusCode::SUCCESS;
 
  218     ATH_MSG_ERROR( 
"Null pointer for input MuonFeatureContainter" );
 
  219     return StatusCode::FAILURE;
 
  223     ATH_MSG_ERROR( 
"Null pointer for input MuonFeatureDetailsContainter" );
 
  224     return StatusCode::FAILURE;
 
  234   std::vector<std::pair <bool, const MuonFeatureDetails*>> vMfd;
 
  238   for (citMfd = citMfdBegin; citMfd != citMfdEnd; ++citMfd) {
 
  239     vMfd.emplace_back(
false, *citMfd);
 
  242   citMfd = citMfdBegin;
 
  244   for (citMf = citMfBegin; citMf != citMfEnd; ++citMf) {
 
  251     if(
sc.isFailure()) 
return sc;
 
  253     for (
unsigned int i=0; 
i<vMfd.size(); 
i++) {
 
  255       if (vMfd[
i].
first) 
continue;
 
  257       if ( (
int)(*citMf)->roiId() == (
int)vMfd[
i].second->roi_id() &&
 
  258            (
int)(*citMf)->algoId() == (
int)vMfd[
i].second->id() ) {
 
  260         vMfd[
i].first = 
true;
 
  265         if(
sc.isFailure()) 
return sc;
 
  275   return StatusCode::SUCCESS;
 
  
double dq_var2(void) const
const std::vector< float > & pad_hit_z(void) const
const std::vector< std::vector< float > > & bw(void) const
int max_mdt_hits_capacity(void) const
float tgc_Mid_rho_chi2(void) const
float tgc_Mid_phi_chi2(void) const
float tgcPt() const
Set and get pT from different algorithms.
double dq_var1(void) const
Const iterator class for DataVector/DataList.
void setTgcMidF(float rhoChi2, long rhoN, float phiChi2, long phiN)
float sp3_slope(void) const
long tgc_Mid_phi_N(void) const
uint32_t lumi_block(void) const
const std::vector< uint32_t > & mdt_onlineId(void) const
void setEndcapAlpha(float value)
Set the fitted  value in the endcap.
const std::vector< float > & tgc_Inn_phi_hit_phi(void) const
const std::vector< float > & tgc_Inn_phi_hit_z(void) const
void setRegionEta(int station, int sector, float min, float max)
Eta range.
const std::vector< float > & mdt_tube_z(void) const
const std::vector< float > & mdt_tube_residual(void) const
Class describing standalone muons reconstructed in the LVL2 trigger.
float tgc_Mid2_z(void) const
void setAlgoId(int value)
const std::vector< float > & tgc_Mid_phi_hit_width(void) const
const std::vector< std::vector< float > > & etaMax(void) const
void setIsRpcFailure(int value)
Set flag to record if RPC is properly read.
uint32_t roi_number(void) const
float dir_phi(void) const
const std::vector< uint32_t > & pad_hit_onlineId(void) const
void setRoiSubsystem(uint32_t value)
float tgc_Inn_rho_std(void) const
const std::vector< float > & tgc_Inn_rho_hit_z(void) const
void setTgcInn(float eta, float phi, float r, float z)
Set the results of TGC fit.
void setMdtHit(uint32_t onlineId, int isOutier, int chamber, float r, float z, float phi, float residual, float time, float space, float sigma)
Set the properties of each MDT tube.
void setPt(float pt)
Set the transverse momentum ( ) of the muon.
const std::vector< float > & pad_hit_x(void) const
@ BarrelInner
Inner station in the barrel spectrometer.
long tgc_Mid_rho_N(void) const
float tgc_Inn_z(void) const
void setRoiSector(uint32_t value)
float ec_alpha(void) const
void setSuperPoint(int chamber, float r, float z, float slope, float intercept=0., float chi2=0.)
Set the properties of one particular super point measurement.
float tgc_Mid2_phi(void) const
const std::vector< std::vector< float > > & etaMin(void) const
void setPhiMS(float value)
Set the phi at muon spectrometer.
const std::vector< std::vector< float > > & radMin(void) const
void setEtaMS(float value)
Set the eta at muon spectrometer.
void setRpcFitInn(float phi, float slope, float offset)
Set the results of RPC fit.
#define ATH_MSG_VERBOSE(x)
const std::vector< float > & tgc_Mid_phi_hit_r(void) const
void setRMS(float value)
Set the R at muon spectrometer.
const std::vector< uint32_t > & mdt_offlineId(void) const
const std::vector< float > & tgc_Mid_rho_hit_width(void) const
float tgc_Mid1_r(void) const
const std::vector< std::vector< float > > & zetaMin(void) const
virtual double eta() const
The pseudorapidity ( ) of the particle.
uint32_t roi_system(void) const
void setTgcInnF(float rhoStd, long rhoN, float phiStd, long phiN)
const std::vector< uint32_t > & tgc_Mid_phi_hit_in_seg(void) const
void setTeId(uint32_t value)
float tgc_Mid2_r(void) const
const std::vector< float > & mdt_tube_time(void) const
const std::vector< float > & mdt_tube_space(void) const
void setBeta(float value)
Set beta.
float tgc_Mid2_eta(void) const
const std::vector< float > & mdt_tube_sigma(void) const
void setEta(float eta)
Set the pseudorapidity ( ) of the muon.
float br_radius(void) const
float dir_zeta(void) const
void setRoad(int station, int sector, float aw, float bw)
Road.
const std::vector< float > & tgc_Inn_phi_hit_width(void) const
uint32_t lvl1_id(void) const
const std::vector< float > & tgc_Inn_rho_hit_r(void) const
void setPhi(float phi)
Set the azimuthal angle ( ) of the muon.
void setBarrelSagitta(float value)
Set the fitted sagitta of the muon in the barrel.
const std::vector< float > & tgc_Mid_rho_hit_r(void) const
void setSAddress(int value)
Set the station address of the muon.
const std::vector< float > & tgc_Mid_phi_hit_z(void) const
uint32_t roi_threshold(void) const
void setRoiSystem(uint32_t value)
::StatusCode StatusCode
StatusCode definition for legacy code.
void setRoiId(uint32_t value)
void setChamberType2(int station, int sector, int chamberType)
int max_rpc_hits_capacity(void) const
float br_sagitta(void) const
const std::vector< std::vector< float > > & aw(void) const
float tgc_Inn_phi_std(void) const
float tgc_Inn_eta(void) const
const std::vector< std::vector< int > > & chamber_type_1(void) const
float tgc_Mid1_phi(void) const
const std::vector< uint32_t > & tgc_Inn_phi_hit_in_seg(void) const
float tgc_Inn_phi(void) const
const std::vector< float > & tgc_Inn_rho_hit_phi(void) const
long tgc_Inn_phi_N(void) const
void setRegionZ(int station, int sector, float min, float max)
Z range.
void setRpcFitOut(float phi, float slope, float offset)
void setMuonDetMask(uint32_t value)
void setChamberType1(int station, int sector, int chamberType)
Set the muon road information.
const std::vector< float > & tgc_Mid_phi_hit_phi(void) const
void setIsTgcFailure(int value)
Set flag to record if TGC is properly read.
@ EndcapMiddle
Middle station in the endcap spectrometer.
void setEndcapBeta(float value)
Set the fitted  value in the endcap.
void setCapacities(int rpc, int tgc, int mdt, int csc)
void setDirPhiMS(float value)
Set tan phi at muon spectrometer.
const std::vector< float > & pad_hit_y(void) const
void setBarrelRadius(float value)
Set the fitted radius of the muon in the barrel.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
void setRpcHit(uint32_t layer, uint32_t measuresPhi, float x, float y, float z, float time, float distEta, float distPhi, const std::string &stationName)
Set RPC hits.
float sp1_slope(void) const
virtual double phi() const
The azimuthal angle ( ) of the particle.
int max_tgc_hits_capacity(void) const
float sp2_slope(void) const
float tgc_Mid1_eta(void) const
void setZMS(float value)
Set the Z at muon spectrometer.
const std::vector< std::vector< float > > & radMax(void) const
void setRoiThreshold(uint32_t value)
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
void setRpcFitMid(float phi, float slope, float offset)
void setTgcPt(float value)
uint32_t te_id(void) const
long tgc_Inn_rho_N(void) const
const std::vector< float > & pad_hit_p(void) const
@ EndcapInner
Inner station in the endcap spectrometer.
@ BarrelOuter
Outer station in the barrel spectrometer.
void setRegionR(int station, int sector, float min, float max)
R range.
uint32_t roi_id(void) const
const std::vector< float > & tgc_Mid_rho_hit_z(void) const
void setRoiNumber(uint32_t value)
void setLvl1Id(uint32_t value)
virtual double pt() const
The transverse momentum ( ) of the particle.
const std::vector< float > & tgc_Inn_rho_hit_width(void) const
float ec_beta(void) const
void setRoIWord(uint32_t value)
Set the RoI ID of the seeding LVL1 muon.
float tgc_Inn_r(void) const
void setTgcHit(float eta, float phi, float r, float z, float width, int stationNum, bool isStrip, int bcTag, bool inRoad)
Set TGC hits.
const std::vector< float > & tgc_Mid_rho_hit_phi(void) const
L2StandAloneMuon_v2 L2StandAloneMuon
Define the latest version of the muon SA class.
void setDirZMS(float value)
Set dRdZ at muon spectrometer.
const std::vector< std::vector< float > > & zetaMax(void) const
const std::vector< uint32_t > & pad_hit_code(void) const
const std::vector< float > & pad_hit_r(void) const
float tgc_Mid1_z(void) const
const std::vector< uint32_t > & tgc_Mid_rho_hit_in_seg(void) const
size_type size() const noexcept
Returns the number of elements in the collection.
@ BarrelMiddle
Middle station in the barrel spectrometer.
void setLumiBlock(uint32_t value)
@ EndcapOuter
Outer station in the endcap spectrometer.
uint32_t muondetmask(void) const
uint32_t roi_sector(void) const
const std::vector< float > & tgc_Inn_phi_hit_r(void) const
const std::vector< float > & mdt_tube_r(void) const
void setTgcMid2(float eta, float phi, float r, float z)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
void setTgcMid1(float eta, float phi, float r, float z)
uint32_t roi_subsystem(void) const
const std::vector< uint32_t > & tgc_Inn_rho_hit_in_seg(void) const