Tool_TauConstituentSelector.h 2.82 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
/*
  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/

#ifndef PANTAUALGS_TOOL_TAUCONSTITUENTSELECTOR
#define PANTAUALGS_TOOL_TAUCONSTITUENTSELECTOR

#include <map>
#include <vector>
#include <string>

12
13
14
//! ASG
#include "AsgTools/AsgTool.h"
#include "AsgTools/ToolHandle.h"
15

16
17
18
19
#include "PanTauAlgs/ITool_InformationStore.h"
#include "PanTauAlgs/ITool_TauConstituentSelector.h"

#include "PanTauAlgs/TauConstituent.h"
20
21
22
23
24



namespace PanTau {

25
26
27
28
class Tool_TauConstituentSelector : public asg::AsgTool, virtual public PanTau::ITool_TauConstituentSelector  {

    ASG_TOOL_CLASS1(Tool_TauConstituentSelector, PanTau::ITool_TauConstituentSelector)

29
30
    public:
        
31
        Tool_TauConstituentSelector(const std::string &name);
32
33
34
35
36
        virtual ~Tool_TauConstituentSelector ();
        
        virtual StatusCode initialize();
//         virtual StatusCode finalize();
        
37
38
        virtual StatusCode SelectTauConstituents(   std::vector<TauConstituent2*> inputList,
                                                    std::vector<TauConstituent2*>& outputList) const;
39
40
41
42
        
        
    protected:
        
43
44
45
46
47
48
49
        virtual bool    passesSelection_NeutralConstituent(TauConstituent2* tauConstituent) const;
        virtual bool    passesSelection_Pi0NeutConstituent(TauConstituent2* tauConstituent) const;
        virtual bool    passesSelection_ChargedConstituent(TauConstituent2* tauConstituent) const;
        virtual bool    passesSelection_OutNeutConstituent(TauConstituent2* TauConstituent) const;
        virtual bool    passesSelection_OutChrgConstituent(TauConstituent2* TauConstituent) const;
        virtual bool    passesSelection_NeutLowAConstituent(TauConstituent2* TauConstituent) const;
        virtual bool    passesSelection_NeutLowBConstituent(TauConstituent2* TauConstituent) const;
50
        
51
        virtual double  getEtCut(double eta, PanTau::TauConstituent2::Type constituentType) const;
52
53
54
55
        
        
        //member variables 
        ToolHandle<PanTau::ITool_InformationStore>  m_Tool_InformationStore;
56
	std::string  m_Tool_InformationStoreName;
57
58
59
60
61
62
63
64
65
66
        
        double                  m_MaxEta;
        std::vector<double>     m_BinEdges_Eta;
        std::vector<double>     m_Selection_Neutral_EtaBinned_EtCut;
        std::vector<double>     m_Selection_Pi0Neut_EtaBinned_EtCut;
        std::vector<double>     m_Selection_Charged_EtaBinned_EtCut;
        std::vector<double>     m_Selection_OutNeut_EtaBinned_EtCut;
        std::vector<double>     m_Selection_OutChrg_EtaBinned_EtCut;
        std::vector<double>     m_Selection_NeutLowA_EtaBinned_EtCut;
        std::vector<double>     m_Selection_NeutLowB_EtaBinned_EtCut;
67
68
69
70

	bool m_init=false;
  public:
	inline bool isInitialized(){return m_init;}
71
72
73
74
75
76
77
78
79
80
        
    }; //end class ConstituentGetter


}//end namespace PanTau




#endif // PANTAUALGS_TOOL_TAUCONSTITUENTSELECTOR