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