1 |
loizides |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
|
|
// $Id: ElectronCleaningMod.h,v 1.1 2008/10/14 06:13:52 loizides Exp $
|
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
|
9 |
|
|
//
|
10 |
|
|
// Authors: S.Xie
|
11 |
|
|
//--------------------------------------------------------------------------------------------------
|
12 |
|
|
|
13 |
|
|
#ifndef MITANA_TREEMOD_ELECTRONCLEANINGMOD_H
|
14 |
|
|
#define MITANA_TREEMOD_ELECTRONCLEANINGMOD_H
|
15 |
|
|
|
16 |
|
|
#include "MitAna/TreeMod/interface/BaseMod.h"
|
17 |
|
|
#include "MitAna/DataTree/interface/Collections.h"
|
18 |
|
|
|
19 |
|
|
class TH1D;
|
20 |
|
|
class TH2D;
|
21 |
|
|
|
22 |
|
|
namespace mithep
|
23 |
|
|
{
|
24 |
|
|
class ElectronCleaningMod : public BaseMod
|
25 |
|
|
{
|
26 |
|
|
public:
|
27 |
|
|
ElectronCleaningMod(const char *name="ElectronCleaningMod",
|
28 |
|
|
const char *title="Example analysis module with all branches");
|
29 |
|
|
~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; }
|
34 |
|
|
|
35 |
|
|
protected:
|
36 |
|
|
bool fPrintDebug;
|
37 |
|
|
TString fGoodElectronsName ; //name of electrons passing ID
|
38 |
|
|
TString fCleanMuonsName ; //name of clean muons
|
39 |
|
|
TString fCleanElectronsName ; //name of clean electrons
|
40 |
|
|
MuonCol *fMuons; //!Muon branch
|
41 |
|
|
ElectronCol *fElectrons; //!Electron branch
|
42 |
|
|
|
43 |
|
|
int fNEventsProcessed; // Number of events processed
|
44 |
|
|
|
45 |
|
|
void Begin();
|
46 |
|
|
void Process();
|
47 |
|
|
void SlaveBegin();
|
48 |
|
|
void SlaveTerminate();
|
49 |
|
|
void Terminate();
|
50 |
|
|
|
51 |
|
|
|
52 |
|
|
ClassDef(ElectronCleaningMod,1) // TAM example analysis module
|
53 |
|
|
};
|
54 |
|
|
}
|
55 |
|
|
#endif
|