1 |
+ |
|
2 |
|
//-------------------------------------------------------------------------------------------------- |
3 |
|
// $Id $ |
4 |
|
// |
13 |
|
#include "MitAna/DataTree/interface/PFJetFwd.h" |
14 |
|
#include "MitAna/DataTree/interface/VertexFwd.h" |
15 |
|
#include "MitAna/DataTree/interface/TrackFwd.h" |
16 |
+ |
#include "MitAna/DataTree/interface/MuonCol.h" |
17 |
+ |
#include "MitAna/DataTree/interface/PFTauCol.h" |
18 |
+ |
#include "MitAna/DataTree/interface/ElectronCol.h" |
19 |
+ |
#include "MitAna/DataTree/interface/PhotonCol.h" |
20 |
|
#include "MitAna/DataTree/interface/Met.h" |
21 |
|
#include "MitAna/DataTree/interface/PFMet.h" |
22 |
|
#include "MitAna/DataTree/interface/PFMetCol.h" |
27 |
|
#include "MitCommon/MathTools/interface/MathUtils.h" |
28 |
|
|
29 |
|
#include "MitPhysics/Utils/interface/RecoilTools.h" |
30 |
+ |
#include "MitPhysics/Utils/interface/MetLeptonTools.h" |
31 |
|
#include "CondFormats/EgammaObjects/interface/GBRForest.h" |
32 |
|
|
33 |
|
class TRandom3; |
39 |
|
MVAMet(); |
40 |
|
~MVAMet(); |
41 |
|
enum MVAType { |
42 |
< |
kBaseline = 0 |
42 |
> |
kBaseline = 0, |
43 |
> |
kOld42 = 4 |
44 |
|
}; |
45 |
|
|
46 |
|
//void setVariables(TMVA::Reader *iReader,bool iScale); |
58 |
|
TString iPhiWeights ="$CMSSW_BASE/src/MitPhysics/data/gbrmetphi.root", |
59 |
|
TString iCovU1Weights ="$CMSSW_BASE/src/MitPhysics/data/gbrcovu1_52.root", |
60 |
|
TString iCovU2Weights ="$CMSSW_BASE/src/MitPhysics/data/gbrcovu2_52.root", |
61 |
< |
MVAMet::MVAType iType=kBaseline); |
61 |
> |
JetIDMVA::MVAType iType=JetIDMVA::kBaseline,bool iOld42=false); |
62 |
|
|
63 |
|
Bool_t IsInitialized() const { return fIsInitialized; } |
64 |
+ |
Float_t* getVals(); |
65 |
|
Double_t evaluatePhi(); |
66 |
|
Double_t evaluateU1(); |
67 |
|
Double_t evaluateCovU1(); |
92 |
|
Float_t iNAllJet, |
93 |
|
Float_t iNPV ); |
94 |
|
|
95 |
< |
Met GetMet( Bool_t iPhi,Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis, |
95 |
> |
Met GetMet( Bool_t iPhi, |
96 |
> |
Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis, |
97 |
> |
Float_t iPtQ ,Float_t iPhiQ ,Float_t iSumEtQ, |
98 |
|
const PFMet *iMet , |
99 |
|
const PFCandidateCol *iCands, |
100 |
|
const Vertex *iVertex,const VertexCol *iVertices, |
104 |
|
int iNPV, |
105 |
|
Bool_t printDebug=false); |
106 |
|
|
107 |
< |
Met GetMet( Bool_t iPhi,Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis, |
107 |
> |
Met GetMet( Bool_t iPhi, |
108 |
> |
Float_t iPtVis,Float_t iPhiVis,Float_t iSumEtVis, |
109 |
> |
Float_t iPtQ ,Float_t iPhiQ ,Float_t iSumEtQ, |
110 |
|
const PFMet *iMet , |
111 |
|
const PFCandidateCol *iCands, |
112 |
|
const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho, |
115 |
|
Bool_t printDebug=false); |
116 |
|
|
117 |
|
Met GetMet( Bool_t iPhi, |
118 |
< |
Float_t iPt1,Float_t iPhi1,Float_t iEta1, |
119 |
< |
Float_t iPt2,Float_t iPhi2,Float_t iEta2, |
118 |
> |
Float_t iPt1,Float_t iPhi1,Float_t iEta1,Float_t iChargedFrac1, |
119 |
> |
Float_t iPt2,Float_t iPhi2,Float_t iEta2,Float_t iChargedFrac2, |
120 |
|
const PFMet *iMet , |
121 |
|
const PFCandidateCol *iCands, |
122 |
|
const Vertex *iVertex,const VertexCol *iVertices, |
127 |
|
Bool_t printDebug=false); |
128 |
|
|
129 |
|
Met GetMet( Bool_t iPhi, |
130 |
< |
Float_t iPt1,Float_t iPhi1,Float_t iEta1, |
131 |
< |
Float_t iPt2,Float_t iPhi2,Float_t iEta2, |
130 |
> |
Float_t iPt1,Float_t iPhi1,Float_t iEta1,Float_t iChargedFrac1, |
131 |
> |
Float_t iPt2,Float_t iPhi2,Float_t iEta2,Float_t iChargedFrac2, |
132 |
|
const PFMet *iMet , |
133 |
|
const PFCandidateCol *iCands, |
134 |
|
const Vertex *iVertex,const VertexCol *iVertices,Double_t iRho, |
136 |
|
int iNPV, |
137 |
|
Bool_t printDebug=false); |
138 |
|
|
139 |
+ |
Met GetMet( const MuonCol *iMuons,const ElectronCol *iElectrons,const PFTauCol *iTaus, |
140 |
+ |
const PFCandidateCol *iCands,const PFJetCol *iJets,const Vertex *iPV,const VertexCol *iVertices,const PFMetCol *iPFMet, |
141 |
+ |
FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol* iPUEnergyDensity); |
142 |
+ |
|
143 |
+ |
Met GetMet(const PhotonCol *iPhotons, |
144 |
+ |
const PFCandidateCol *iCands,const PFJetCol *iJets,const Vertex *iPV,const VertexCol *iVertices,const PFMetCol *iPFMet, |
145 |
+ |
FactorizedJetCorrector *iJetCorrector,const PileupEnergyDensityCol* iPUEnergyDensity); |
146 |
+ |
|
147 |
|
TMatrixD* GetMetCovariance() { return fCov; } |
148 |
|
Float_t GetSignificance () { return fSignificance;} |
149 |
|
Float_t GetUncertainty () { return fUncertainty;} |
150 |
|
RecoilTools *fRecoilTools; |
151 |
+ |
|
152 |
+ |
Int_t fNPhotons; |
153 |
|
|
154 |
|
protected: |
155 |
|
TString fPhiMethodName; |
157 |
|
TString fCovU1MethodName; |
158 |
|
TString fCovU2MethodName; |
159 |
|
Bool_t fIsInitialized; |
160 |
< |
MVAType fType; |
160 |
> |
JetIDMVA::MVAType fType; |
161 |
> |
Bool_t f42; |
162 |
> |
Bool_t fOld42; |
163 |
|
|
164 |
|
Float_t fSumEt ; |
165 |
|
Float_t fU ; |
201 |
|
Float_t fUncertainty; |
202 |
|
TMatrixD *fCov; |
203 |
|
|
204 |
+ |
Int_t fNMuons; |
205 |
+ |
Int_t fNElectrons; |
206 |
+ |
Int_t fNTaus; |
207 |
+ |
|
208 |
+ |
MetLeptonTools *fMetLeptonTools; |
209 |
|
//TMVA::Reader* fPhiReader; |
210 |
|
//TMVA::Reader* fU1Reader; |
211 |
|
ClassDef(MVAMet,0) |