ATLAS Offline Software
Public Member Functions | List of all members
dqm_algorithms::TileTriggerMonitor Struct Reference

#include <TileTriggerMonitor.h>

Inheritance diagram for dqm_algorithms::TileTriggerMonitor:
Collaboration diagram for dqm_algorithms::TileTriggerMonitor:

Public Member Functions

 TileTriggerMonitor ()
 
TileTriggerMonitorclone ()
 
dqm_core::Resultexecute (const std::string &, const TObject &, const dqm_core::AlgorithmConfig &)
 
void printDescription (std::ostream &out)
 

Detailed Description

Definition at line 18 of file TileTriggerMonitor.h.

Constructor & Destructor Documentation

◆ TileTriggerMonitor()

dqm_algorithms::TileTriggerMonitor::TileTriggerMonitor ( )

Definition at line 23 of file TileTriggerMonitor.cxx.

25 {
26  dqm_core::AlgorithmManager::instance().registerAlgorithm("TileTriggerMonitor", this);
27 }

Member Function Documentation

◆ clone()

dqm_algorithms::TileTriggerMonitor * dqm_algorithms::TileTriggerMonitor::clone ( )

Definition at line 30 of file TileTriggerMonitor.cxx.

31 {
32 
33  return new TileTriggerMonitor();
34 }

◆ execute()

dqm_core::Result * dqm_algorithms::TileTriggerMonitor::execute ( const std::string &  name,
const TObject &  object,
const dqm_core::AlgorithmConfig &  config 
)

Definition at line 38 of file TileTriggerMonitor.cxx.

41 {
42  const TH1 * histogram;
43  if( object.IsA()->InheritsFrom( "TH1" ) ) {
44  histogram = static_cast<const TH1*>(&object);
45  if (histogram->GetDimension() > 2 ){
46  throw dqm_core::BadConfig( ERS_HERE, name, "dimension > 2 " );
47  }
48  } else {
49  throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TH1" );
50  }
51 
53  //Count each category of the bins, if you find a red bin show red, if you find a yellow bin show yellow
54  std::vector<int> range=dqm_algorithms::tools::GetBinRange(histogram, config.getParameters());
55  int worstStatus = -3;
56  for ( int towerNum = range.at(0); towerNum <= range.at(1); ++towerNum ) {
57  double inputCont = histogram->GetBinContent(towerNum);
58  if (inputCont>worstStatus) worstStatus=inputCont; //if you want to have a test for every bin remove the for loop and replace execute with 1D black bin algorithm
59  if (inputCont>0) dqm_algorithms::tools::PublishBin(histogram,towerNum,0,inputCont,result);
60  }
61 
62  result->tags_["BinContent"] = worstStatus;
63  if(worstStatus==2) result->status_ = dqm_core::Result::Red;
64  else if(worstStatus==1) result->status_ = dqm_core::Result::Yellow;
65  else if(worstStatus==0) result->status_ = dqm_core::Result::Green;
66  else {
67  result->status_ = dqm_core::Result::Disabled;
68  }
69 
70  return result;
71 
72 
73 }

◆ printDescription()

void dqm_algorithms::TileTriggerMonitor::printDescription ( std::ostream &  out)

Definition at line 77 of file TileTriggerMonitor.cxx.

78 {
79  //put optional description for developers
80  out<<"Red bin: The tower has experienced a large spike in rate. The large spike threshold algorithm is written in TilePPMContainerSpike in TriggerMonitor in L1Calo's git repository. \n" << std::endl;
81 
82  out<<"Yellow bin: The tower has experienced a spike in rate. The spike threshold algorithm is written in TilePPMContainerSpike in TriggerMonitor in L1Calo's git repository. \n" << std::endl;
83 
84  out<<"Black bin: This tower is disabled\n" << std::endl;
85 
86  out<<"Optional Parameter, Publish Bin: Publishes the content of the bins that are different than result." << std::endl;
87 
88 
89 }

The documentation for this struct was generated from the following files:
dqm_algorithms::tools::GetBinRange
std::vector< int > GetBinRange(const TH1 *histogram, const std::map< std::string, double > &params)
Definition: AlgorithmHelper.cxx:380
get_generator_info.result
result
Definition: get_generator_info.py:21
IsA
#define IsA
Declare the TObject style functions.
Definition: xAODTEventBranch.h:59
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
dqm_algorithms::tools::PublishBin
void PublishBin(const TH1 *histogram, int xbin, int ybin, double content, dqm_core::Result *result)
Definition: AlgorithmHelper.cxx:426
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
instance
std::map< std::string, double > instance
Definition: Run_To_Get_Tags.h:8
dqm_algorithms::TileTriggerMonitor::TileTriggerMonitor
TileTriggerMonitor()
Definition: TileTriggerMonitor.cxx:23
Result
ICscStripFitter::Result Result
Definition: CalibCscStripFitter.cxx:13
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
python.handimod.Green
int Green
Definition: handimod.py:524
python.handimod.Red
Red
Definition: handimod.py:551
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TH1
Definition: rootspy.cxx:268
pickleTool.object
object
Definition: pickleTool.py:30
histogram
std::string histogram
Definition: chains.cxx:52