40 |
|
|
41 |
|
#include "DataFormats/GeometryVector/interface/Phi.h" |
42 |
|
|
43 |
< |
#include "TMatrixD.h" |
43 |
> |
#include<TVector2.h> |
44 |
> |
|
45 |
|
#include "TArrayD.h" |
46 |
< |
#include "TMatrixDBase.h" |
46 |
> |
#include "TLorentzVector.h" |
47 |
|
|
48 |
|
#include "DataFormats/METReco/interface/PFMET.h" |
49 |
< |
// |
49 |
> |
|
50 |
> |
//from .cc |
51 |
> |
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h" |
52 |
> |
#include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEventAuxInfo.h" |
53 |
> |
|
54 |
> |
#include "DataFormats/GeometryVector/interface/VectorUtil.h" |
55 |
> |
|
56 |
> |
#include "FWCore/Framework/interface/ESHandle.h" |
57 |
> |
#include "DataFormats/PatCandidates/interface/PATObject.h" |
58 |
> |
#include "DataFormats/PatCandidates/interface/TriggerObject.h" |
59 |
> |
#include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h" |
60 |
> |
#include "RecoBTag/Records/interface/BTagPerformanceRecord.h" |
61 |
> |
#include "CondFormats/PhysicsToolsObjects/interface/BinningPointByMap.h" |
62 |
> |
#include "RecoBTag/PerformanceDB/interface/BtagPerformance.h" |
63 |
> |
|
64 |
> |
|
65 |
|
// class decleration |
66 |
|
// |
67 |
< |
|
67 |
> |
class JetCorrectionUncertainty; |
68 |
|
|
69 |
|
|
70 |
|
class HbbAnalyzerNew : public edm::EDProducer { |
71 |
+ |
|
72 |
+ |
struct BTagSFContainer{ |
73 |
+ |
const BtagPerformance * BTAGSF_CSVL; |
74 |
+ |
const BtagPerformance * BTAGSF_CSVM; |
75 |
+ |
const BtagPerformance * BTAGSF_CSVT; |
76 |
+ |
const BtagPerformance * MISTAGSF_CSVL; |
77 |
+ |
const BtagPerformance * MISTAGSF_CSVM; |
78 |
+ |
const BtagPerformance * MISTAGSF_CSVT; |
79 |
+ |
}; |
80 |
|
|
81 |
|
public: |
82 |
|
explicit HbbAnalyzerNew(const edm::ParameterSet&); |
83 |
|
~HbbAnalyzerNew(); |
84 |
|
|
85 |
+ |
protected: |
86 |
+ |
TVector2 getTvect( const pat::Jet* patJet ); |
87 |
+ |
|
88 |
+ |
TLorentzVector getChargedTracksMomentum(const pat::Jet* patJet ); |
89 |
|
|
90 |
|
private: |
91 |
|
virtual void beginJob() ; |
92 |
|
virtual void produce( edm::Event&, const edm::EventSetup&); |
93 |
|
virtual void endJob() ; |
94 |
|
virtual void fillMuBlock(edm::View<pat::Muon>::const_iterator mu, int muInfo[15]); |
95 |
+ |
virtual void fillScaleFactors(VHbbEvent::SimpleJet&, BTagSFContainer); |
96 |
|
|
97 |
|
// ----------member data --------------------------- |
98 |
|
|
116 |
|
// TMatrixD *pointerPt; |
117 |
|
TMatrixD *pointerEta; |
118 |
|
TMatrixD *pointerPhi; |
89 |
– |
|
90 |
– |
}; |
119 |
|
|
120 |
< |
// |
121 |
< |
// constants, enums and typedefs |
122 |
< |
// |
120 |
> |
bool verbose_; |
121 |
> |
protected: |
122 |
> |
void fillSimpleJet (VHbbEvent::SimpleJet& sj, edm::View<pat::Jet>::const_iterator iter); |
123 |
> |
void setJecUnc(VHbbEvent::SimpleJet& sj,JetCorrectionUncertainty* jecunc); |
124 |
|
|
125 |
< |
// |
97 |
< |
// static data member definitions |
98 |
< |
// |
125 |
> |
}; |
126 |
|
|
100 |
– |
// |
127 |
|
|