Tool_DecayModeDeterminator.h 3.17 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/

///////////////////////////////////////////////////////////////////
//  Header file for class TauImpactParameterExtractionTool
///////////////////////////////////////////////////////////////////
// (c) ATLAS Detector software
///////////////////////////////////////////////////////////////////
// Tool to store information needed in PanTau Algorithms
///////////////////////////////////////////////////////////////////
// limbach@physik.uni-bonn.de
///////////////////////////////////////////////////////////////////

#ifndef PANTAUALGS_TOOL_DECAYMODEDETERMINATOR_H
#define PANTAUALGS_TOOL_DECAYMODEDETERMINATOR_H


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

//! Gaudi
24
25
#include "AsgTools/AsgTool.h"
#include "AsgTools/ToolHandle.h"
26
27

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

class StoreGateSvc;

namespace PanTau {
35
    class PanTauSeed2;
36
37
38
39
40
41
42
43
44
}


namespace PanTau {

/** @class Tool_DecayModeDeterminator
    Tool to store information needed in PanTau Algorithms
    @author Christian Limbach (limbach@physik.uni-bonn.de)
*/
45
46
47
  class Tool_DecayModeDeterminator : public asg::AsgTool, virtual public PanTau::ITool_PanTauTools {

    ASG_TOOL_CLASS1(Tool_DecayModeDeterminator, PanTau::ITool_PanTauTools)
48
49
50
51
52
53
54
55
56
57
58
    
    public:
        
        enum DecayModeTest {
            t_1p0n_vs_1p1n,
            t_1p1n_vs_1pXn,
            t_3p0n_vs_3pXn,
            t_UnknownTest,
            t_nTests
        };
        
59
        Tool_DecayModeDeterminator(const std::string &name);
60
61
62
63
64
        virtual ~Tool_DecayModeDeterminator ();
        
        virtual StatusCode initialize();
//         virtual StatusCode finalize  ();
        
65
        virtual StatusCode execute(PanTau::PanTauSeed2* inSeed);
66
67
68
69
70
71
72
73
74
75
        
    private:
        
        StoreGateSvc*   m_sgSvc;
        
        ToolHandle<PanTau::ITool_InformationStore>  m_Tool_InformationStore;
        
        ToolHandle<PanTau::ITool_ModeDiscriminator> m_Tool_ModeDiscriminator_1p0n_vs_1p1n;
        ToolHandle<PanTau::ITool_ModeDiscriminator> m_Tool_ModeDiscriminator_1p1n_vs_1pXn;
        ToolHandle<PanTau::ITool_ModeDiscriminator> m_Tool_ModeDiscriminator_3p0n_vs_3pXn;
76
77
78
79
80
81
82


	std::string m_Tool_InformationStoreName;

	std::string m_Tool_ModeDiscriminator_1p0n_vs_1p1nName;
	std::string m_Tool_ModeDiscriminator_1p1n_vs_1pXnName;
	std::string m_Tool_ModeDiscriminator_3p0n_vs_3pXnName;
83
84
85
86
87
88
89
90
91
92
93
94
95
96
        
        
        //configurables to be retrieved from information store
        
        //variable prefix for the decay mode
        std::string m_varTypeName_Prefix_Basic;
        
        //cut values for CellBased
        double           m_BDTCutValue_R10X_CellBased;
        double           m_BDTCutValue_R11X_CellBased;
        double           m_BDTCutValue_R110_CellBased;
        double           m_BDTCutValue_R1XX_CellBased;
        double           m_BDTCutValue_R30X_CellBased;
        double           m_BDTCutValue_R3XX_CellBased;
97
98
99
100

	bool m_init=false;
  public:
	inline bool isInitialized(){return m_init;}
101
102
103
104
105
106
};


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