1 |
loizides |
1.1 |
//--------------------------------------------------------------------------------------------------
|
2 |
|
|
// $Id: EffMod.h,v 1.2 2009/02/03 20:02:43 loizides Exp $
|
3 |
|
|
//
|
4 |
|
|
// EffMod
|
5 |
|
|
//
|
6 |
|
|
// This module calculates reconstruction efficiency (and fake rate) between reconstructed
|
7 |
|
|
// objects and the MC truth by simple matching in DeltaR.
|
8 |
|
|
//
|
9 |
|
|
// Authors: C.Loizides
|
10 |
|
|
//--------------------------------------------------------------------------------------------------
|
11 |
|
|
|
12 |
|
|
#ifndef MITMODS_MODS_EFFMOD_H
|
13 |
|
|
#define MITMODS_MODS_EFFMOD_H
|
14 |
|
|
|
15 |
|
|
#include "MitAna/TreeMod/interface/BaseMod.h"
|
16 |
|
|
#include "MitAna/DataTree/interface/Collections.h"
|
17 |
|
|
|
18 |
|
|
class TH1D;
|
19 |
|
|
|
20 |
|
|
namespace mithep
|
21 |
|
|
{
|
22 |
|
|
class EffMod : public BaseMod
|
23 |
|
|
{
|
24 |
|
|
public:
|
25 |
|
|
EffMod(const char *name="EffMod",
|
26 |
|
|
const char *title="Efficiency analysis module");
|
27 |
|
|
~EffMod() {}
|
28 |
|
|
|
29 |
|
|
void SetCol1Name(const char *n) { fCol1Name = n; }
|
30 |
|
|
void SetCol2Name(const char *n) { fCol2Name = n; }
|
31 |
|
|
void SetMinPt(Double_t pt) { fMinPt = pt; }
|
32 |
|
|
void SetMaxEta(Double_t e) { fMaxEta = e; }
|
33 |
|
|
void SetRadius(Double_t r) { fRadius = r; }
|
34 |
|
|
void SetType(MCParticle::EPartType t) { fPartType = t; }
|
35 |
|
|
|
36 |
|
|
protected:
|
37 |
|
|
void Process();
|
38 |
|
|
void SlaveBegin();
|
39 |
|
|
void Terminate();
|
40 |
|
|
|
41 |
|
|
TString fCol1Name; //first collection name (input)
|
42 |
|
|
TString fCol2Name; //second collection name (input)
|
43 |
|
|
Double_t fMinPt; //minimum pt for col1
|
44 |
|
|
Double_t fMaxEta; //maximum absolute eta for col1
|
45 |
|
|
Double_t fRadius; //radius used for matching
|
46 |
|
|
MCParticle::EPartType fPartType; //particle type (default = kNone)
|
47 |
|
|
TH1D *fCol1Pt; //!pt efficiency denominator
|
48 |
|
|
TH1D *fCol1Eta; //!eta efficiency denominator
|
49 |
|
|
TH1D *fCol2Pt; //!pt efficiency numerator
|
50 |
|
|
TH1D *fCol2Eta; //!eta efficiency numerator
|
51 |
|
|
TH1D *fGoodPt; //!pt fake denominator
|
52 |
|
|
TH1D *fGoodEta; //!eta fake denominator
|
53 |
|
|
TH1D *fFakePt; //!pt fake numerator
|
54 |
|
|
TH1D *fFakeEta; //!eta fake numerator
|
55 |
|
|
|
56 |
|
|
ClassDef(EffMod, 1) // Efficiency analysis module
|
57 |
|
|
};
|
58 |
|
|
}
|
59 |
|
|
#endif
|