ATLAS Offline Software
AlgCFlow.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MULTI_DRAW_ALG_CFLOW_H
6 #define MULTI_DRAW_ALG_CFLOW_H
7 
8 //
9 // Distributed under the Boost Software License, Version 1.0.
10 // (See accompanying file LICENSE_1_0.txt or copy at
11 // http://www.boost.org/LICENSE_1_0.txt)
12 
13 // Please feel free to contact me (krumnack@iastate.edu) for bug
14 // reports, feature suggestions, praise and complaints.
15 
16 
20 
21 
22 
23 //protect
24 #include <MultiDraw/Global.h>
25 
26 #include <EventLoop/Algorithm.h>
27 
28 class TH1;
29 
30 namespace MD
31 {
32  class AlgCFlow : public EL::Algorithm
33  {
34  //
35  // public interface
36  //
37 
40  public:
41  void testInvariant () const;
42 
43 
47  public:
49 
50 
57  public:
58  AlgCFlow (TH1 *val_hist_swallow);
59 
60 
61 
62  //
63  // interface inherited from EL::Algorithm
64  //
65 
74  private:
76 
77 
88  private:
90 
91 
96  private:
97  virtual EL::StatusCode execute ();
98 
99 
100 
101  //
102  // private interface
103  //
104 
106  private:
107  TH1 *m_hist;
108 
110  private:
111  std::vector<std::string> m_formulas;
112 
114  private:
115  std::vector<Double_t> m_values;
116 
118  private:
119  std::vector<const Formula*> m_index;
120 
122  private:
123  std::vector<std::size_t> m_back;
124 
126  private:
127  std::vector<Double_t> m_axis;
128 
130  private:
131  TH1 *m_hist2;
132 
134  private:
136 
138  };
139 }
140 
141 #endif
MD::AlgCFlow::m_values
std::vector< Double_t > m_values
description: the value of the formulas
Definition: AlgCFlow.h:115
MD::AlgCFlow::AlgCFlow
AlgCFlow()
effects: default constructor guarantee: no-fail rationale: this should only be called by serializatio...
MD::AlgCFlow::initialize
virtual EL::StatusCode initialize()
effects: do everything that needs to be done before running the algorithm, e.g.
MD::AlgCFlow::AlgCFlow
AlgCFlow(TH1 *val_hist_swallow)
effects: constructor for the given histogram spec, value, and weight guarantee: strong failures: out ...
MD::AlgCFlow::m_hist2
TH1 * m_hist2
description: the histogram we are filling
Definition: AlgCFlow.h:131
Global.h
MD
This module provides a lot of global definitions, forward declarations and includes that are used by ...
Definition: AlgCFlow.h:31
MD::AlgCFlow::setupJob
virtual EL::StatusCode setupJob(EL::Job &job)
effects: give the algorithm a chance to intialize the job with anything this algorithm needs.
MD::AlgCFlow::m_formulas
std::vector< std::string > m_formulas
description: the list of formulas used
Definition: AlgCFlow.h:111
MD::AlgCFlow::m_formSvc
FormulaSvc * m_formSvc
description: the formula service we are using
Definition: AlgCFlow.h:135
EL::Algorithm
Definition: Algorithm.h:22
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Algorithm.h
MD::AlgCFlow::m_hist
TH1 * m_hist
description: the histogram we use as a template
Definition: AlgCFlow.h:107
MD::AlgCFlow::ClassDef
ClassDef(AlgCFlow, 1)
MD::AlgCFlow::execute
virtual EL::StatusCode execute()
effects: process the next event guarantee: basic failures: algorithm dependent rationale: the virtual...
MD::AlgCFlow::testInvariant
void testInvariant() const
effects: test the invariant of this object guarantee: no-fail
MD::FormulaSvc
Definition: FormulaSvc.h:54
MD::AlgCFlow::m_axis
std::vector< Double_t > m_axis
description: the axis values of the bins
Definition: AlgCFlow.h:127
MD::AlgCFlow
Definition: AlgCFlow.h:33
MD::AlgCFlow::m_index
std::vector< const Formula * > m_index
description: the indices to the formulas
Definition: AlgCFlow.h:119
EL::Job
Definition: Job.h:51
test_interactive_athena.job
job
Definition: test_interactive_athena.py:6
MD::AlgCFlow::m_back
std::vector< std::size_t > m_back
description: the back-indices to the formulas
Definition: AlgCFlow.h:123