1 |
//--------------------------------------------------------------------------------------------------
|
2 |
// $Id: PFTauIDMod.h,v 1.4 2011/03/09 14:56:26 dkralph Exp $
|
3 |
//
|
4 |
// PFTauIDMod
|
5 |
//
|
6 |
// This module applies tau identification criteria and exports a pointer to a collection
|
7 |
// of "good Taus" according to the specified identification scheme.
|
8 |
//
|
9 |
// Authors: G.Ceballos
|
10 |
//--------------------------------------------------------------------------------------------------
|
11 |
|
12 |
#ifndef MITPHYSICS_MODS_PFTauIDMod_H
|
13 |
#define MITPHYSICS_MODS_PFTauIDMod_H
|
14 |
|
15 |
#include "MitAna/TreeMod/interface/BaseMod.h"
|
16 |
#include "MitAna/DataTree/interface/PFTauFwd.h"
|
17 |
|
18 |
namespace mithep
|
19 |
{
|
20 |
class PFTauIDMod : public BaseMod
|
21 |
{
|
22 |
public:
|
23 |
PFTauIDMod(const char *name="PFTauIDMod",
|
24 |
const char *title="Tau identification module");
|
25 |
|
26 |
const char *GetPFTausName() const { return fPFTausName; }
|
27 |
const char *GetGoodPFTausName() const { return fGoodPFTausName; }
|
28 |
Double_t GetPtMin() const { return fPtMin; }
|
29 |
Double_t GetPtLeadChargedHadronPFCandMin() const { return fPtLeadChargedHadronPFCandMin; }
|
30 |
UInt_t GetIsoChargedHadronPtSumMax() const { return fIsoChargedHadronPtSumMax; }
|
31 |
UInt_t GetIsoGammaEtSumMax() const { return fIsoGammaEtSumMax; }
|
32 |
Double_t GetSignalMassMin() const { return fSignalMassMin; }
|
33 |
Double_t GetSignalMassMax() const { return fSignalMassMax; }
|
34 |
Bool_t GetIsHPSSel() const { return fIsHPSSel; }
|
35 |
// note: for safety, tau name is determined by fIsHPSSel in SlaveBegin()
|
36 |
void SetPFTausName(const char *n) { fPFTausName = n; }
|
37 |
void SetPtMin(Double_t x) { fPtMin = x; }
|
38 |
void SetEtaMax(Double_t x) { fEtaMax = x; }
|
39 |
void SetPtLeadChargedHadronPFCandMin(Double_t x){ fPtLeadChargedHadronPFCandMin = x; }
|
40 |
void SetIsoChargedHadronPtSumMax(Double_t x) { fIsoChargedHadronPtSumMax = x; }
|
41 |
void SetIsoGammaEtSumMax(Double_t x) { fIsoGammaEtSumMax = x; }
|
42 |
void SetSignalMassMin(Double_t x) { fSignalMassMin = x; }
|
43 |
void SetSignalMassMax(Double_t x) { fSignalMassMax = x; }
|
44 |
void SetIsLooseId(Bool_t b) { fIsLooseId = b; }
|
45 |
void SetIsHPSSel(Bool_t b) { fIsHPSSel = b; }
|
46 |
void SetHPSIso(const char *i) { fHPSIso = i; }
|
47 |
|
48 |
protected:
|
49 |
void Process();
|
50 |
void SlaveBegin();
|
51 |
|
52 |
TString fPFTausName; //name of tau collection (input)
|
53 |
TString fGoodPFTausName; //name of exported good PFTau collection (output)
|
54 |
Double_t fPtMin; //min tau pt cut
|
55 |
Double_t fEtaMax; //max tau eta cut
|
56 |
Double_t fPtLeadChargedHadronPFCandMin; //min LeadChargedHadronPFCand pt cut
|
57 |
Double_t fIsoChargedHadronPtSumMax; //maximum of Pt iso tracks
|
58 |
Double_t fIsoGammaEtSumMax; //maximum of Pt iso neutrals
|
59 |
Double_t fSignalMassMin; //minimum of tau mass
|
60 |
Double_t fSignalMassMax; //maximum of tau mass
|
61 |
Bool_t fIsLooseId; //apply Loose Tau selection
|
62 |
Bool_t fIsHPSSel; //apply HPS Tau selection
|
63 |
TString fHPSIso; //isolation tightness: "tight", "medium", "loose"
|
64 |
const PFTauCol *fPFTaus; //!tau branch
|
65 |
|
66 |
ClassDef(PFTauIDMod, 1) // Tau identification module
|
67 |
};
|
68 |
}
|
69 |
#endif
|