Skip to content
Snippets Groups Projects
Commit 29eb7dfc authored by Som's avatar Som
Browse files

Added Monitoring for SpacePoint

parent 0c762e30
No related branches found
No related tags found
No related merge requests found
...@@ -27,7 +27,8 @@ atlas_depends_on_subdirs( PRIVATE ...@@ -27,7 +27,8 @@ atlas_depends_on_subdirs( PRIVATE
Tracking/TrkEvent/TrkSpacePoint Tracking/TrkEvent/TrkSpacePoint
Trigger/TrigEvent/TrigSteeringEvent Trigger/TrigEvent/TrigSteeringEvent
Trigger/TrigTools/TrigTimeAlgs Trigger/TrigTools/TrigTimeAlgs
Event/xAOD/xAODTrigger ) Event/xAOD/xAODTrigger
Control/AthenaMonitoring )
# External dependencies: # External dependencies:
find_package( tdaq-common ) find_package( tdaq-common )
...@@ -36,7 +37,7 @@ find_package( tdaq-common ) ...@@ -36,7 +37,7 @@ find_package( tdaq-common )
atlas_add_component( TrigT2MinBias atlas_add_component( TrigT2MinBias
src/*.cxx src/components/*.cxx src/*.cxx src/components/*.cxx
INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS} INCLUDE_DIRS ${TDAQ-COMMON_INCLUDE_DIRS}
LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} xAODTrigger xAODTrigMinBias ZdcEvent GaudiKernel TileEvent TrigT2CaloCommonLib TrigCaloEvent TrigInDetEvent TrigInterfacesLib IRegionSelector xAODEventInfo ZdcConditions ZdcIdentifier InDetIdentifier InDetRawData InDetPrepRawData TileIdentifier TrkSpacePoint TrigSteeringEvent TrigTimeAlgsLib ) LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} xAODTrigger AthenaMonitoringLib xAODTrigMinBias ZdcEvent GaudiKernel TileEvent TrigT2CaloCommonLib TrigCaloEvent TrigInDetEvent TrigInterfacesLib IRegionSelector xAODEventInfo ZdcConditions ZdcIdentifier InDetIdentifier InDetRawData InDetPrepRawData TileIdentifier TrkSpacePoint TrigSteeringEvent TrigTimeAlgsLib )
# Install files from the package: # Install files from the package:
atlas_install_python_modules( python/*.py ) atlas_install_python_modules( python/*.py )
def SpCountMonitoring():
from AthenaMonitoring.GenericMonitoringTool import GenericMonitoringTool
monTool = GenericMonitoringTool('MonTool')
monTool.defineHistogram('totNumPixCL_1', path='EXPERT', type='TH1I', title='totNumPixCL_1',xbins=100, xmin=-0, xmax=2000)
monTool.defineHistogram('totPixBeforeCuts', path='EXPERT', type='TH1I', title='totPixBeforeCuts', xbins = 250, xmin=-0.5, xmax=4999.5)
monTool.defineHistogram('totNumPixCL_2', path='EXPERT', type='TH1I', title='totNumPixCL_2',xbins=100, xmin=-0, xmax=2000)
monTool.defineHistogram('totNumPixCLmin3', path='EXPERT', type='TH1I', title='totNumPixCLmin3',xbins=100, xmin=-0, xmax=2000)
monTool.defineHistogram('totNumPixSP', path='EXPERT', type='TH1I', title='totNumPixSP', xbins = 250, xmin=-0.5, xmax=4999.5)
monTool.defineHistogram('pixClBarrel', path='EXPERT', type='TH1I', title='pixClBarrel', xbins = 200, xmin=-0.5, xmax=1999.5)
monTool.defineHistogram('pixClEndcapA', path='EXPERT', type='TH1I', title='pixClEndcapA', xbins = 200, xmin=-0.5, xmax=1999.5)
monTool.defineHistogram('pixClEndcapC', path='EXPERT', type='TH1I', title='pixClEndcapC', xbins = 200, xmin=-0.5, xmax=1999.5)
monTool.defineHistogram('totNumSctSP', path='EXPERT', type='TH1I', title='totNumSctSP', xbins = 250, xmin=-0.5, xmax=4999.5)
monTool.defineHistogram('SctSpEndcapC', path='EXPERT', type='TH1I', title='SctSpEndcapC', xbins = 200, xmin=-0.5, xmax=1999.5)
monTool.defineHistogram('SctSpBarrel', path='EXPERT', type='TH1I', title='SctSpBarrel', xbins = 200, xmin=-0.5, xmax=1999.5)
monTool.defineHistogram('SctSpEndcapA', path='EXPERT', type='TH1I', title='SctSpEndcapA', xbins = 200, xmin=-0.5, xmax=1999.5)
monTool.defineHistogram('totNumPixSP, totNumSctSP', path='EXPERT', type='TH2I', title='SP ; pix SP after ToT cut; sct SP', xbins = 50, xmin=-0.5, xmax=49.5, ybins = 50, ymin=-0.5, ymax=49.5)
return monTool
...@@ -20,7 +20,7 @@ StatusCode TrigCountSpacePointsMT::initialize() ...@@ -20,7 +20,7 @@ StatusCode TrigCountSpacePointsMT::initialize()
ATH_CHECK(m_sctSpKey.initialize()); ATH_CHECK(m_sctSpKey.initialize());
ATH_CHECK(m_sctHelperKey.initialize()); ATH_CHECK(m_sctHelperKey.initialize());
ATH_CHECK(m_spacePointsKey.initialize()); ATH_CHECK(m_spacePointsKey.initialize());
if (!m_monTool.empty()) ATH_CHECK(m_monTool.retrieve());
return StatusCode::SUCCESS; return StatusCode::SUCCESS;
} }
StatusCode TrigCountSpacePointsMT::finalize() StatusCode TrigCountSpacePointsMT::finalize()
...@@ -38,7 +38,7 @@ StatusCode TrigCountSpacePointsMT::execute(const EventContext& context) const ...@@ -38,7 +38,7 @@ StatusCode TrigCountSpacePointsMT::execute(const EventContext& context) const
ATH_MSG_DEBUG ("Successfully retrieved pixel SP container of size" << pixelSP->size()); ATH_MSG_DEBUG ("Successfully retrieved pixel SP container of size" << pixelSP->size());
//Here monitor //Here monitor
int nPixSP{},nPixCL_1{},nPixCL_2{},nPixCLmin3{}; int nPixSP{},nPixCL_1{},nPixCL_2{},nPixCLmin3{},totPixBeforeCuts{};
int totNumPixSP{}; int totNumPixSP{};
int totNumPixCL_1{} ; int totNumPixCL_1{} ;
int totNumPixCL_2{} ; int totNumPixCL_2{} ;
...@@ -47,7 +47,7 @@ StatusCode TrigCountSpacePointsMT::execute(const EventContext& context) const ...@@ -47,7 +47,7 @@ StatusCode TrigCountSpacePointsMT::execute(const EventContext& context) const
int pixClEndcapA{} ; int pixClEndcapA{} ;
int pixClEndcapC{} ; int pixClEndcapC{} ;
totPixBeforeCuts=pixelSP->size();
const InDet::PixelCluster* pixClust; const InDet::PixelCluster* pixClust;
...@@ -55,8 +55,8 @@ StatusCode TrigCountSpacePointsMT::execute(const EventContext& context) const ...@@ -55,8 +55,8 @@ StatusCode TrigCountSpacePointsMT::execute(const EventContext& context) const
for (const auto pixSPointColl: *pixelSP){ for (const auto pixSPointColl: *pixelSP){
if( pixSPointColl == nullptr ) continue; if( pixSPointColl == nullptr ) continue;
Identifier pixid = (pixSPointColl)->identify(); Identifier pixid = (pixSPointColl)->identify();
if (m_doOnlyBLayer == true && pixelHelper->layer_disk(pixid) != 0) continue; if (m_doOnlyBLayer == true && pixelHelper->layer_disk(pixid) != 0) continue;
int bec = pixelHelper->barrel_ec(pixid); int bec = pixelHelper->barrel_ec(pixid);
int SPpixBarr{}; int SPpixBarr{};
...@@ -103,7 +103,7 @@ if (m_doOnlyBLayer == true && pixelHelper->layer_disk(pixid) != 0) continue; ...@@ -103,7 +103,7 @@ if (m_doOnlyBLayer == true && pixelHelper->layer_disk(pixid) != 0) continue;
pixClEndcapC += SPpixECC; pixClEndcapC += SPpixECC;
} }
} }
ATH_MSG_DEBUG("REGTEST : Formed " << totNumPixSP << " pixel spacepoints in total."); ATH_MSG_DEBUG("REGTEST : Formed " <<totPixBeforeCuts << " pixel spacepoints in total before cuts.");
ATH_MSG_DEBUG("REGTEST : " << totNumPixCL_1 << " have cl size == 1 in total."); ATH_MSG_DEBUG("REGTEST : " << totNumPixCL_1 << " have cl size == 1 in total.");
ATH_MSG_DEBUG("REGTEST : " << totNumPixCL_2 << " have cl size == 2 in total."); ATH_MSG_DEBUG("REGTEST : " << totNumPixCL_2 << " have cl size == 2 in total.");
ATH_MSG_DEBUG("REGTEST : " << totNumPixCLmin3 << " have cl size >= 3 in total."); ATH_MSG_DEBUG("REGTEST : " << totNumPixCLmin3 << " have cl size >= 3 in total.");
...@@ -151,11 +151,11 @@ if (m_doOnlyBLayer == true && pixelHelper->layer_disk(pixid) != 0) continue; ...@@ -151,11 +151,11 @@ if (m_doOnlyBLayer == true && pixelHelper->layer_disk(pixid) != 0) continue;
} }
// total // total
if(nSctSP > m_sctModuleThreshold){ if(nSctSP > m_sctModuleThreshold){
//this is noise //this is noise
ATH_MSG_DEBUG(" This SCT module : " << Sctid << " produced " << nSctSP << " SCT spacepoints. Ignoring these spacepoints as the maximum allowed spacepoints per module is " << m_sctModuleThreshold); ATH_MSG_DEBUG(" This SCT module : " << Sctid << " produced " << nSctSP << " SCT spacepoints. Ignoring these spacepoints as the maximum allowed spacepoints per module is " << m_sctModuleThreshold);
} else { // Accept the spacepoints } else { // Accept the spacepoints
SctSpBarrel += SPSctBarr; SctSpBarrel += SPSctBarr;
SctSpEndcapA += SPSctECA; SctSpEndcapA += SPSctECA;
SctSpEndcapC += SPSctECC; SctSpEndcapC += SPSctECC;
...@@ -163,13 +163,28 @@ if (m_doOnlyBLayer == true && pixelHelper->layer_disk(pixid) != 0) continue; ...@@ -163,13 +163,28 @@ if (m_doOnlyBLayer == true && pixelHelper->layer_disk(pixid) != 0) continue;
} }
totNumSctSP = SctSpEndcapC + SctSpBarrel + SctSpEndcapA; totNumSctSP = SctSpEndcapC + SctSpBarrel + SctSpEndcapA;
ATH_MSG_DEBUG("REGTEST : Formed " << totNumSctSP << " sct spacepoints in total."); ATH_MSG_DEBUG("REGTEST : Formed " << totNumSctSP << " sct spacepoints in total.");
ATH_MSG_DEBUG("REGTEST : Formed " << SctSpEndcapC << " sct ECC spacepoints in total."); ATH_MSG_DEBUG("REGTEST : Formed " << SctSpEndcapC << " sct ECC spacepoints in total.");
ATH_MSG_DEBUG("REGTEST : Formed " << SctSpBarrel << " sct Barr spacepoints in total."); ATH_MSG_DEBUG("REGTEST : Formed " << SctSpBarrel << " sct Barr spacepoints in total.");
ATH_MSG_DEBUG("REGTEST : Formed " << SctSpEndcapA << " sct ECA spacepoints in total."); ATH_MSG_DEBUG("REGTEST : Formed " << SctSpEndcapA << " sct ECA spacepoints in total.");
auto mon_totPixBeforeCuts = Monitored::Scalar<int>("totPixBeforeCuts",totPixBeforeCuts);
auto mon_totNumPixCL_1 = Monitored::Scalar<int>("totNumPixCL_1",totNumPixCL_1);
auto mon_totNumPixCL_2 = Monitored::Scalar<int>("totNumPixCL_2",totNumPixCL_2);
auto mon_totNumPixCLmin3 = Monitored::Scalar<int>("totNumPixCLmin3",totNumPixCLmin3);
auto mon_totNumPixSP = Monitored::Scalar<int>("totNumPixSP",totNumPixSP);
auto mon_pixClBarrel = Monitored::Scalar<int>("pixClBarrel",pixClBarrel);
auto mon_pixClEndcapA = Monitored::Scalar<int>("pixClEndcapA",pixClEndcapA);
auto mon_pixClEndcapC = Monitored::Scalar<int>("pixClEndcapC",pixClEndcapC);
auto mon_totNumSctSP = Monitored::Scalar("totNumSctSP",totNumSctSP);
auto mon_SctSpEndcapC = Monitored::Scalar<int>("SctSpEndcapC",SctSpEndcapC);
auto mon_SctSpBarrel = Monitored::Scalar<int>("SctSpBarrel",SctSpBarrel);
auto mon_SctSpEndcapA = Monitored::Scalar<int>("SctSpEndcapA",SctSpEndcapA);
Monitored::Group(m_monTool,mon_totPixBeforeCuts,mon_totNumPixCL_1,mon_totNumPixCL_2,mon_totNumPixCLmin3,mon_totNumPixSP,mon_pixClBarrel,mon_pixClEndcapA,mon_pixClEndcapC,mon_totNumSctSP,mon_SctSpEndcapC,mon_SctSpBarrel,mon_SctSpEndcapA);
// Recording Data // Recording Data
SG::WriteHandle<xAOD::TrigCompositeContainer> spacePointHandle (m_spacePointsKey, context); SG::WriteHandle<xAOD::TrigCompositeContainer> spacePointHandle (m_spacePointsKey, context);
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include "InDetIdentifier/SCT_ID.h" #include "InDetIdentifier/SCT_ID.h"
#include "xAODTrigger/TrigCompositeContainer.h" #include "xAODTrigger/TrigCompositeContainer.h"
#include "xAODTrigger/TrigCompositeAuxContainer.h" #include "xAODTrigger/TrigCompositeAuxContainer.h"
#include "CxxUtils/make_unique.h" #include "AthenaMonitoring/Monitored.h"
#include <string> #include <string>
class PixelID; class PixelID;
...@@ -52,6 +52,9 @@ private: ...@@ -52,6 +52,9 @@ private:
SG::ReadHandleKey<SCT_ID> m_sctHelperKey{this,"sctHelperKey", "DetectorStore+SCT_ID"," "}; SG::ReadHandleKey<SCT_ID> m_sctHelperKey{this,"sctHelperKey", "DetectorStore+SCT_ID"," "};
SG::WriteHandleKey<xAOD::TrigCompositeContainer> m_spacePointsKey{this,"SpacePointsKey","Undefined",""}; SG::WriteHandleKey<xAOD::TrigCompositeContainer> m_spacePointsKey{this,"SpacePointsKey","Undefined",""};
SG::WriteHandleKey<xAOD::TrigCompositeAuxContainer> m_spacePointsAuxKey{this,"SpacePointsAuxKey","Undefined",""}; SG::WriteHandleKey<xAOD::TrigCompositeAuxContainer> m_spacePointsAuxKey{this,"SpacePointsAuxKey","Undefined",""};
ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool","","Monitoring tool"};
}; };
#endif // TRIGT2MINBIAS_TRIGCOUNTSPACEPOINTSMT_H #endif // TRIGT2MINBIAS_TRIGCOUNTSPACEPOINTSMT_H
...@@ -35,3 +35,6 @@ from TrigT2MinBias.TrigT2MinBiasConf import TrigCountSpacePointsMT ...@@ -35,3 +35,6 @@ from TrigT2MinBias.TrigT2MinBiasConf import TrigCountSpacePointsMT
SpCount=TrigCountSpacePointsMT() SpCount=TrigCountSpacePointsMT()
SpCount.OutputLevel= DEBUG SpCount.OutputLevel= DEBUG
topSequence += SpCount topSequence += SpCount
from TrigT2MinBias.TrigT2MinBiasMonitoringMT import SpCountMonitoring
SpCount.MonTool = SpCountMonitoring()
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