1 |
//--------------------------------------------------------------------------------------------------
|
2 |
// $Id: JetIDMod.h,v 1.16 2012/04/05 12:25:09 pharris Exp $
|
3 |
//
|
4 |
// JetIDMod
|
5 |
//
|
6 |
// This module applies jet identification criteria and exports a pointer to a collection
|
7 |
// of "good jet" according to the specified identification scheme.
|
8 |
//
|
9 |
// Authors: S.Xie
|
10 |
//--------------------------------------------------------------------------------------------------
|
11 |
|
12 |
#ifndef MITPHYSICS_MODS_JETIDMOD_H
|
13 |
#define MITPHYSICS_MODS_JETIDMOD_H
|
14 |
|
15 |
#include "MitAna/TreeMod/interface/BaseMod.h"
|
16 |
#include "MitAna/DataTree/interface/VertexCol.h"
|
17 |
#include "MitPhysics/Utils/interface/JetIDMVA.h"
|
18 |
|
19 |
namespace mithep
|
20 |
{
|
21 |
class JetIDMod : public BaseMod
|
22 |
{
|
23 |
public:
|
24 |
JetIDMod(const char *name="JetIDMod",
|
25 |
const char *title="Jet identification module");
|
26 |
|
27 |
const char *GetInputName() const { return fJetsName; }
|
28 |
const char *GetGoodName() const { return GetGoodJetsName(); }
|
29 |
const char *GetGoodJetsName() const { return fGoodJetsName; }
|
30 |
const char *GetOutputName() const { return GetGoodJetsName(); }
|
31 |
Double_t GetPtCut() const { return fJetPtCut; }
|
32 |
Bool_t GetUseCorrection() const { return fUseJetCorrection; }
|
33 |
Double_t GetEtaMaxCut() const { return fJetEtaMaxCut; }
|
34 |
Double_t GetJetEEMFractionMinCut() const { return fJetEEMFractionMinCut;}
|
35 |
Bool_t GetApplyBetaCut() const { return fApplyBetaCut; }
|
36 |
Bool_t GetApplyMVACut() const { return fApplyMVACut; }
|
37 |
void SetGoodJetsName(const char *name) { fGoodJetsName = name; }
|
38 |
void SetGoodName(const char *name) { SetGoodJetsName(name); }
|
39 |
void SetInputName(const char *name) { fJetsName = name; }
|
40 |
void SetOutputName(const char *name) { SetGoodJetsName(name); }
|
41 |
void SetPtCut(Double_t cut) { fJetPtCut = cut; }
|
42 |
void SetUseCorrection(Bool_t b) { fUseJetCorrection = b; }
|
43 |
void SetEtaMaxCut(Double_t cut) { fJetEtaMaxCut = cut; }
|
44 |
void SetJetEEMFractionMinCut(Double_t cut){ fJetEEMFractionMinCut = cut;}
|
45 |
void SetApplyBetaCut(Bool_t b) { fApplyBetaCut = b; }
|
46 |
void SetApplyMVACut(Bool_t b) { fApplyMVACut = b; }
|
47 |
|
48 |
protected:
|
49 |
void Process();
|
50 |
void SlaveBegin();
|
51 |
void SlaveTerminate();
|
52 |
|
53 |
TString fJetsName; //name of jet collection (input)
|
54 |
TString fGoodJetsName; //name of good jets collection (output)
|
55 |
TString fVertexName; //name of vertex collection
|
56 |
Bool_t fUseJetCorrection; //=true then use corrected energy
|
57 |
Double_t fJetPtCut; //jet pt cut
|
58 |
Double_t fJetEtaMaxCut; //jet eta max cut
|
59 |
Double_t fJetEEMFractionMinCut; //jet Eem fraction min cut
|
60 |
Bool_t fApplyBetaCut; //=true then apply beta cut
|
61 |
Bool_t fApplyMVACut; //=true then apply MVA cut
|
62 |
const VertexCol *fVertices; //Vertices branches
|
63 |
JetIDMVA *fJetIDMVA;
|
64 |
ClassDef(JetIDMod, 1) // Jet identification module
|
65 |
};
|
66 |
}
|
67 |
#endif
|