3 |
|
// |
4 |
|
// ElectronCleaningMod |
5 |
|
// |
6 |
< |
// This Module performs cleaning of objects including, removal of |
7 |
< |
// duplicate objects, removal of good muons from the good electrons, |
8 |
< |
// removal of good isolated electrons from good jets |
6 |
> |
// This Module performs cleaning of electrons, ie. it removes duplicate objects and good muons |
7 |
> |
// from the good electrons. |
8 |
|
// |
9 |
|
// Authors: S.Xie |
10 |
|
//-------------------------------------------------------------------------------------------------- |
15 |
|
#include "MitAna/TreeMod/interface/BaseMod.h" |
16 |
|
#include "MitAna/DataTree/interface/Collections.h" |
17 |
|
|
19 |
– |
class TH1D; |
20 |
– |
class TH2D; |
21 |
– |
|
18 |
|
namespace mithep |
19 |
|
{ |
20 |
|
class ElectronCleaningMod : public BaseMod |
21 |
|
{ |
22 |
|
public: |
23 |
|
ElectronCleaningMod(const char *name="ElectronCleaningMod", |
24 |
< |
const char *title="Example analysis module with all branches"); |
24 |
> |
const char *title="Electron cleaning module"); |
25 |
|
~ElectronCleaningMod() {} |
30 |
– |
void SetPrintDebug(bool b) { fPrintDebug = b; } |
31 |
– |
void SetGoodElectronsName(TString s) { fGoodElectronsName = s; } |
32 |
– |
void SetCleanMuonsName(TString s) { fCleanMuonsName = s; } |
33 |
– |
void SetCleanElectronsName(TString s) { fCleanElectronsName = s; } |
26 |
|
|
27 |
< |
protected: |
28 |
< |
bool fPrintDebug; |
29 |
< |
TString fGoodElectronsName ; //name of electrons passing ID |
30 |
< |
TString fCleanMuonsName ; //name of clean muons |
31 |
< |
TString fCleanElectronsName ; //name of clean electrons |
32 |
< |
MuonCol *fMuons; //!Muon branch |
33 |
< |
ElectronCol *fElectrons; //!Electron branch |
34 |
< |
|
35 |
< |
int fNEventsProcessed; // Number of events processed |
27 |
> |
const char *GetCleanElectronsName() const { return fCleanElectronsName; } |
28 |
> |
const char *GetCleanName() const { return GetCleanElectronsName(); } |
29 |
> |
const char *GetCleanMuonsName() const { return fCleanMuonsName; } |
30 |
> |
const char *GetGoodElectronsName() const { return fGoodElectronsName; } |
31 |
> |
const char *GetOutputName() const { return GetCleanElectronsName(); } |
32 |
> |
void SetCleanElectronsName(const char *name) { fCleanElectronsName = name; } |
33 |
> |
void SetCleanName(const char *name) { SetCleanElectronsName(name); } |
34 |
> |
void SetCleanMuonsName(const char *name) { fCleanMuonsName = name; } |
35 |
> |
void SetGoodElectronsName(const char *name) { fGoodElectronsName = name; } |
36 |
> |
void SetOutputName(const char *name) { SetCleanElectronsName(name); } |
37 |
|
|
38 |
< |
void Begin(); |
38 |
> |
protected: |
39 |
|
void Process(); |
47 |
– |
void SlaveBegin(); |
48 |
– |
void SlaveTerminate(); |
49 |
– |
void Terminate(); |
40 |
|
|
41 |
+ |
TString fGoodElectronsName; //name of good electrons (input) |
42 |
+ |
TString fCleanMuonsName; //name of clean muons (input) |
43 |
+ |
TString fCleanElectronsName; //name of clean electrons (output) |
44 |
|
|
45 |
< |
ClassDef(ElectronCleaningMod,1) // TAM example analysis module |
45 |
> |
ClassDef(ElectronCleaningMod, 1) // Electron cleaning module |
46 |
|
}; |
47 |
|
} |
48 |
|
#endif |