5 |
|
|
6 |
|
#include "../interface/TRootParticle.h" |
7 |
|
|
8 |
– |
#include "Rtypes.h" |
9 |
– |
#include "TObject.h" |
10 |
– |
|
8 |
|
using namespace std; |
9 |
|
|
10 |
|
class TRootElectron : public TRootParticle |
28 |
|
,energySeedClusterOverPout_(-9999.) |
29 |
|
,energyScaleCorrected_(false) |
30 |
|
,momentumCorrected_(false) |
31 |
+ |
,pixelLayersWithMeasurement_(-1) |
32 |
+ |
,stripLayersWithMeasurement_(-1) |
33 |
|
,d0_(-9999.) |
34 |
|
,d0Error_(-9999.) |
35 |
|
,dsz_(-9999.) |
61 |
|
,isoR05_hadEt_(-9999.) |
62 |
|
,isoR05_sumPt_(-9999.) |
63 |
|
,isoR05_nTracks_(-9999) |
64 |
< |
,idPTDRLoose_(-9999.) |
65 |
< |
,idPTDRMedium_(-9999.) |
66 |
< |
,idPTDRTight_(-9999.) |
67 |
< |
,idCutBasedLoose_(-9999.) |
68 |
< |
,idCutBasedRobust_(-9999.) |
70 |
< |
,idCutBasedTight_(-9999.) |
64 |
> |
,idCutBasedFixedThresholdLoose_(-1) |
65 |
> |
,idCutBasedFixedThresholdTight_(-1) |
66 |
> |
,idCutBasedFixedThresholdHighEnergy_(-1) |
67 |
> |
,idCutBasedCategorizedLoose_(-1) |
68 |
> |
,idCutBasedCategorizedTight_(-1) |
69 |
|
,idLikelihood_(-9999.) |
70 |
|
,idNeuralNet_(-9999.) |
71 |
|
{;} |
86 |
|
,energySeedClusterOverPout_(electron.energySeedClusterOverPout_) |
87 |
|
,energyScaleCorrected_(electron.energyScaleCorrected_) |
88 |
|
,momentumCorrected_(electron.momentumCorrected_) |
89 |
+ |
,pixelLayersWithMeasurement_(electron.pixelLayersWithMeasurement_) |
90 |
+ |
,stripLayersWithMeasurement_(electron.stripLayersWithMeasurement_) |
91 |
|
,d0_(electron.d0_) |
92 |
|
,d0Error_(electron.d0Error_) |
93 |
|
,dsz_(electron.dsz_) |
119 |
|
,isoR05_hadEt_(electron.isoR05_hadEt_) |
120 |
|
,isoR05_sumPt_(electron.isoR05_sumPt_) |
121 |
|
,isoR05_nTracks_(electron.isoR05_nTracks_) |
122 |
< |
,idPTDRLoose_(electron.idPTDRLoose_) |
123 |
< |
,idPTDRMedium_(electron.idPTDRMedium_) |
124 |
< |
,idPTDRTight_(electron.idPTDRTight_) |
125 |
< |
,idCutBasedLoose_(electron.idCutBasedLoose_) |
126 |
< |
,idCutBasedRobust_(electron.idCutBasedRobust_) |
127 |
< |
,idCutBasedTight_(electron.idCutBasedTight_) |
122 |
> |
,idCutBasedFixedThresholdLoose_(electron.idCutBasedFixedThresholdLoose_) |
123 |
> |
,idCutBasedFixedThresholdTight_(electron.idCutBasedFixedThresholdTight_) |
124 |
> |
,idCutBasedFixedThresholdHighEnergy_(electron.idCutBasedFixedThresholdHighEnergy_) |
125 |
> |
,idCutBasedCategorizedLoose_(electron.idCutBasedCategorizedLoose_) |
126 |
> |
,idCutBasedCategorizedTight_(electron.idCutBasedCategorizedTight_) |
127 |
|
,idLikelihood_(electron.idLikelihood_) |
128 |
|
,idNeuralNet_(electron.idNeuralNet_) |
129 |
|
{;} |
144 |
|
,energySeedClusterOverPout_(-9999.) |
145 |
|
,energyScaleCorrected_(false) |
146 |
|
,momentumCorrected_(false) |
147 |
+ |
,pixelLayersWithMeasurement_(-1) |
148 |
+ |
,stripLayersWithMeasurement_(-1) |
149 |
|
,d0_(-9999.) |
150 |
|
,d0Error_(-9999.) |
151 |
|
,dsz_(-9999.) |
177 |
|
,isoR05_hadEt_(-9999.) |
178 |
|
,isoR05_sumPt_(-9999.) |
179 |
|
,isoR05_nTracks_(-9999) |
180 |
< |
,idPTDRLoose_(-9999.) |
181 |
< |
,idPTDRMedium_(-9999.) |
182 |
< |
,idPTDRTight_(-9999.) |
183 |
< |
,idCutBasedLoose_(-9999.) |
184 |
< |
,idCutBasedRobust_(-9999.) |
184 |
< |
,idCutBasedTight_(-9999.) |
180 |
> |
,idCutBasedFixedThresholdLoose_(-1) |
181 |
> |
,idCutBasedFixedThresholdTight_(-1) |
182 |
> |
,idCutBasedFixedThresholdHighEnergy_(-1) |
183 |
> |
,idCutBasedCategorizedLoose_(-1) |
184 |
> |
,idCutBasedCategorizedTight_(-1) |
185 |
|
,idLikelihood_(-9999.) |
186 |
|
,idNeuralNet_(-9999.) |
187 |
|
{;} |
202 |
|
,energySeedClusterOverPout_(-9999.) |
203 |
|
,energyScaleCorrected_(false) |
204 |
|
,momentumCorrected_(false) |
205 |
+ |
,pixelLayersWithMeasurement_(-1) |
206 |
+ |
,stripLayersWithMeasurement_(-1) |
207 |
|
,d0_(-9999.) |
208 |
|
,d0Error_(-9999.) |
209 |
|
,dsz_(-9999.) |
235 |
|
,isoR05_hadEt_(-9999.) |
236 |
|
,isoR05_sumPt_(-9999.) |
237 |
|
,isoR05_nTracks_(-9999) |
238 |
< |
,idPTDRLoose_(-9999.) |
239 |
< |
,idPTDRMedium_(-9999.) |
240 |
< |
,idPTDRTight_(-9999.) |
241 |
< |
,idCutBasedLoose_(-9999.) |
242 |
< |
,idCutBasedRobust_(-9999.) |
241 |
< |
,idCutBasedTight_(-9999.) |
238 |
> |
,idCutBasedFixedThresholdLoose_(-1) |
239 |
> |
,idCutBasedFixedThresholdTight_(-1) |
240 |
> |
,idCutBasedFixedThresholdHighEnergy_(-1) |
241 |
> |
,idCutBasedCategorizedLoose_(-1) |
242 |
> |
,idCutBasedCategorizedTight_(-1) |
243 |
|
,idLikelihood_(-9999.) |
244 |
|
,idNeuralNet_(-9999.) |
245 |
|
{;} |
260 |
|
,energySeedClusterOverPout_(-9999.) |
261 |
|
,energyScaleCorrected_(false) |
262 |
|
,momentumCorrected_(false) |
263 |
+ |
,pixelLayersWithMeasurement_(-1) |
264 |
+ |
,stripLayersWithMeasurement_(-1) |
265 |
|
,d0_(-9999.) |
266 |
|
,d0Error_(-9999.) |
267 |
|
,dsz_(-9999.) |
293 |
|
,isoR05_hadEt_(-9999.) |
294 |
|
,isoR05_sumPt_(-9999.) |
295 |
|
,isoR05_nTracks_(-9999) |
296 |
< |
,idPTDRLoose_(-9999.) |
297 |
< |
,idPTDRMedium_(-9999.) |
298 |
< |
,idPTDRTight_(-9999.) |
299 |
< |
,idCutBasedLoose_(-9999.) |
300 |
< |
,idCutBasedRobust_(-9999.) |
298 |
< |
,idCutBasedTight_(-9999.) |
296 |
> |
,idCutBasedFixedThresholdLoose_(-1) |
297 |
> |
,idCutBasedFixedThresholdTight_(-1) |
298 |
> |
,idCutBasedFixedThresholdHighEnergy_(-1) |
299 |
> |
,idCutBasedCategorizedLoose_(-1) |
300 |
> |
,idCutBasedCategorizedTight_(-1) |
301 |
|
,idLikelihood_(-9999.) |
302 |
|
,idNeuralNet_(-9999.) |
303 |
|
{;} |
318 |
|
,energySeedClusterOverPout_(-9999.) |
319 |
|
,energyScaleCorrected_(false) |
320 |
|
,momentumCorrected_(false) |
321 |
+ |
,pixelLayersWithMeasurement_(-1) |
322 |
+ |
,stripLayersWithMeasurement_(-1) |
323 |
|
,d0_(-9999.) |
324 |
|
,d0Error_(-9999.) |
325 |
|
,dsz_(-9999.) |
351 |
|
,isoR05_hadEt_(-9999.) |
352 |
|
,isoR05_sumPt_(-9999.) |
353 |
|
,isoR05_nTracks_(-9999) |
354 |
< |
,idPTDRLoose_(-9999.) |
355 |
< |
,idPTDRMedium_(-9999.) |
356 |
< |
,idPTDRTight_(-9999.) |
357 |
< |
,idCutBasedLoose_(-9999.) |
358 |
< |
,idCutBasedRobust_(-9999.) |
355 |
< |
,idCutBasedTight_(-9999.) |
354 |
> |
,idCutBasedFixedThresholdLoose_(-1) |
355 |
> |
,idCutBasedFixedThresholdTight_(-1) |
356 |
> |
,idCutBasedFixedThresholdHighEnergy_(-1) |
357 |
> |
,idCutBasedCategorizedLoose_(-1) |
358 |
> |
,idCutBasedCategorizedTight_(-1) |
359 |
|
,idLikelihood_(-9999.) |
360 |
|
,idNeuralNet_(-9999.) |
361 |
|
{;} |
376 |
|
,energySeedClusterOverPout_(-9999.) |
377 |
|
,energyScaleCorrected_(false) |
378 |
|
,momentumCorrected_(false) |
379 |
+ |
,pixelLayersWithMeasurement_(-1) |
380 |
+ |
,stripLayersWithMeasurement_(-1) |
381 |
|
,d0_(-9999.) |
382 |
|
,d0Error_(-9999.) |
383 |
|
,dsz_(-9999.) |
409 |
|
,isoR05_hadEt_(-9999.) |
410 |
|
,isoR05_sumPt_(-9999.) |
411 |
|
,isoR05_nTracks_(-9999) |
412 |
< |
,idPTDRLoose_(-9999.) |
413 |
< |
,idPTDRMedium_(-9999.) |
414 |
< |
,idPTDRTight_(-9999.) |
415 |
< |
,idCutBasedLoose_(-9999.) |
416 |
< |
,idCutBasedRobust_(-9999.) |
412 |
< |
,idCutBasedTight_(-9999.) |
412 |
> |
,idCutBasedFixedThresholdLoose_(-1) |
413 |
> |
,idCutBasedFixedThresholdTight_(-1) |
414 |
> |
,idCutBasedFixedThresholdHighEnergy_(-1) |
415 |
> |
,idCutBasedCategorizedLoose_(-1) |
416 |
> |
,idCutBasedCategorizedTight_(-1) |
417 |
|
,idLikelihood_(-9999.) |
418 |
|
,idNeuralNet_(-9999.) |
419 |
|
{;} |
435 |
|
Float_t energySeedClusterOverPout() const { return energySeedClusterOverPout_ ;} |
436 |
|
Bool_t energyScaleCorrected() const { return energyScaleCorrected_ ;} |
437 |
|
Bool_t momentumCorrected() const { return momentumCorrected_ ;} |
438 |
+ |
|
439 |
+ |
Int_t pixelLayersWithMeasurement() const { return pixelLayersWithMeasurement_; } |
440 |
+ |
Int_t stripLayersWithMeasurement() const { return stripLayersWithMeasurement_; } |
441 |
|
Float_t d0() const { return d0_ ;} |
442 |
|
Float_t d0Error() const { return d0Error_ ;} |
443 |
|
Float_t dsz() const { return dsz_ ;} |
446 |
|
Float_t ptError() const { return ptError_ ;} |
447 |
|
Float_t etaError() const { return etaError_ ;} |
448 |
|
Float_t phiError() const { return phiError_ ;} |
449 |
+ |
|
450 |
|
Int_t nbClusters() const { return nbClusters_ ;} |
451 |
|
Float_t superClusterRawEnergy() const { return superClusterRawEnergy_ ;} |
452 |
|
Float_t preshowerEnergy() const { return preshowerEnergy_ ;} |
470 |
|
Float_t isoR05_hadEt() const { return isoR05_hadEt_ ;} |
471 |
|
Float_t isoR05_sumPt() const { return isoR05_sumPt_ ;} |
472 |
|
Int_t isoR05_nTracks() const { return isoR05_nTracks_ ;} |
473 |
< |
Float_t idPTDRLoose() const { return idPTDRLoose_ ;} |
474 |
< |
Float_t idPTDRMedium() const { return idPTDRMedium_ ;} |
475 |
< |
Float_t idPTDRTight() const { return idPTDRTight_ ;} |
476 |
< |
Float_t idCutBasedLoose() const { return idCutBasedLoose_ ;} |
477 |
< |
Float_t idCutBasedRobust() const { return idCutBasedRobust_ ;} |
470 |
< |
Float_t idCutBasedTight() const { return idCutBasedTight_ ;} |
473 |
> |
Int_t idCutBasedFixedThresholdLoose() const { return idCutBasedFixedThresholdLoose_ ;} |
474 |
> |
Int_t idCutBasedFixedThresholdTight() const { return idCutBasedFixedThresholdTight_ ;} |
475 |
> |
Int_t idCutBasedFixedThresholdHighEnergy() const { return idCutBasedFixedThresholdHighEnergy_ ;} |
476 |
> |
Int_t idCutBasedCategorizedLoose() const { return idCutBasedCategorizedLoose_ ;} |
477 |
> |
Int_t idCutBasedCategorizedTight() const { return idCutBasedCategorizedTight_ ;} |
478 |
|
Float_t idLikelihood() const { return idLikelihood_ ;} |
479 |
|
Float_t idNeuralNet() const { return idNeuralNet_ ;} |
480 |
|
|
495 |
|
void setEnergySeedClusterOverPout(Float_t energySeedClusterOverPout) { energySeedClusterOverPout_ = energySeedClusterOverPout; } |
496 |
|
void setEnergyScaleCorrected(Bool_t energyScaleCorrected) { energyScaleCorrected_ = energyScaleCorrected; } |
497 |
|
void setMomentumCorrected(Bool_t momentumCorrected) { momentumCorrected_ = momentumCorrected; } |
498 |
+ |
|
499 |
+ |
void setPixelLayersWithMeasurement(Int_t pixelLayersWithMeasurement) { pixelLayersWithMeasurement_ = pixelLayersWithMeasurement; } |
500 |
+ |
void setStripLayersWithMeasurement(Int_t stripLayersWithMeasurement) { stripLayersWithMeasurement_ = stripLayersWithMeasurement; } |
501 |
|
void setD0(Float_t d0) { d0_ = d0; } |
502 |
|
void setD0Error(Float_t d0Error) { d0Error_ = d0Error; } |
503 |
|
void setDsz(Float_t dsz) { dsz_ = dsz; } |
506 |
|
void setPtError(Float_t ptError) { ptError_ = ptError; } |
507 |
|
void setEtaError(Float_t etaError) { etaError_ = etaError; } |
508 |
|
void setPhiError(Float_t phiError) { phiError_ = phiError; } |
509 |
+ |
|
510 |
|
void setNbClusters(Int_t nbClusters) { nbClusters_ = nbClusters; } |
511 |
|
void setSuperClusterRawEnergy(Float_t superClusterRawEnergy) { superClusterRawEnergy_ = superClusterRawEnergy; } |
512 |
|
void setPreshowerEnergy(Float_t preshowerEnergy) { preshowerEnergy_ = preshowerEnergy; } |
531 |
|
void setIsoR05_hadEt(Float_t isoR05_hadEt) { isoR05_hadEt_ = isoR05_hadEt; } |
532 |
|
void setIsoR05_sumPt(Float_t isoR05_sumPt) { isoR05_sumPt_ = isoR05_sumPt; } |
533 |
|
void setIsoR05_nTracks(Int_t isoR05_nTracks) { isoR05_nTracks_ = isoR05_nTracks; } |
534 |
< |
void setIDPTDRLoose(Float_t idPTDRLoose) { idPTDRLoose_ = idPTDRLoose; } |
535 |
< |
void setIDPTDRMedium(Float_t idPTDRMedium) { idPTDRMedium_ = idPTDRMedium; } |
536 |
< |
void setIDPTDRTight(Float_t idPTDRTight) { idPTDRTight_ = idPTDRTight; } |
537 |
< |
void setIDCutBasedLoose(Float_t idCutBasedLoose) { idCutBasedLoose_ = idCutBasedLoose; } |
538 |
< |
void setIDCutBasedRobust(Float_t idCutBasedRobust) { idCutBasedRobust_ = idCutBasedRobust; } |
528 |
< |
void setIDCutBasedTight(Float_t idCutBasedTight) { idCutBasedTight_ = idCutBasedTight; } |
534 |
> |
void setIDCutBasedFixedThresholdLoose(Int_t idCutBasedFixedThresholdLoose) { idCutBasedFixedThresholdLoose_ = idCutBasedFixedThresholdLoose; } |
535 |
> |
void setIDCutBasedFixedThresholdTight(Int_t idCutBasedFixedThresholdTight) { idCutBasedFixedThresholdTight_ = idCutBasedFixedThresholdTight; } |
536 |
> |
void setIDCutBasedFixedThresholdHighEnergy(Int_t idCutBasedFixedThresholdHighEnergy) { idCutBasedFixedThresholdHighEnergy_ = idCutBasedFixedThresholdHighEnergy; } |
537 |
> |
void setIDCutBasedCategorizedLoose(Int_t idCutBasedCategorizedLoose) { idCutBasedCategorizedLoose_ = idCutBasedCategorizedLoose; } |
538 |
> |
void setIDCutBasedCategorizedTight(Int_t idCutBasedCategorizedTight) { idCutBasedCategorizedTight_ = idCutBasedCategorizedTight; } |
539 |
|
void setIDLikelihood(Float_t idLikelihood) { idLikelihood_ = idLikelihood; } |
540 |
|
void setIDNeuralNet(Float_t idNeuralNet) { idNeuralNet_ = idNeuralNet; } |
541 |
|
|
614 |
|
This is usually true for Tracker tracks. |
615 |
|
- When the track has infinite or extremely high momentum */ |
616 |
|
|
617 |
+ |
Int_t pixelLayersWithMeasurement_; // Number of pixel layers with at least one valid hit |
618 |
+ |
Int_t stripLayersWithMeasurement_; // Number of strip layers with at least one valid hit |
619 |
+ |
|
620 |
|
Float_t d0_; // d0=-dxy |
621 |
|
Float_t d0Error_; // error on d0_ |
622 |
|
Float_t dsz_; // dsz parameter |
666 |
|
|
667 |
|
|
668 |
|
// pat::Electron ID (cf https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideElectronID) |
669 |
< |
Float_t idPTDRLoose_; |
670 |
< |
Float_t idPTDRMedium_; |
671 |
< |
Float_t idPTDRTight_; |
672 |
< |
Float_t idCutBasedLoose_; |
673 |
< |
Float_t idCutBasedRobust_; |
674 |
< |
Float_t idCutBasedTight_; |
675 |
< |
Float_t idLikelihood_; |
676 |
< |
Float_t idNeuralNet_; |
669 |
> |
// By default in 2.2.X, only cut based identification is available in pat (https://twiki.cern.ch/twiki/bin/view/CMS/SWGuideCutBasedElectronID |
670 |
> |
Int_t idCutBasedFixedThresholdLoose_; // Simple cut based ID (aka 'robust') - Loose Thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta |
671 |
> |
Int_t idCutBasedFixedThresholdTight_; // Simple cut based ID (default in EWK group) - Tight Thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta |
672 |
> |
Int_t idCutBasedFixedThresholdHighEnergy_; // Simple cut based ID - Thresholds optimized for high energy electron (~TeV) |
673 |
> |
Int_t idCutBasedCategorizedLoose_; // Category based ID - Different loose thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta, eSeedOverPin for differents regions in the E/p vs fBrem plane |
674 |
> |
Int_t idCutBasedCategorizedTight_; // Category based ID - Different tight thresholds on H/E, DeltaEta, DeltaPhi, SigmaEtaEta, eSeedOverPin for differents regions in the E/p vs fBrem plane |
675 |
> |
Float_t idLikelihood_; // Lieklihood ID - not activated by default in 2.2.X |
676 |
> |
Float_t idNeuralNet_; // NN ID - not activated by default in 2.2.X |
677 |
|
|
678 |
+ |
|
679 |
|
// Matched genParticle |
680 |
|
TLorentzVector momentumMCElectron_; |
681 |
|
TVector3 vertexMCElectron_; |
686 |
|
//Float_t sigmaPhiPhi_; |
687 |
|
|
688 |
|
|
689 |
< |
ClassDef (TRootElectron,1); |
689 |
> |
ClassDef (TRootElectron,3); |
690 |
|
}; |
691 |
|
|
692 |
|
#endif |