Skip to content
Snippets Groups Projects
Commit aa1ac49b authored by Olga Igonkina's avatar Olga Igonkina
Browse files

Merge branch 'WriteSimOverflowBits' into '21.1'

Adding L1Topo simulated overflow bits to HLTResults

See merge request atlas/athena!14660

Former-commit-id: db41d69970f65ab622852108337e9bda1ad1b1fe
parents 0b8236ec aefe6452
No related branches found
No related tags found
60 merge requests!46457Draft: Adding the tools to run over data,!46454Draft: Adding the tools to be able to run over data,!45045WIP: Include another condition for hit merging in FCS_StepInfoSD.cxx,!45043Merge branch 'Update-DAOD_IDNCB' into '21.2',!44869Draft: Update to candidate store,!4217921.9-first_steps-InDetTrackingGeometryXML,!42171Add LAr cell DQ plots to UPC stream,!40342WIP: ATR-22546 - add missing trigger to MC16a,!39162Draft: Insert BCM' support,!38765Bis78 cabling,!37483Fix in monitoring of Pixel FE errors,!36893Fix size of RPC active region in BIS78 and strip material,!3645821.9: Improving material map description (ATLITKSW-127),!36293WIP pixel updates,!34993KF-input adding jXERHO to the AOD outputs,!34864LH rings in front ot HR rigs,!34763Fix L1_4jJ15.0ETA25 item definition (ATR-21261),!3473421.0 fix dq servers,!33996WIP: Correct MM zpositions,!3291021.3 salva s0,!3288421.0 salva s8,!3217421.9 - Bug fix for test stream creation in RD53BEncodingTool,!3135321.3,!3134821.9 README Update,!31345Add HEC sampling fractions macros,!31136added also PUsub for LargeR jets,!31123WIP: Master ttmdev,!3036121.9 fixing bug with layer indices in PixelRDOAnalysis,!29617IDPerfmonZmumu updates,!29454Idpvm 21.0 fix typo in trackselection config,!29085TRT modification for fractional charged particles,!28623Overlay as part of FastChain transform in 21.3,!28497ART tests - fixing the bugs,!27668Massimos 21.3 bis78,!27254WIP: Exclusive jets request -- Fix ExclusiveJets algo / ATR-17320,!26790Fixes for Simulation ART jobs (ATLASSIM-4309),!26747Update frozen shower generation scripts and code to be compatible with recent developments,!26592Master upload 2018 global monitoring scripts p2,!2618221.0 z counting,!25405Add new ART test: test_physics_pp_v8_chainorder_build.sh,!2420321.3 l1 muon 00 - new MuCTPI_RDO.h,!24037Make DCS Calculator dependent on sqlalchemy; fix python code quality issues,!23377WIP pixel ID scheme for ITk,!23330Inner Detector create misalignments: radial distortions,!2325521.0 z counting,!22695Master salva id perf mon,!2230421.0-ART_test-InDetPhysValMonitoring,!22214add an utility function to TrigT1TGCRecRoiSvc for storing ROI position and the eta/phi size,!22172changes related to 1-3 points in ATR-19579,!22124Changes related to ticket 19579,!22118Remove cabling information for new thresholds,!21684WIP: test push into tdaq-htt,!2153821.0-ART_test-InDetPhysValMonitoring,!21325Tilecal new laser unpack 2019 02 19,!21304WIP: Fix ATR-19377 L1Topo vbs alg,!2117721.3 po bugfixes,!21039Merging in features for HTT Bank Generation,!20518Mydev,!20442Merge tag 21.0.91-21.0.92 into 21.9,!20388Merge tag 21.0.91-21.0.92 into 21.9
...@@ -20,6 +20,9 @@ TrigL1TopoWriteValData::TrigL1TopoWriteValData(const std::string& name, ISvcLoca ...@@ -20,6 +20,9 @@ TrigL1TopoWriteValData::TrigL1TopoWriteValData(const std::string& name, ISvcLoca
declareProperty("SimTopoCTPLocation", declareProperty("SimTopoCTPLocation",
m_simTopoCTPLocation = LVL1::DEFAULT_L1TopoCTPLocation, m_simTopoCTPLocation = LVL1::DEFAULT_L1TopoCTPLocation,
"StoreGate key of simulated topo decision output for CTP, defaults to default output key of L1TopoSimulation"); "StoreGate key of simulated topo decision output for CTP, defaults to default output key of L1TopoSimulation");
declareProperty("SimTopoOverflowCTPLocation",
m_simTopoOverflowCTPLocation = LVL1::DEFAULT_L1TopoOverflowCTPLocation,
"StoreGate key of simulated topo overflow output for CTP" );
declareProperty("HLTResultName", declareProperty("HLTResultName",
m_HltResultName = "HLTResult_HLT", m_HltResultName = "HLTResult_HLT",
"StoreGate key of HLT result" ); "StoreGate key of HLT result" );
...@@ -29,6 +32,7 @@ StatusCode TrigL1TopoWriteValData::initialize(){ ...@@ -29,6 +32,7 @@ StatusCode TrigL1TopoWriteValData::initialize(){
ATH_MSG_INFO ("initialize"); ATH_MSG_INFO ("initialize");
ATH_MSG_DEBUG ("Properties:" ); ATH_MSG_DEBUG ("Properties:" );
ATH_MSG_DEBUG ("SimTopoCTPLocation : "<<m_simTopoCTPLocation ); ATH_MSG_DEBUG ("SimTopoCTPLocation : "<<m_simTopoCTPLocation );
ATH_MSG_DEBUG ("SimTopoOverflowCTPLocation : "<<m_simTopoOverflowCTPLocation );
ATH_MSG_DEBUG ("HLTResultName : "<<m_HltResultName ); ATH_MSG_DEBUG ("HLTResultName : "<<m_HltResultName );
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
...@@ -55,7 +59,8 @@ StatusCode TrigL1TopoWriteValData::finalize() { ...@@ -55,7 +59,8 @@ StatusCode TrigL1TopoWriteValData::finalize() {
//---------------------------------------------------------- //----------------------------------------------------------
StatusCode TrigL1TopoWriteValData::doWriteValData(){ StatusCode TrigL1TopoWriteValData::doWriteValData(){
ATH_MSG_DEBUG( "doWriteValData" ); ATH_MSG_DEBUG( "doWriteValData" );
int num_words = 4;
// Retrieve HLTResult // Retrieve HLTResult
DataHandle<HLT::HLTResult> hltResult; ///! HLTResult object DataHandle<HLT::HLTResult> hltResult; ///! HLTResult object
if ( ! evtStore()->transientContains<HLT::HLTResult>(m_HltResultName.value()) ) { if ( ! evtStore()->transientContains<HLT::HLTResult>(m_HltResultName.value()) ) {
...@@ -80,13 +85,33 @@ StatusCode TrigL1TopoWriteValData::doWriteValData(){ ...@@ -80,13 +85,33 @@ StatusCode TrigL1TopoWriteValData::doWriteValData(){
} }
} }
// Retrieve L1Topo CTP simulated overflows if present
const DataHandle< LVL1::FrontPanelCTP > simTopoOverflowCTP; ///! simulated overflow output
if ( ! evtStore()->contains<LVL1::FrontPanelCTP>(m_simTopoOverflowCTPLocation.value()) ){
ATH_MSG_INFO("Could not find LVL1::FrontPanelCTP with key " << m_simTopoOverflowCTPLocation.value() << " in SG. No simulated overflow bits" );
} else {
CHECK_RECOVERABLE( evtStore()->retrieve(simTopoOverflowCTP,m_simTopoOverflowCTPLocation.value()) );
if (!simTopoOverflowCTP){
ATH_MSG_INFO( "Retrieve of LVL1::FrontPanelCTP sim overflows failed. No sim overflow data written to HLTResult" );
} else {
num_words = 8;
}
}
// Write the L1Topo simulation data into the HLTResult // Write the L1Topo simulation data into the HLTResult
hltResult->getExtraData().anonymous.push_back( 4 ); // number of words to be written hltResult->getExtraData().anonymous.push_back( num_words ); // number of words to be written
hltResult->getExtraData().anonymous.push_back( simTopoCTP->cableWord1(0) ); // L1Topo simulation words hltResult->getExtraData().anonymous.push_back( simTopoCTP->cableWord1(0) ); // L1Topo simulation words
hltResult->getExtraData().anonymous.push_back( simTopoCTP->cableWord1(1) ); hltResult->getExtraData().anonymous.push_back( simTopoCTP->cableWord1(1) );
hltResult->getExtraData().anonymous.push_back( simTopoCTP->cableWord2(0) ); hltResult->getExtraData().anonymous.push_back( simTopoCTP->cableWord2(0) );
hltResult->getExtraData().anonymous.push_back( simTopoCTP->cableWord2(1) ); hltResult->getExtraData().anonymous.push_back( simTopoCTP->cableWord2(1) );
if ( num_words == 8 ) {
hltResult->getExtraData().anonymous.push_back( simTopoOverflowCTP->cableWord1(0) );// L1Topo simulated overflow words
hltResult->getExtraData().anonymous.push_back( simTopoOverflowCTP->cableWord1(1) );
hltResult->getExtraData().anonymous.push_back( simTopoOverflowCTP->cableWord2(0) );
hltResult->getExtraData().anonymous.push_back( simTopoOverflowCTP->cableWord2(1) );
}
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
...@@ -29,6 +29,7 @@ class TrigL1TopoWriteValData:public AthAlgorithm { ...@@ -29,6 +29,7 @@ class TrigL1TopoWriteValData:public AthAlgorithm {
private: private:
StatusCode doWriteValData(); StatusCode doWriteValData();
StringProperty m_simTopoCTPLocation; StringProperty m_simTopoCTPLocation;
StringProperty m_simTopoOverflowCTPLocation;
StringProperty m_HltResultName; StringProperty m_HltResultName;
}; };
......
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