|
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