1 |
//--------------------------------------------------------------------------------------------------
|
2 |
// $Id: JetCleaningMod.h,v 1.12 2009/06/15 15:00:21 loizides Exp $
|
3 |
//
|
4 |
// JetCleaningMod
|
5 |
//
|
6 |
// This Module performs cleaning of jets, ie it removes jets which point
|
7 |
// in the same direction as a clean isolated electrons.
|
8 |
//
|
9 |
// Authors: S.Xie
|
10 |
//--------------------------------------------------------------------------------------------------
|
11 |
|
12 |
#ifndef MITPHYSICS_MODS_JETCLEANINGMOD_H
|
13 |
#define MITPHYSICS_MODS_JETCLEANINGMOD_H
|
14 |
|
15 |
#include "MitAna/TreeMod/interface/BaseMod.h"
|
16 |
|
17 |
namespace mithep
|
18 |
{
|
19 |
class JetCleaningMod : public BaseMod
|
20 |
{
|
21 |
public:
|
22 |
JetCleaningMod(const char *name="JetCleaningMod",
|
23 |
const char *title="Jet cleaning module");
|
24 |
|
25 |
const char *GetCleanElectronsName() const { return fCleanElectronsName; }
|
26 |
const char *GetCleanMuonsName() const { return fCleanMuonsName; }
|
27 |
const char *GetCleanJetsName() const { return fCleanJetsName; }
|
28 |
const char *GetCleanName() const { return GetCleanJetsName(); }
|
29 |
const char *GetCleanPhotonsName() const { return fCleanPhotonsName; }
|
30 |
const char *GetCleanTausName() const { return fCleanTausName; }
|
31 |
const char *GetGoodJetsName() const { return fGoodJetsName; }
|
32 |
Double_t GetMinDeltaRToElectron() const { return fMinDeltaRToElectron; }
|
33 |
Double_t GetMinDeltaRToMuon() const { return fMinDeltaRToMuon; }
|
34 |
Double_t GetMinDeltaRToPhoton() const { return fMinDeltaRToPhoton; }
|
35 |
Bool_t GetApplyPhotonRemoval() const { return fApplyPhotonRemoval; }
|
36 |
Bool_t GetApplyTauRemoval() const { return fApplyTauRemoval; }
|
37 |
const char *GetOutputName() const { return GetCleanJetsName(); }
|
38 |
void SetCleanElectronsName(const char *name) { fCleanElectronsName = name; }
|
39 |
void SetCleanJetsName(const char *name) { fCleanJetsName = name; }
|
40 |
void SetCleanMuonsName(const char *name) { fCleanMuonsName = name; }
|
41 |
void SetCleanName(const char *name) { SetCleanJetsName(name); }
|
42 |
void SetCleanPhotonsName(const char *name) { fCleanPhotonsName = name; }
|
43 |
void SetCleanTausName(const char *name) { fCleanTausName = name; }
|
44 |
void SetGoodJetsName(const char *name) { fGoodJetsName = name; }
|
45 |
void SetMinDeltaRToElectron(Double_t dr) { fMinDeltaRToElectron = dr; }
|
46 |
void SetMinDeltaRToMuon(Double_t dr) { fMinDeltaRToMuon = dr; }
|
47 |
void SetMinDeltaRToPhoton(Double_t dr) { fMinDeltaRToPhoton = dr; }
|
48 |
void SetApplyPhotonRemoval(Bool_t b) { fApplyPhotonRemoval = b; }
|
49 |
void SetApplyTauRemoval(Bool_t b) { fApplyTauRemoval = b; }
|
50 |
void SetOutputName(const char *name) { SetCleanJetsName(name); }
|
51 |
|
52 |
protected:
|
53 |
void Process();
|
54 |
|
55 |
TString fCleanElectronsName; //name of clean electrons (input)
|
56 |
TString fCleanMuonsName; //name of clean muons (input)
|
57 |
TString fCleanPhotonsName; //name of clean photons (input)
|
58 |
TString fCleanTausName; //name of clean taus (input)
|
59 |
TString fGoodJetsName; //name of good jets (input)
|
60 |
TString fCleanJetsName; //name of clean jets (output)
|
61 |
Double_t fMinDeltaRToElectron; //delta R for separating electrons from jets
|
62 |
Double_t fMinDeltaRToMuon; //delta R for separating muons from jets
|
63 |
Double_t fMinDeltaRToPhoton; //delta R for separating photons from jets
|
64 |
Double_t fMinDeltaRToTau; //delta R for separating taus from jets
|
65 |
Bool_t fApplyPhotonRemoval; //apply photon removal?
|
66 |
Bool_t fApplyTauRemoval; //apply tau removal?
|
67 |
|
68 |
ClassDef(JetCleaningMod, 1) // Jet cleaning module
|
69 |
};
|
70 |
}
|
71 |
#endif
|