Skip to content
Snippets Groups Projects
Commit 5dd67c5f authored by Yohei Yamaguchi (TIT)'s avatar Yohei Yamaguchi (TIT)
Browse files

add dynamic variables for monitoring L2SA

parent 6af7bfb3
9 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!28528Revert 63f845ae,!27054Atr20369 210,!26342Monopole: Handle fractionally charged particles,!20025add dynamic variables for monitoring L2StandAloneMuon
......@@ -28,6 +28,7 @@ namespace TrigL2MuonSA {
double z;
int charge;
double time;
float resolution;
//
double Residual;
int isOutlier;
......
......@@ -210,12 +210,13 @@ StatusCode TrigL2MuonSA::CscDataPreparator::prepareData(const TrigRoiDescriptor*
cscHit.StripId = (cscHit.StationName << 18)
| ((cscHit.StationEta + 2) << 16) | (cscHit.StationPhi << 12)
| (cscHit.WireLayer << 9) | (cscHit.MeasuresPhi << 8) | (cscHit.Strip);
cscHit.eta = sqrt( prepData.localCovariance()(0,0) );
cscHit.eta = prepData.globalPosition().eta();
cscHit.phi = prepData.globalPosition().phi();
cscHit.r = prepData.globalPosition().perp();
cscHit.z = prepData.globalPosition().z();
cscHit.charge = prepData.charge();
cscHit.time = prepData.time();
cscHit.resolution = sqrt( prepData.localCovariance()(0,0) );
cscHit.Residual = ( cscHit.MeasuresPhi==0 ) ? calc_residual( aw, bw, cscHit.z, cscHit.r ) : calc_residual_phi( aw,bw,phiw, cscHit.phi, cscHit.z);
cscHit.isOutlier = 0;
/*if( fabs(cscHit.Residual) > rWidth ) {
......
......@@ -1146,15 +1146,20 @@ bool MuFastSteering::storeMuonSA(const LVL1::RecMuonRoI* roi,
muonSA->setCscHitsCapacity( m_esd_csc_size );
// MDT hits
std::vector<std::string> mdtId;
for (unsigned int i_hit=0; i_hit<mdtHits.size(); i_hit++) {
if ( mdtHits[i_hit].isOutlier==0 || mdtHits[i_hit].isOutlier==1 ) {
muonSA->setMdtHit(mdtHits[i_hit].OnlineId, mdtHits[i_hit].isOutlier, mdtHits[i_hit].Chamber,
mdtHits[i_hit].R, mdtHits[i_hit].Z, mdtHits[i_hit].cPhi0, mdtHits[i_hit].Residual,
mdtHits[i_hit].DriftTime, mdtHits[i_hit].DriftSpace, mdtHits[i_hit].DriftSigma);
mdtId.push_back(mdtHits[i_hit].Id.getString());
}
}
SG::AuxElement::Accessor< std::vector<std::string> > accessor_mdthitid( "mdtHitId" );
accessor_mdthitid( *muonSA ) = mdtId;
//CSC hits
std::vector<float> cscResol;
for(unsigned int i_hit=0; i_hit<cscHits.size(); i_hit++) {
if ( 1/*cscHits[i_hit].MeasuresPhi==0*/ ){
if ( cscHits[i_hit].isOutlier==0 || cscHits[i_hit].isOutlier==1 ) {
......@@ -1163,6 +1168,7 @@ bool MuFastSteering::storeMuonSA(const LVL1::RecMuonRoI* roi,
cscHits[i_hit].ChamberLayer, cscHits[i_hit].WireLayer, cscHits[i_hit].MeasuresPhi, cscHits[i_hit].Strip,
cscHits[i_hit].eta, cscHits[i_hit].phi, cscHits[i_hit].r, cscHits[i_hit].z,
cscHits[i_hit].charge, cscHits[i_hit].time, cscHits[i_hit].Residual);
cscResol.push_back(cscHits[i_hit].resolution);
ATH_MSG_DEBUG("CSC Hits stored in xAOD: "
<< "OL=" << cscHits[i_hit].isOutlier << ","
<< "Ch=" << cscHits[i_hit].Chamber << ","
......@@ -1183,6 +1189,8 @@ bool MuFastSteering::storeMuonSA(const LVL1::RecMuonRoI* roi,
}
}
}
SG::AuxElement::Accessor< std::vector<float> > accessor_cschitresol( "cscHitResolution" );
accessor_cschitresol( *muonSA ) = cscResol;
// RPC hits
float sumbeta[8]={0};
......
......@@ -133,6 +133,11 @@ RemoveEgammaIsoVariables = ".-"+identifier.join(UnusedEgammaIsoVariables)
#####################
#####################
# Add Dynamic Var
identifierAdd = "."
l2saVariableToAdd = ['mdtHitId','cscHitResolution']
addL2saVars = "." + identifierAdd.join(l2saVariableToAdd)
# temporary functionality to discover version of EDM
####################
......@@ -286,7 +291,7 @@ TriggerHLTList = [
#muons
#L2 Muons
('xAOD::L2StandAloneMuonContainer#HLT_MuonL2SAInfo', 'BS ESD AODFULL AODSLIM', 'Muon'),
('xAOD::L2StandAloneMuonAuxContainer#HLT_MuonL2SAInfoAux.', 'BS ESD AODFULL AODSLIM', 'Muon'),
('xAOD::L2StandAloneMuonAuxContainer#HLT_MuonL2SAInfoAux' + addL2saVars, 'BS ESD AODFULL AODSLIM', 'Muon'),
('xAOD::L2CombinedMuonContainer#HLT_MuonL2CBInfo', 'BS ESD AODFULL AODSLIM', 'Muon'), #fp
('xAOD::L2CombinedMuonAuxContainer#HLT_MuonL2CBInfoAux.', 'BS ESD AODFULL AODSLIM', 'Muon'), #fp
('xAOD::L2IsoMuonContainer#HLT_MuonL2ISInfo', 'BS ESD AODFULL', 'Muon'), #fp
......@@ -294,7 +299,7 @@ TriggerHLTList = [
#MuonEFInfo
('xAOD::MuonContainer#HLT_MuonEFInfo', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Muon'),
('xAOD::MuonAuxContainer#HLT_MuonEFInfoAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Muon'),
('xAOD::MuonAuxContainer#HLT_MuonEFInfoAux'+RemoveMuonVariables, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Muon'),
('xAOD::TrackParticleContainer#HLT_MuonEFInfo_CombTrackParticles', 'BS ESD AODFULL AODSLIM', 'Muon'),#fp
('xAOD::TrackParticleAuxContainer#HLT_MuonEFInfo_CombTrackParticlesAux'+RemoveIDVariables, 'BS ESD AODFULL AODSLIM','Muon'),#fp
('xAOD::TrackParticleContainer#HLT_MuonEFInfo_ExtrapTrackParticles', 'BS ESD AODFULL AODSLIM', 'Muon'),#fp
......@@ -1674,7 +1679,7 @@ def getTriggerEDMSlimList(key):
for k,v in _edmList.items():
newnames = []
for el in v:
if 'Aux' in el:
if 'Aux' in el and '.-' in el:
newnames+=[el.split('.')[0]+'.-']
else:
newnames+=[el]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment