22 if (!MuonDetMgr) {
return false; }
23 unsigned int n_hits{0};
27 if (!stgcContainer->size())
ATH_MSG_DEBUG(
"sTGC Sim container is empty");
29 if(hit.depositEnergy()==0.)
continue;
32 int simId = hit.sTGCId();
37 int layer = stgchhelper->
GetLayer(simId);
38 int side = stgchhelper->
GetSide(simId);
47 int detNumber = -999, wedgeId = -999, wedgeType = -999;
48 if(stname.length()!=4) {
49 ATH_MSG_WARNING(
"sTGC validation: station Name exceeds 4 charactes, filling dummy information for detNumber, wedgeId and wedgeType");
52 detNumber = atoi(stname.substr(2,1).c_str());
53 wedgeId = (stname.substr(1,1).compare(
"L")) ? 0 : 1;
54 wedgeType = (stname.substr(3,1).compare(
"P")) ? 0 : 1;
58 side == 1 ? steta+1 : -steta-1,
59 (stphi-1)/2+1,multilayer,layer,1,1 );
66 if(
type == 2 && off_channel == 63) {
67 ATH_MSG_DEBUG(
"Found sTGC Wire Sim Hit with channel number 63 (dead region), skipping this hit");
73 ATH_MSG_ERROR(
"sTGCSimHitVariables::fillVariables() - Failed to retrieve sTgcReadoutElement for "<<
idHelperSvc()->stgcIdHelper().print_to_string(offId).c_str());
77 if( !
idHelperSvc()->stgcIdHelper().is_stgc(offId) ){
80 if( !
idHelperSvc()->stgcIdHelper().is_muon(offId) ){
85 <<
" " <<
idHelperSvc()->stgcIdHelper().is_tgc(offId) <<
" " <<
idHelperSvc()->stgcIdHelper().is_csc(offId) <<
" " <<
idHelperSvc()->stgcIdHelper().is_mm(offId) );
87 if(
idHelperSvc()->stgcIdHelper().gasGap(offId) != layer ) {
92 int barcode = hit.particleLink().barcode();
102 const Amg::Vector3D& globalDirection = hit.globalDirection();
109 const Amg::Vector3D& globalPrePosition = hit.globalPrePosition();
111 if (hit.kineticEnergy() < 0.0) {
116 <<
" phi " <<
idHelperSvc()->stgcIdHelper().stationPhi(offId) <<
" ml " <<
idHelperSvc()->stgcIdHelper().multilayer(offId) );
131 double scale = -rSurface_pos.z()/ldir.z();
140 int stripNumber = detEl->
stripNumber(posOnSurf,newId);
141 if( stripNumber == -1 ){
148 if(
idHelperSvc()->stgcIdHelper().gasGap(offId) != layer ) {
149 ATH_MSG_WARNING(
"sTGC validation: sTgc id has bad layer field(2)! " << std::endl <<
" " <<
idHelperSvc()->stgcIdHelper().print_to_string(offId) << std::endl
150 <<
" " <<
idHelperSvc()->stgcIdHelper().print_to_string(oldId) <<
" stripN " << stripNumber );
155 ATH_MSG_WARNING(
"sTGC validation: failed to obtain local position for identifier " <<
idHelperSvc()->stgcIdHelper().print_to_string(offId) );
159 ATH_MSG_DEBUG(
"sTGC Global hit: r " << hit.globalPosition().perp() <<
", phi " << hit.globalPosition().phi() <<
", z " << hit.globalPosition().z()
160 <<
"; detEl: r " << detpos.perp() <<
", phi " << detpos.phi() <<
", z " << detpos.z()
161 <<
"; surf z " << surf.
center().z() <<
", ml " << multilayer <<
", l " << layer );
163 ATH_MSG_DEBUG(
" detEl: x " << dSurface_pos.x() <<
" y " << dSurface_pos.y() <<
" z " << dSurface_pos.z());
164 ATH_MSG_DEBUG(
"sTGC Fast digit: x " << fastDigitPos.x() <<
" y " << fastDigitPos.y()
165 <<
", gToL: x " << rSurface_pos.x() <<
" y " << rSurface_pos.y() <<
" z " << rSurface_pos.z() );