1 |
//--------------------------------------------------------------------------------------------------
|
2 |
// $Id: ElectronCleaningMod.h,v 1.1 2008/10/15 06:04:59 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 MITPHYSICS_MODS_ELECTRONCLEANINGMOD_H
|
14 |
#define MITPHYSICS_MODS_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
|