ATLAS Offline Software
L1CaloPprEtCorrelationPlotManager.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //*************************************************************
6 // Name: L1CaloPprEtCorrelationPlotManager.h
7 //
8 // Author: Patrick Rieck - rieck@physik.hu-berlin.de
9 //
10 // Special plotter for Et correlation monitoring
11 //
12 // This class is derived from L1CaloPprPlotManager and implements
13 // the monitoring of the correlation between Et as measured by
14 // L1Calo and the Et reconstructed using the full granularity
15 // of the calorimeter. Actually what's plotted is simply the ratio
16 // of the two Et values.
17 //
18 #ifndef TRIGT1CALOCALIBTOOLS_L1CALOPPRETCORRELATIONPLOTMANAGER
19 #define TRIGT1CALOCALIBTOOLS_L1CALOPPRETCORRELATIONPLOTMANAGER
20 
21 #include <map>
22 #include <string>
23 
24 #include "GaudiKernel/ServiceHandle.h"
25 #include "GaudiKernel/ToolHandle.h"
26 
29 
32 
33 class ITHistSvc;
35 class Identifier;
36 class StoreGateSvc;
37 class StatusCode;
38 
39 namespace LVL1 {
40 class IL1CaloOfflineTriggerTowerTools;
41 class IL1TriggerTowerTool;
42 class TriggerTower;
43 }
44 
46 {
47 public:
48  // constructor for handling offline monitoring
49  L1CaloPprEtCorrelationPlotManager(ITHistSvc* histoSvc,
50  ToolHandle<LVL1::IL1CaloOfflineTriggerTowerTools>&offlineTT_tool,
51  const unsigned int lumimax,
52  const std::string& pathInRootFile);
53  // constructor for online monitoring
55  ToolHandle<LVL1::IL1TriggerTowerTool>&onlineTT_tool,
56  const unsigned int lumimax,
57  const std::string& pathInRootFile);
59 
60  inline void SetCaloCellContainer(const std::string& name) {m_caloCellContainerName = name;}
61 
62  // retrieve calo cell container for offline monitoring
63  // for online monitoring set map of cell energies for every tower
65 
66  inline void SetEtMin(double et) { m_EtMin = et; }
67 
68 private:
69 
72  ToolHandle<LVL1::IL1CaloMonitoringCaloTool> m_caloTool;
73  // threshold for L1Calo and calo cell energies
74  double m_EtMin;
75 
76  // Providing Et correlation (=Et ratio)
77  double getMonitoringValue(const xAOD::TriggerTower* trigTower, CalLayerEnum theLayer);
78 
79  // decide whether the correlation
80  // is acctually plotted
81  bool doMonitoring(double &value);
82 
83  void loadTools();
84 
85 };
86 
87 #endif
et
Extra patterns decribing particle interation process.
L1CaloPprEtCorrelationPlotManager::m_EtMin
double m_EtMin
Definition: L1CaloPprEtCorrelationPlotManager.h:74
L1CaloPprEtCorrelationPlotManager::getCaloCells
StatusCode getCaloCells()
Definition: L1CaloPprEtCorrelationPlotManager.cxx:70
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
L1CaloPprEtCorrelationPlotManager::L1CaloPprEtCorrelationPlotManager
L1CaloPprEtCorrelationPlotManager(ITHistSvc *histoSvc, ToolHandle< LVL1::IL1CaloOfflineTriggerTowerTools > &offlineTT_tool, const unsigned int lumimax, const std::string &pathInRootFile)
Definition: L1CaloPprEtCorrelationPlotManager.cxx:25
TriggerTowerContainer.h
L1CaloPprEtCorrelationPlotManager::loadTools
void loadTools()
Definition: L1CaloPprEtCorrelationPlotManager.cxx:155
L1CaloPprEtCorrelationPlotManager::doMonitoring
bool doMonitoring(double &value)
Definition: L1CaloPprEtCorrelationPlotManager.cxx:147
athena.value
value
Definition: athena.py:122
L1CaloPprEtCorrelationPlotManager
Definition: L1CaloPprEtCorrelationPlotManager.h:46
IL1CaloMonitoringCaloTool.h
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
L1CaloPprEtCorrelationPlotManager::~L1CaloPprEtCorrelationPlotManager
~L1CaloPprEtCorrelationPlotManager()
Definition: L1CaloPprEtCorrelationPlotManager.h:58
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
L1CaloPprEtCorrelationPlotManager::SetEtMin
void SetEtMin(double et)
Definition: L1CaloPprEtCorrelationPlotManager.h:66
L1CaloPprEtCorrelationPlotManager::SetCaloCellContainer
void SetCaloCellContainer(const std::string &name)
Definition: L1CaloPprEtCorrelationPlotManager.h:60
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
L1CaloPprEtCorrelationPlotManager::m_caloTool
ToolHandle< LVL1::IL1CaloMonitoringCaloTool > m_caloTool
Definition: L1CaloPprEtCorrelationPlotManager.h:72
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TriggerTower_v2
Description of TriggerTower_v2.
Definition: TriggerTower_v2.h:49
L1CaloPprPlotManager.h
L1CaloPprEtCorrelationPlotManager::m_storeGate
ServiceHandle< StoreGateSvc > m_storeGate
Definition: L1CaloPprEtCorrelationPlotManager.h:70
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
L1CaloPprEtCorrelationPlotManager::getMonitoringValue
double getMonitoringValue(const xAOD::TriggerTower *trigTower, CalLayerEnum theLayer)
Definition: L1CaloPprEtCorrelationPlotManager.cxx:102
L1CaloPprPlotManager
Definition: L1CaloPprPlotManager.h:85
TriggerTower.h
L1CaloPprEtCorrelationPlotManager::m_caloCellContainerName
std::string m_caloCellContainerName
Definition: L1CaloPprEtCorrelationPlotManager.h:71
CalLayerEnum
CalLayerEnum
Definition: L1CaloPprPlotManager.h:78
xAOD::TriggerTower
TriggerTower_v2 TriggerTower
Define the latest version of the TriggerTower class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/TriggerTower.h:16
ServiceHandle< StoreGateSvc >