Tool_InformationStore.h 2.98 KB
Newer Older
1
2
3
4
5
/*
  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/

///////////////////////////////////////////////////////////////////
6
//  Header file for class Tool_InformationStore
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
///////////////////////////////////////////////////////////////////
// (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
// Tool to store information needed in PanTau Algorithms
///////////////////////////////////////////////////////////////////
// limbach@physik.uni-bonn.de
///////////////////////////////////////////////////////////////////

#ifndef PANTAUALGS_TOOL_INFORMATIONSTORE_H
#define PANTAUALGS_TOOL_INFORMATIONSTORE_H


//! C++
#include <map>
#include <string>

23
24
//! ASG
#include "AsgTools/AsgTool.h"
25
26

//! PanTau
27
#include "PanTauAlgs/ITool_InformationStore.h"
28
29
30
31
32
33
34
35


namespace PanTau {

/** @class Tool_InformationStore
    Tool to store information needed in PanTau Algorithms
    @author Christian Limbach (limbach@physik.uni-bonn.de)
*/
36
  class Tool_InformationStore : public asg::AsgTool, virtual public PanTau::ITool_InformationStore {
37
    
38
    ASG_TOOL_CLASS1(Tool_InformationStore, PanTau::ITool_InformationStore)
39
    
40
   
41
42
43
    
    
    public:
44
45
46
47
48
49
50
51
52

#ifdef XAOD_ANALYSIS
    inline void setMapString( MapString&v ){ m_Infos_String = v; }
    inline void setMapVecString( MapVecString&v ){ m_Infos_VecString  = v; }
    inline void setMapInt( MapInt &v ){ m_Infos_Int = v; }
    inline void setMapDouble( MapDouble &v ){  m_Infos_Double = v; }
    inline void setMapVecDouble( MapVecDouble &v ){  m_Infos_VecDouble = v; }
#endif

53
        Tool_InformationStore(const std::string &name);
54
55
        virtual ~Tool_InformationStore ();
        
56
	virtual void ABRDefaultInit();
57
58
59
60
61
62
63
64
65
66
67
        virtual StatusCode initialize();
//         virtual StatusCode finalize  ();
        
        virtual StatusCode getInfo_Int(std::string varName,     int& value);
        virtual StatusCode getInfo_Double(std::string varName,  double& value);
        virtual StatusCode getInfo_VecDouble(std::string varName,  std::vector<double>& value);
        virtual StatusCode getInfo_String(std::string varName,  std::string& value);
        virtual StatusCode getInfo_VecString(std::string varName,  std::vector<std::string>& value);
        
        StatusCode  dumpMaps() const;
        
68
       
69
70
71
72
73
74
75
76
77
78
79
80
81
82
    private:
        
        //! named strings, ints etc... for configuration
        MapString       m_Infos_String;
        MapVecString    m_Infos_VecString;
        MapInt          m_Infos_Int;
        MapDouble       m_Infos_Double;
        MapVecDouble    m_Infos_VecDouble;
        
        //!other information
        // input containers
        std::string                       m_Name_Container_eflowRec;
        std::string                       m_Name_Container_TauRec;
        std::string                       m_Name_Container_Tracks;
83
84
85
86

	bool m_init=false;
  public:
	inline bool isInitialized(){return m_init;}
87
        
88
       
89
90
91
92
93
94
};


} // end of namespace PanTau
#endif // PANTAUALGS_TAUIMPACTPARAMETEREXTRACTIONTOOL_H