![]() |
![]() |
#include <CaloTriggerAnalyzer.h>
Public Member Functions | |
CaloTriggerAnalyzer (const edm::ParameterSet &) | |
~CaloTriggerAnalyzer () | |
Private Member Functions | |
virtual void | analyze (const edm::Event &, const edm::EventSetup &) |
Private Attributes | |
TH1F * | absEta |
TH1F * | dEta |
TH1F * | dPhi |
TH1F * | dPt |
TH1F * | dR |
double | DR_ |
TH1F * | eta |
TH1F * | etaDenom |
TH1F * | etaNum |
float | highestGenPt |
TH1F * | highestPt |
TH1F * | highestPtGen |
float | highPt |
double | maxEta_ |
TH1F * | pt |
TH1F * | ptDenom |
TH1F * | ptNum |
edm::InputTag | ref_ |
TH1F * | RPt |
TProfile * | RPtEta |
TProfile * | RPtEtaFull |
float | secondGenPt |
TH1F * | secondPt |
float | secondPtf |
TH1F * | secondPtGen |
edm::InputTag | src_ |
double | threshold_ |
Definition at line 24 of file CaloTriggerAnalyzer.h.
CaloTriggerAnalyzer::CaloTriggerAnalyzer | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 8 of file CaloTriggerAnalyzer.cc.
References absEta, dEta, dPhi, dPt, dR, etaDenom, etaNum, highestPt, highestPtGen, pt, ptDenom, ptNum, RPt, RPtEta, RPtEtaFull, secondPt, and secondPtGen.
: src_(iConfig.getParameter<edm::InputTag>("src")), ref_(iConfig.getParameter<edm::InputTag>("ref")), DR_(iConfig.getParameter<double>("deltaR")), threshold_(iConfig.getParameter<double>("threshold")), maxEta_(iConfig.getUntrackedParameter<double>("maxEta",2.5)) { //now do what ever initialization is needed edm::Service<TFileService> fs; ptNum = fs->make<TH1F>( "ptNum" , "ptNum" , 20 , 0., 100. ); ptDenom = fs->make<TH1F>( "ptDenom" , "ptDenom" , 20 , 0., 100. ); etaNum = fs->make<TH1F>( "etaNum" , "etaNum" , 20 , -2.5, 2.5 ); etaDenom = fs->make<TH1F>( "etaDenom", "etaDenom", 20 , -2.5, 2.5 ); pt = fs->make<TH1F>( "pt" , "pt", 20 , 0. , 100. ); highestPt= fs->make<TH1F>( "highestPt" , "highestPt", 50 , 0. , 100. ); secondPt = fs->make<TH1F>( "secondHighestPt", "secondHighestPt", 50 , 0. , 100. ); highestPtGen=fs->make<TH1F>("highestPtGen","highestPtGen",100, 0., 200.); secondPtGen=fs->make<TH1F>("secondPtGen","secondPtGen",100, 0., 200.); dPt = fs->make<TH1F>( "dPt" , "dPt", 50 , -1 , 1 ); dEta = fs->make<TH1F>( "dEta" , "dEta", 50 , -0.5 , 0.5 ); dPhi = fs->make<TH1F>( "dPhi" , "dPhi", 50 , -0.5 , 0.5 ); RPt = fs->make<TH1F>("RPt", "Pt_Ratio", 10, 0, 2.); RPtEta = fs->make<TProfile>("RPtEta","Pt_Ratio as fcn of abs(eta)",13,0.0,2.6,0,2); RPtEtaFull = fs->make<TProfile>("RPtEtaFull","Pt_Ratio as fcn of eta",26,-2.6,2.6,0,2); absEta = fs->make<TH1F>("abseta","abs(eta)",13,0.,2.6); dR = fs->make<TH1F>("dR","delta(R)",50,0,2); }
CaloTriggerAnalyzer::~CaloTriggerAnalyzer | ( | ) |
Definition at line 39 of file CaloTriggerAnalyzer.cc.
{ // do anything here that needs to be done at desctruction time // (e.g. close files, deallocate resources etc.) }
void CaloTriggerAnalyzer::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [private, virtual] |
Implements edm::EDAnalyzer.
Definition at line 54 of file CaloTriggerAnalyzer.cc.
References absEta, dEta, dPhi, dPt, dR, DR_, etaDenom, etaNum, edm::Event::getByLabel(), highestGenPt, highestPt, highestPtGen, highPt, i, j, maxEta_, pt, ptDenom, ptNum, ref_, RPt, RPtEta, RPtEtaFull, secondGenPt, secondPt, secondPtf, secondPtGen, alcazmumu_cfi::src, src_, and threshold_.
{ // std::cout << src_ << std::endl; edm::Handle<edm::View<reco::Candidate> > ref; edm::Handle<edm::View<reco::Candidate> > src; bool gotRef = iEvent.getByLabel(ref_,ref); bool gotSrc = iEvent.getByLabel(src_,src); if(gotSrc) { highPt=0; secondPtf=0; for(edm::View<reco::Candidate>::const_iterator i = src->begin(); i!= src->end();++i) { pt->Fill(i->pt()); if (i->pt()>highPt){ secondPtf=highPt; highPt=i->pt(); } else if (i->pt()>secondPtf){ secondPtf=i->pt(); } } if(src->size()>0) highestPt->Fill(highPt); else highestPt->Fill(0.0); if(src->size()>1) secondPt->Fill(secondPtf); else secondPt->Fill(0.0); } if(gotRef) { //get highest Pt gen object--loop over all to make sure it's the highest! highestGenPt=-1.0; secondGenPt=-1.0; for(edm::View<reco::Candidate>::const_iterator i = ref->begin(); i!= ref->end();++i){ if (i->pt()>highestGenPt){ highestGenPt=i->pt(); highestPtGen->Fill(i->pt()); } else if (i->pt()>secondGenPt){ secondGenPt=i->pt(); secondPtGen->Fill(i->pt()); } if(fabs(i->eta())<maxEta_&&i->pt()>threshold_/2.) { ptDenom->Fill(i->pt()); etaDenom->Fill(i->eta()); // printf("ref pt = %f eta = %f phi = %f\n",i->pt(),i->eta(),i->phi()); if(gotSrc) { bool matched=false; math::XYZTLorentzVector highestV(0.0001,0.,0.,0.0002); for(edm::View<reco::Candidate>::const_iterator j = src->begin(); j!= src->end();++j) { dR->Fill(ROOT::Math::VectorUtil::DeltaR(i->p4(),j->p4())); if(j->pt()>threshold_) { if(ROOT::Math::VectorUtil::DeltaR(i->p4(),j->p4())<DR_) { // printf("matched pt = %f eta = %f phi = %f\n",j->pt(),j->eta(),j->phi()); if(j->pt()>highestV.pt()) highestV = j->p4(); matched=true; } } } if(matched) { RPt->Fill(i->pt()/highestV.pt()); RPtEtaFull->Fill(highestV.eta(), i->pt()/highestV.pt()); RPtEta->Fill(fabs(highestV.eta()), i->pt()/highestV.pt()); // printf("matched abs(eta) = %f \n", fabs(highestV.eta()) ); absEta->Fill(fabs(highestV.eta())); dPt->Fill((highestV.pt()-i->pt())/i->pt()); dEta->Fill(highestV.eta()-i->eta()); dPhi->Fill(highestV.phi()-i->phi()); ptNum->Fill(i->pt()); etaNum->Fill(i->eta()); } } } } } }
TH1F* CaloTriggerAnalyzer::absEta [private] |
Definition at line 58 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TH1F* CaloTriggerAnalyzer::dEta [private] |
Definition at line 51 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TH1F* CaloTriggerAnalyzer::dPhi [private] |
Definition at line 52 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TH1F* CaloTriggerAnalyzer::dPt [private] |
Definition at line 50 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TH1F* CaloTriggerAnalyzer::dR [private] |
Definition at line 59 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
double CaloTriggerAnalyzer::DR_ [private] |
Definition at line 35 of file CaloTriggerAnalyzer.h.
Referenced by analyze().
TH1F* CaloTriggerAnalyzer::eta [private] |
Definition at line 43 of file CaloTriggerAnalyzer.h.
TH1F* CaloTriggerAnalyzer::etaDenom [private] |
Definition at line 48 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TH1F* CaloTriggerAnalyzer::etaNum [private] |
Definition at line 47 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
float CaloTriggerAnalyzer::highestGenPt [private] |
Definition at line 39 of file CaloTriggerAnalyzer.h.
Referenced by analyze().
TH1F* CaloTriggerAnalyzer::highestPt [private] |
Definition at line 53 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TH1F* CaloTriggerAnalyzer::highestPtGen [private] |
Definition at line 55 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
float CaloTriggerAnalyzer::highPt [private] |
Definition at line 41 of file CaloTriggerAnalyzer.h.
Referenced by analyze().
double CaloTriggerAnalyzer::maxEta_ [private] |
Definition at line 37 of file CaloTriggerAnalyzer.h.
Referenced by analyze().
TH1F* CaloTriggerAnalyzer::pt [private] |
Definition at line 49 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TH1F* CaloTriggerAnalyzer::ptDenom [private] |
Definition at line 46 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TH1F* CaloTriggerAnalyzer::ptNum [private] |
Definition at line 45 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
edm::InputTag CaloTriggerAnalyzer::ref_ [private] |
Definition at line 34 of file CaloTriggerAnalyzer.h.
Referenced by analyze().
TH1F* CaloTriggerAnalyzer::RPt [private] |
Definition at line 57 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TProfile* CaloTriggerAnalyzer::RPtEta [private] |
Definition at line 60 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
TProfile* CaloTriggerAnalyzer::RPtEtaFull [private] |
Definition at line 61 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
float CaloTriggerAnalyzer::secondGenPt [private] |
Definition at line 40 of file CaloTriggerAnalyzer.h.
Referenced by analyze().
TH1F* CaloTriggerAnalyzer::secondPt [private] |
Definition at line 54 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
float CaloTriggerAnalyzer::secondPtf [private] |
Definition at line 42 of file CaloTriggerAnalyzer.h.
Referenced by analyze().
TH1F* CaloTriggerAnalyzer::secondPtGen [private] |
Definition at line 56 of file CaloTriggerAnalyzer.h.
Referenced by analyze(), and CaloTriggerAnalyzer().
edm::InputTag CaloTriggerAnalyzer::src_ [private] |
Definition at line 33 of file CaloTriggerAnalyzer.h.
Referenced by analyze().
double CaloTriggerAnalyzer::threshold_ [private] |
Definition at line 36 of file CaloTriggerAnalyzer.h.
Referenced by analyze().