83 {
84
85 if (aodMfd) {
86 xaod->
setCapacities (aodMfd->max_rpc_hits_capacity(), aodMfd->max_tgc_hits_capacity(), aodMfd->max_mdt_hits_capacity(), 100);
87
89 xaod->
setTeId (aodMfd->te_id());
99
100 xaod->
setRpcFitInn (aodMfd->rpc1_x(), aodMfd->rpc1_y(), aodMfd->rpc1_z());
101 xaod->
setRpcFitMid (aodMfd->rpc2_x(), aodMfd->rpc2_y(), aodMfd->rpc2_z());
102 xaod->
setRpcFitOut (aodMfd->rpc3_x(), aodMfd->rpc3_y(), aodMfd->rpc3_z());
103
104 xaod->
setTgcInn (aodMfd->tgc_Inn_eta(), aodMfd->tgc_Inn_phi(),
105 aodMfd->tgc_Inn_r(), aodMfd->tgc_Inn_z());
106 xaod->
setTgcInnF (aodMfd->tgc_Inn_rho_std(), aodMfd->tgc_Inn_rho_N(),
107 aodMfd->tgc_Inn_phi_std(), aodMfd->tgc_Inn_phi_N());
108 xaod->
setTgcMid1 (aodMfd->tgc_Mid1_eta(), aodMfd->tgc_Mid1_phi(),
109 aodMfd->tgc_Mid1_r(), aodMfd->tgc_Mid1_z());
110 xaod->
setTgcMid2 (aodMfd->tgc_Mid2_eta(), aodMfd->tgc_Mid2_phi(),
111 aodMfd->tgc_Mid2_r(), aodMfd->tgc_Mid2_z());
112 xaod->
setTgcMidF (aodMfd->tgc_Mid_rho_chi2(), aodMfd->tgc_Mid_rho_N(),
113 aodMfd->tgc_Mid_phi_chi2(), aodMfd->tgc_Mid_phi_N());
115
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]);
132 xaod->
setRegionEta(station, sector, etaMin[sector][station], etaMax[sector][station]);
133 }
134 }
135
136 const std::vector<uint32_t>& pad_hit_onlineId = aodMfd->pad_hit_onlineId();
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;
146 xaod->
setRpcHit( (uint32_t)pad_hit_onlineId[i], pad_hit_code[i],
147 pad_hit_x[i], pad_hit_y[i], pad_hit_z[i],
148 0.,pad_hit_r[i], pad_hit_p[i],"");
149 }
150
151
152 const std::vector<float>& tgc_Inn_rho_hit_phi = aodMfd->tgc_Inn_rho_hit_phi();
153 const std::vector<float>& tgc_Inn_rho_hit_r = aodMfd->tgc_Inn_rho_hit_r();
154 const std::vector<float>& tgc_Inn_rho_hit_z = aodMfd->tgc_Inn_rho_hit_z();
155 const std::vector<float>& tgc_Inn_rho_hit_width = aodMfd->tgc_Inn_rho_hit_width();
156 const std::vector<uint32_t>& tgc_Inn_rho_hit_in_seg = aodMfd->tgc_Inn_rho_hit_in_seg();
157 const std::vector<float>& tgc_Inn_phi_hit_phi = aodMfd->tgc_Inn_phi_hit_phi();
158 const std::vector<float>& tgc_Inn_phi_hit_r = aodMfd->tgc_Inn_phi_hit_r();
159 const std::vector<float>& tgc_Inn_phi_hit_z = aodMfd->tgc_Inn_phi_hit_z();
160 const std::vector<float>& tgc_Inn_phi_hit_width = aodMfd->tgc_Inn_phi_hit_width();
161 const std::vector<uint32_t>& tgc_Inn_phi_hit_in_seg = aodMfd->tgc_Inn_phi_hit_in_seg();
162 const std::vector<float>& tgc_Mid_rho_hit_phi = aodMfd->tgc_Mid_rho_hit_phi();
163 const std::vector<float>& tgc_Mid_rho_hit_r = aodMfd->tgc_Mid_rho_hit_r();
164 const std::vector<float>& tgc_Mid_rho_hit_z = aodMfd->tgc_Mid_rho_hit_z();
165 const std::vector<float>& tgc_Mid_rho_hit_width = aodMfd->tgc_Mid_rho_hit_width();
166 const std::vector<uint32_t>& tgc_Mid_rho_hit_in_seg = aodMfd->tgc_Mid_rho_hit_in_seg();
167 const std::vector<float>& tgc_Mid_phi_hit_phi = aodMfd->tgc_Mid_phi_hit_phi();
168 const std::vector<float>& tgc_Mid_phi_hit_r = aodMfd->tgc_Mid_phi_hit_r();
169 const std::vector<float>& tgc_Mid_phi_hit_z = aodMfd->tgc_Mid_phi_hit_z();
170 const std::vector<float>& tgc_Mid_phi_hit_width = aodMfd->tgc_Mid_phi_hit_width();
171 const std::vector<uint32_t>& tgc_Mid_phi_hit_in_seg = aodMfd->tgc_Mid_phi_hit_in_seg();
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);
185 }
186
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();
191 const std::vector<float>& mdt_tube_residual = aodMfd->mdt_tube_residual();
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;
201 xaod->
setMdtHit(mdt_onlineId[i], (
int)mdt_offlineId[i], (
int)chamber,
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]);
204 }
205
207 }
208
209
210 return StatusCode::SUCCESS;
211}
void setRegionR(int station, int sector, float min, float max)
R range.
void setRpcFitInn(float phi, float slope, float offset)
Set the results of RPC fit.
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.
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 setTgcInn(float eta, float phi, float r, float z)
Set the results of TGC fit.
void setRoiSystem(uint32_t value)
void setRoad(int station, int sector, float aw, float bw)
Road.
void setTgcHit(float eta, float phi, float r, float z, float width, int stationNum, bool isStrip, int bcTag, bool inRoad)
Set TGC hits.
void setRoiNumber(uint32_t value)
void setTgcMid2(float eta, float phi, float r, float z)
void setCapacities(int rpc, int tgc, int mdt, int csc)
void setLumiBlock(uint32_t value)
void setRoiThreshold(uint32_t value)
void setTgcMidF(float rhoChi2, long rhoN, float phiChi2, long phiN)
void setRoiSubsystem(uint32_t value)
void setTeId(uint32_t value)
void setRoiSector(uint32_t value)
void setRpcFitOut(float phi, float slope, float offset)
void setLvl1Id(uint32_t value)
void setChamberType2(int station, int sector, int chamberType)
void setMuonDetMask(uint32_t value)
void setRegionZ(int station, int sector, float min, float max)
Z range.
void setChamberType1(int station, int sector, int chamberType)
Set the muon road information.
void setRpcFitMid(float phi, float slope, float offset)
float tgcPt() const
Set and get pT from different algorithms.
void setRoiId(uint32_t value)
void setTgcMid1(float eta, float phi, float r, float z)
void setRegionEta(int station, int sector, float min, float max)
Eta range.
void setAlgoId(int value)
void setTgcPt(float value)
void setTgcInnF(float rhoStd, long rhoN, float phiStd, long phiN)