86 |
|
virtual void beginJob() ; |
87 |
|
virtual void analyze(const edm::Event&, const edm::EventSetup&); |
88 |
|
virtual void endJob() ; |
89 |
+ |
bool selectJet(int i); |
90 |
|
|
91 |
|
// ----------member data --------------------------- |
92 |
|
|
93 |
|
bool usePat_; |
94 |
|
bool doMC_; |
95 |
< |
|
96 |
< |
double genJetPtMin_; |
97 |
< |
|
95 |
> |
bool filterJets_; |
96 |
> |
bool diJetsOnly_; |
97 |
> |
bool matchDiJets_; |
98 |
> |
|
99 |
> |
double genPtMin_; |
100 |
> |
double ptMin_; |
101 |
> |
double emfMin_; |
102 |
> |
double n90Min_; |
103 |
> |
double n90hitMin_; |
104 |
|
|
105 |
|
edm::InputTag jetTag_; |
106 |
|
|
111 |
|
edm::Handle<reco::Centrality> cent; |
112 |
|
|
113 |
|
edm::Handle<reco::JetView> jets; |
114 |
< |
// edm::Handle<pat::JetCollection> jets; |
108 |
< |
|
114 |
> |
edm::Handle<pat::JetCollection> patjets; |
115 |
|
|
116 |
|
edm::Service<TFileService> fs; |
117 |
|
|
118 |
|
}; |
119 |
|
|
120 |
+ |
bool HiJetResponseAnalyzer::selectJet(int i){ |
121 |
+ |
|
122 |
+ |
const reco::Jet& jet = (*jets)[i]; |
123 |
+ |
|
124 |
+ |
if(usePat_){ |
125 |
+ |
// cout<<"a"<<endl; |
126 |
+ |
const pat::Jet& patjet = (*patjets)[i]; |
127 |
+ |
// cout<<"b"<<endl; |
128 |
+ |
|
129 |
+ |
if(patjet.emEnergyFraction() <= emfMin_) return false; |
130 |
+ |
// cout<<"c"<<endl; |
131 |
+ |
|
132 |
+ |
if(patjet.jetID().n90Hits <= n90hitMin_) return false; |
133 |
+ |
// cout<<"d"<<endl; |
134 |
+ |
|
135 |
+ |
if(doMC_){ |
136 |
+ |
|
137 |
+ |
} |
138 |
+ |
|
139 |
+ |
} |
140 |
+ |
|
141 |
+ |
return true; |
142 |
+ |
|
143 |
+ |
} |
144 |
+ |
|
145 |
+ |
|
146 |
+ |
|
147 |
|
// |
148 |
|
// constants, enums and typedefs |
149 |
|
// |
159 |
|
|
160 |
|
{ |
161 |
|
//now do what ever initialization is needed |
129 |
– |
genJetPtMin_ = 0; |
162 |
|
|
163 |
+ |
ptMin_ = iConfig.getUntrackedParameter<double>("ptMin",0); |
164 |
+ |
genPtMin_ = iConfig.getUntrackedParameter<double>("genPtMin",0); |
165 |
+ |
emfMin_ = iConfig.getUntrackedParameter<double>("emfMin",0); |
166 |
+ |
n90Min_ = iConfig.getUntrackedParameter<double>("n90Min",0); |
167 |
+ |
n90hitMin_ = iConfig.getUntrackedParameter<double>("n90hitMin",0); |
168 |
+ |
|
169 |
+ |
filterJets_ = iConfig.getUntrackedParameter<bool>("filterJets",true); |
170 |
+ |
diJetsOnly_ = iConfig.getUntrackedParameter<bool>("diJetsOnly",true); |
171 |
+ |
matchDiJets_ = iConfig.getUntrackedParameter<bool>("usePat",true); |
172 |
|
usePat_ = iConfig.getUntrackedParameter<bool>("usePat",true); |
173 |
|
doMC_ = iConfig.getUntrackedParameter<bool>("doMC",true); |
133 |
– |
|
174 |
|
jetTag_ = iConfig.getUntrackedParameter<edm::InputTag>("src",edm::InputTag("selectedPatJets")); |
175 |
|
|
176 |
|
} |
196 |
|
using namespace edm; |
197 |
|
|
198 |
|
iEvent.getByLabel(jetTag_,jets); |
159 |
– |
|
160 |
– |
edm::Handle<pat::JetCollection> patjets; |
199 |
|
if(usePat_)iEvent.getByLabel(jetTag_,patjets); |
200 |
|
|
201 |
|
jra_.nref = 0; |
202 |
|
for(unsigned int j = 0 ; j < jets->size(); ++j){ |
203 |
|
|
204 |
|
// const pat::Jet& jet = (*jets)[j]; |
205 |
< |
const reco::Jet jet = (*jets)[j]; |
205 |
> |
if(filterJets_ && !selectJet(j)) continue; |
206 |
> |
|
207 |
> |
const reco::Jet& jet = (*jets)[j]; |
208 |
> |
|
209 |
|
jra_.jtpt[jra_.nref] = jet.pt(); |
210 |
|
jra_.jteta[jra_.nref] = jet.eta(); |
211 |
|
jra_.jtphi[jra_.nref] = jet.phi(); |
218 |
|
jra_.jtcorpt[jra_.nref] = patjet.pt(); |
219 |
|
|
220 |
|
if(doMC_ && patjet.genJet() != 0){ |
221 |
< |
// if(jet.genJet()->pt() < genJetPtMin_) continue; |
221 |
> |
if(patjet.genJet()->pt() < genPtMin_) continue; |
222 |
|
jra_.refpt[jra_.nref] = patjet.genJet()->pt(); |
223 |
|
jra_.refeta[jra_.nref] = patjet.genJet()->eta(); |
224 |
|
jra_.refphi[jra_.nref] = patjet.genJet()->phi(); |