84 reco::SuperClusterCollection::const_iterator maxclusbarrel;
85 reco::SuperClusterCollection::const_iterator maxclusendcap;
87 double vetmax = -100.;
91 pCorrectedIslandBarrelSuperClusters);
92 if (!pCorrectedIslandBarrelSuperClusters.isValid()) {
95 *pCorrectedIslandBarrelSuperClusters;
101 maxclusbarrel = correctedIslandBarrelSuperClusters->begin();
102 for(reco::SuperClusterCollection::const_iterator aClus = correctedIslandBarrelSuperClusters->begin();
103 aClus != correctedIslandBarrelSuperClusters->end(); aClus++) {
104 double vet = aClus->energy()/cosh(aClus->eta());
105 cout<<
" Barrel supercluster " << vet <<
" energy "<<aClus->energy()<<
" eta "<<aClus->eta()<<endl;
110 maxclusbarrel = aClus;
121 pCorrectedIslandEndcapSuperClusters);
122 if (!pCorrectedIslandEndcapSuperClusters.isValid()) {
125 *pCorrectedIslandEndcapSuperClusters;
131 maxclusendcap = correctedIslandEndcapSuperClusters->end();
132 double vetmaxe = vetmax;
133 for(reco::SuperClusterCollection::const_iterator aClus = correctedIslandEndcapSuperClusters->begin();
134 aClus != correctedIslandEndcapSuperClusters->end(); aClus++) {
135 double vet = aClus->energy()/cosh(aClus->eta());
141 maxclusendcap = aClus;
148 cout<<
" Number of gammas "<<nclusb<<
" "<<ncluse<<endl;
150 if( nclusb == 0 && ncluse == 0 ) {
152 iEvent.
put( outputTColl,
"GammaJetTracksCollection");
153 iEvent.
put( miniEcalRecHitCollection,
"GammaJetEcalRecHitCollection");
154 iEvent.
put( miniHBHERecHitCollection,
"GammaJetHBHERecHitCollection");
155 iEvent.
put( miniHORecHitCollection,
"GammaJetHORecHitCollection");
156 iEvent.
put( miniHFRecHitCollection,
"GammaJetHFRecHitCollection");
157 iEvent.
put(
result,
"GammaJetGammaBackToBackCollection");
158 iEvent.
put( resultjet,
"GammaJetJetBackToBackCollection");
163 double phigamma = -100.;
164 double etagamma = -100.;
167 result->push_back(*maxclusendcap);
168 phigamma = (*maxclusendcap).phi();
169 etagamma = (*maxclusendcap).eta();
173 result->push_back(*maxclusbarrel);
174 phigamma = (*maxclusbarrel).phi();
175 etagamma = (*maxclusbarrel).eta();
185 double phijet = -100.;
186 double etajet = -100.;
187 double phijet0 = -100.;
188 double etajet0 = -100.;
190 std::vector<edm::InputTag>::const_iterator ic;
201 reco::CaloJetCollection::const_iterator
jet = jets->begin ();
205 if( jets->size() == 0 )
continue;
210 for (; jet != jets->end (); jet++)
212 phijet0 = (*jet).phi();
213 etajet0 = (*jet).eta();
217 if(numjet > 3)
break;
219 cout<<
" phi,eta "<< phigamma<<
" "<< etagamma<<
" "<<phijet0<<
" "<<etajet0<<endl;
223 double dphi = fabs(phigamma-phijet0);
224 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
225 double deta = fabs(etagamma-etajet0);
226 double dr =
sqrt(dphi*dphi+deta*deta);
227 if(dr < 0.5 )
continue;
228 resultjet->push_back ((*jet));
230 dphi = dphi*180./(4.*atan(1.));
231 if( fabs(dphi-180) < 30. )
235 phijet = (*jet).phi();
236 etajet = (*jet).eta();
239 if(iejet == 0) resultjet->clear();
243 if( resultjet->size() == 0 ) {
245 iEvent.
put( outputTColl,
"GammaJetTracksCollection");
246 iEvent.
put( miniEcalRecHitCollection,
"GammaJetEcalRecHitCollection");
247 iEvent.
put( miniHBHERecHitCollection,
"GammaJetHBHERecHitCollection");
248 iEvent.
put( miniHORecHitCollection,
"GammaJetHORecHitCollection");
249 iEvent.
put( miniHFRecHitCollection,
"GammaJetHFRecHitCollection");
250 iEvent.
put(
result,
"GammaJetGammaBackToBackCollection");
251 iEvent.
put( resultjet,
"GammaJetJetBackToBackCollection");
263 std::vector<edm::InputTag>::const_iterator
i;
270 cout<<
" No ECAL input "<<endl;
275 recHit != (*ec).end(); ++recHit)
279 double phihit = pos.
phi();
280 double etahit = pos.
eta();
282 double dphi = fabs(phigamma - phihit);
283 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
284 double deta = fabs(etagamma - etahit);
285 double dr =
sqrt(dphi*dphi + deta*deta);
286 if(dr<1.) miniEcalRecHitCollection->push_back(*recHit);
288 dphi = fabs(phijet - phihit);
289 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
290 deta = fabs(etajet - etahit);
291 dr =
sqrt(dphi*dphi + deta*deta);
292 if(dr<1.4) miniEcalRecHitCollection->push_back(*recHit);
302 if (!hbhe.isValid()) {
312 double phihit = pos.
phi();
313 double etahit = pos.
eta();
315 double dphi = fabs(phigamma - phihit);
316 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
317 double deta = fabs(etagamma - etahit);
318 double dr =
sqrt(dphi*dphi + deta*deta);
321 if(dr<1.) miniHBHERecHitCollection->push_back(*hbheItr);
322 dphi = fabs(phijet - phihit);
323 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
324 deta = fabs(etajet - etahit);
325 dr =
sqrt(dphi*dphi + deta*deta);
326 if(dr<1.4) miniHBHERecHitCollection->push_back(*hbheItr);
344 double phihit = pos.
phi();
345 double etahit = pos.
eta();
347 double dphi = fabs(phigamma - phihit);
348 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
349 double deta = fabs(etagamma - etahit);
350 double dr =
sqrt(dphi*dphi + deta*deta);
352 if(dr<1.) miniHORecHitCollection->push_back(*hoItr);
353 dphi = fabs(phijet - phihit);
354 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
355 deta = fabs(etajet - etahit);
356 dr =
sqrt(dphi*dphi + deta*deta);
357 if(dr<1.4) miniHORecHitCollection->push_back(*hoItr);
378 double phihit = pos.
phi();
379 double etahit = pos.
eta();
381 double dphi = fabs(phigamma - phihit);
382 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
383 double deta = fabs(etagamma - etahit);
384 double dr =
sqrt(dphi*dphi + deta*deta);
386 if(dr<1.) miniHFRecHitCollection->push_back(*hfItr);
387 dphi = fabs(phijet - phihit);
388 if(dphi > 4.*atan(1.)) dphi = 8.*atan(1.) - dphi;
389 deta = fabs(etajet - etahit);
390 dr =
sqrt(dphi*dphi + deta*deta);
392 if( dr < 1.4 ) miniHFRecHitCollection->push_back(*hfItr);
402 if (!trackCollection.isValid()) {
413 for (reco::TrackCollection::const_iterator track=tC.begin(); track!=tC.end(); track++)
416 double deta = track->momentum().eta() - etagamma;
418 double dphi = fabs(track->momentum().phi() - phigamma);
420 if (dphi > atan(1.)*4.) dphi = 8.*atan(1.) - dphi;
421 double ddir1 =
sqrt(deta*deta+dphi*dphi);
425 deta = track->momentum().eta() - etajet;
426 dphi = fabs(track->momentum().phi() - phijet);
427 if (dphi > atan(1.)*4.) dphi = 8.*atan(1.) - dphi;
428 double ddir2 =
sqrt(deta*deta+dphi*dphi);
430 if( ddir1 < 1.4 || ddir2 < 1.4)
432 outputTColl->push_back(*track);
439 iEvent.
put( outputTColl,
"GammaJetTracksCollection");
440 iEvent.
put( miniEcalRecHitCollection,
"GammaJetEcalRecHitCollection");
441 iEvent.
put( miniHBHERecHitCollection,
"GammaJetHBHERecHitCollection");
442 iEvent.
put( miniHORecHitCollection,
"GammaJetHORecHitCollection");
443 iEvent.
put( miniHFRecHitCollection,
"GammaJetHFRecHitCollection");
444 iEvent.
put(
result,
"GammaJetGammaBackToBackCollection");
445 iEvent.
put( resultjet,
"GammaJetJetBackToBackCollection");
std::string correctedIslandEndcapSuperClusterCollection_
Geom::Phi< T > phi() const
std::vector< Track > TrackCollection
collection of Tracks
std::vector< EcalRecHit >::const_iterator const_iterator
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
const GlobalPoint & getPosition(const DetId &id) const
Get the position of a given detector id.
std::string m_inputTrackLabel
std::vector< edm::InputTag > ecalLabels_
tuple correctedIslandEndcapSuperClusters
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::vector< edm::InputTag > mInputCalo
const_iterator end() const
tuple correctedIslandBarrelSuperClusters
std::string correctedIslandBarrelSuperClusterProducer_
std::string correctedIslandEndcapSuperClusterProducer_
std::string correctedIslandBarrelSuperClusterCollection_
const_iterator begin() const
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects