CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
PFTauHLTTest Class Reference
Inheritance diagram for PFTauHLTTest:
edm::EDAnalyzer

Public Member Functions

virtual void analyze (const Event &iEvent, const EventSetup &iSetup)
 
virtual void beginJob ()
 
virtual void endJob ()
 
 PFTauHLTTest (const ParameterSet &)
 
 ~PFTauHLTTest ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Attributes

TDirectory * _dir
 
TFile * _file
 
DQMStoredbeTau
 
DeltaR< LorentzVectordeltaRComputer_
 
MonitorElementh_MatchedPFTau_Eta_
 
MonitorElementh_MatchedPFTau_Pt_
 
MonitorElementh_NumberOfJets_
 
MonitorElementh_PFTau_Eta_
 
MonitorElementh_PFTau_LeadingTrackPt_
 
MonitorElementh_PFTau_Phi_
 
MonitorElementh_PFTau_Pt_
 
MonitorElementh_PFTau_SignalChargedHadron_
 
MonitorElementh_PFTau_SignalGammas_
 
MonitorElementh_PFTau_SignalNeutralHadron_
 
MonitorElementh_PFTau_SignalTracks_
 
MonitorElementh_PFTauEt_MCTauEt_
 
MonitorElementh_Tau_Pt_
 
string MatchedPFTauProducer_
 
int nElecElecPreID
 
int nElecMatchPFTau
 
int nElecNonElecPreID
 
int nEvent
 
int nTauElecPreID
 
int nTauMatchPFTau
 
int nTauNonElecPreID
 
std::string outPutFile_
 
string PFJetProducer_
 
string PFTauProducer_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 50 of file PFTauTest.cc.

Constructor & Destructor Documentation

PFTauHLTTest::PFTauHLTTest ( const ParameterSet iConfig)
explicit

Definition at line 94 of file PFTauTest.cc.

References edm::ParameterSet::getParameter(), and nEvent.

94  {
95  PFTauProducer_ = iConfig.getParameter<string>("PFTauProducer");
96  PFJetProducer_ = iConfig.getParameter<string>("PFJetProducer");
97  MatchedPFTauProducer_ = iConfig.getParameter<string>("MatchedPFTauProducer");
98 
99  nEvent=0;
100 
101  nTauMatchPFTau=0;
102  nElecMatchPFTau=0;
103  nTauElecPreID=0;
104  nElecElecPreID=0;
107 
108  outPutFile_ = "PFTauTest.root";
109 }
T getParameter(std::string const &) const
int nElecMatchPFTau
Definition: PFTauTest.cc:66
string PFTauProducer_
Definition: PFTauTest.cc:61
std::string outPutFile_
Definition: PFTauTest.cc:73
int nTauElecPreID
Definition: PFTauTest.cc:67
int nTauNonElecPreID
Definition: PFTauTest.cc:69
int nTauMatchPFTau
Definition: PFTauTest.cc:65
int nElecNonElecPreID
Definition: PFTauTest.cc:70
string PFJetProducer_
Definition: PFTauTest.cc:61
int nElecElecPreID
Definition: PFTauTest.cc:68
string MatchedPFTauProducer_
Definition: PFTauTest.cc:61
PFTauHLTTest::~PFTauHLTTest ( )
inline

Definition at line 53 of file PFTauTest.cc.

53 {}

Member Function Documentation

void PFTauHLTTest::analyze ( const Event iEvent,
const EventSetup iSetup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 134 of file PFTauTest.cc.

References gather_cfg::cout, deltaR(), edm::Event::getByLabel(), reco::Candidate::p4(), and reco::Candidate::pt().

134  {
135  //cout<<"********"<<endl;
136  //cout<<"Event number "<<nEvent++<<endl;
137 
138 
139 
141 
142 
143 
144  Handle<PFTauCollection> thePFTauHandle;
145  iEvent.getByLabel(PFTauProducer_,thePFTauHandle);
146 
147  Handle<PFTauCollection> thePFJetHandle;
148  iEvent.getByLabel(PFJetProducer_,thePFJetHandle);
149  double numberOfJets = thePFJetHandle->size()*1.;
150  h_NumberOfJets_->Fill(numberOfJets);
151 
152  Handle<View<Candidate> > theMatchedPFTauHandle;
153  iEvent.getByLabel(MatchedPFTauProducer_,theMatchedPFTauHandle);
154 
155  //int n = 0;
156  // Tau Loop
157  for (unsigned int iPFTau=0;iPFTau<thePFTauHandle->size();iPFTau++) {
158  const PFTauRef thePFTau(thePFTauHandle, iPFTau);
159  if(thePFTau->pt() > 0.){
160  h_PFTau_Eta_->Fill(fabs((*thePFTau).eta()));
161  h_PFTau_Pt_->Fill((*thePFTau).pt());
162  h_PFTau_Phi_->Fill((*thePFTau).phi());
163  }
164  bool matched = false;
165  //loop over the matched jets
166  for (View<Candidate>::size_type iMPFTau=0;iMPFTau<theMatchedPFTauHandle->size();iMPFTau++) {
167  const Candidate *theMPFTau = &(*theMatchedPFTauHandle)[iMPFTau];
168  double deltaR = ROOT::Math::VectorUtil::DeltaR(thePFTau->p4().Vect(), (theMPFTau->p4()).Vect());
169  if(deltaR < 0.5) {
170  matched = true;
171  h_PFTauEt_MCTauEt_->Fill(theMPFTau->pt(),thePFTau->pt());
172  break;
173  }
174 
175  }
176 
177  if(matched) {
178  h_MatchedPFTau_Pt_->Fill((*thePFTau).pt());
179  h_MatchedPFTau_Eta_->Fill(fabs((*thePFTau).eta()));
180  cout <<"Particle type "<<(*thePFTau).leadPFChargedHadrCand()->particleId()<<endl;
181  if((*thePFTau).hasMuonReference()){
182  MuonRef muonref = (*thePFTau).leadPFChargedHadrCand()->muonRef();
183  cout <<"Muon segments " <<muonref->numberOfMatches()<<endl;
184  }
185  }
186  if(!matched){
187  h_PFTau_SignalChargedHadron_->Fill((*thePFTau).signalPFChargedHadrCands().size()*1.);
188  h_PFTau_SignalNeutralHadron_->Fill((*thePFTau).signalPFNeutrHadrCands().size()*1.);
189  if((*thePFTau).leadPFChargedHadrCand().isNonnull())
190  h_PFTau_LeadingTrackPt_->Fill((*thePFTau).leadPFChargedHadrCand()->pt());
191 
192  h_PFTau_SignalTracks_->Fill((*thePFTau).signalTracks().size()*1.);
193  h_PFTau_SignalGammas_->Fill((*thePFTau).signalPFGammaCands().size()*1.);
194  }
195 
196  }
197 
198  for (View<Candidate>::size_type iMPFTau=0;iMPFTau<theMatchedPFTauHandle->size();iMPFTau++) {
199  const Candidate *theMPFTau = &(*theMatchedPFTauHandle)[iMPFTau];
200  h_Tau_Pt_->Fill(theMPFTau->pt());
201  }
202 
203 }
string PFTauProducer_
Definition: PFTauTest.cc:61
virtual double pt() const =0
transverse momentum
MonitorElement * h_MatchedPFTau_Pt_
Definition: PFTauTest.cc:84
MonitorElement * h_PFTau_SignalTracks_
Definition: PFTauTest.cc:88
MonitorElement * h_PFTau_SignalGammas_
Definition: PFTauTest.cc:89
MonitorElement * h_PFTau_Eta_
Definition: PFTauTest.cc:78
MonitorElement * h_PFTau_SignalNeutralHadron_
Definition: PFTauTest.cc:86
void Fill(long long x)
MonitorElement * h_Tau_Pt_
Definition: PFTauTest.cc:83
unsigned int size_type
Definition: View.h:90
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
MonitorElement * h_PFTau_SignalChargedHadron_
Definition: PFTauTest.cc:85
double deltaR(double eta1, double eta2, double phi1, double phi2)
Definition: TreeUtility.cc:17
MonitorElement * h_PFTau_Pt_
Definition: PFTauTest.cc:82
MonitorElement * h_MatchedPFTau_Eta_
Definition: PFTauTest.cc:80
MonitorElement * h_PFTau_Phi_
Definition: PFTauTest.cc:81
string PFJetProducer_
Definition: PFTauTest.cc:61
MonitorElement * h_PFTau_LeadingTrackPt_
Definition: PFTauTest.cc:87
tuple cout
Definition: gather_cfg.py:41
MonitorElement * h_NumberOfJets_
Definition: PFTauTest.cc:79
MonitorElement * h_PFTauEt_MCTauEt_
Definition: PFTauTest.cc:90
virtual const LorentzVector & p4() const =0
four-momentum Lorentz vector
string MatchedPFTauProducer_
Definition: PFTauTest.cc:61
void PFTauHLTTest::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 110 of file PFTauTest.cc.

References DQMStore::setCurrentFolder().

110  {
112  dbeTau->setCurrentFolder("RecoPFTau");
113 
114  // Book histograms
115  h_PFTau_Eta_ = dbeTau->book1D("PFTau_Eta","PFTau_Eta",50,0.,5.0);
116  h_MatchedPFTau_Eta_ = dbeTau->book1D("MatchedPFTau_Eta","MatchedPFTau_Eta",50,0.,5.0);
117  h_PFTau_Phi_ = dbeTau->book1D("PFTau_Phi","PFTau_Phi",50,-3.15,3.15);
118  h_PFTau_Pt_ = dbeTau->book1D("PFTau_Pt","PFTau_Pt",50,0.,50.);
119  h_Tau_Pt_ = dbeTau->book1D("Tau_Pt","Tau_Pt",50,0.,50.);
120  h_MatchedPFTau_Pt_ = dbeTau->book1D("MatchedPFTau_Pt","MatchedPFTau_Pt",50,0.,50.);
121  h_PFTau_SignalChargedHadron_ = dbeTau->book1D("PFTau_NumberChargedHadrons","PFTau_NumberChargedHadrons",10,0.,10.);
122  h_PFTau_SignalNeutralHadron_ = dbeTau->book1D("PFTau_NumberNeutralHadrons","PFTau_NumberNeutralHadrons",10,0.,10.);
123  h_PFTau_LeadingTrackPt_ = dbeTau->book1D("PFTau_LeadingTrackPt","PFTau_LeadingTrackPt",10,0.,10.);
124  h_PFTau_SignalTracks_ = dbeTau->book1D("PFTau_NumberTracks","PFTau_NumberTracks",10,0.,10.);
125  h_PFTau_SignalGammas_= dbeTau->book1D("PFTau_NumberPhotons","PFTau_NumberPhotons",10,0.,10.);
126 
127  h_PFTauEt_MCTauEt_ = dbeTau->book2D("PFTauEt_MCTauEt","PFTau_Et Vs MCTau_Et", 50,0.,50.,50,0.,50.);
128 
129  h_NumberOfJets_ = dbeTau->book1D("NumberOfJets","NumberOfJets",20,0.,20.);
130 
131 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
MonitorElement * h_MatchedPFTau_Pt_
Definition: PFTauTest.cc:84
MonitorElement * h_PFTau_SignalTracks_
Definition: PFTauTest.cc:88
MonitorElement * h_PFTau_SignalGammas_
Definition: PFTauTest.cc:89
MonitorElement * h_PFTau_Eta_
Definition: PFTauTest.cc:78
MonitorElement * h_PFTau_SignalNeutralHadron_
Definition: PFTauTest.cc:86
DQMStore * dbeTau
Definition: PFTauTest.cc:91
MonitorElement * h_Tau_Pt_
Definition: PFTauTest.cc:83
MonitorElement * h_PFTau_SignalChargedHadron_
Definition: PFTauTest.cc:85
MonitorElement * h_PFTau_Pt_
Definition: PFTauTest.cc:82
MonitorElement * h_MatchedPFTau_Eta_
Definition: PFTauTest.cc:80
MonitorElement * h_PFTau_Phi_
Definition: PFTauTest.cc:81
MonitorElement * h_PFTau_LeadingTrackPt_
Definition: PFTauTest.cc:87
MonitorElement * h_NumberOfJets_
Definition: PFTauTest.cc:79
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:642
MonitorElement * h_PFTauEt_MCTauEt_
Definition: PFTauTest.cc:90
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
void PFTauHLTTest::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 205 of file PFTauTest.cc.

205  {
206  if (!outPutFile_.empty() && &*edm::Service<DQMStore>()) dbeTau->save (outPutFile_);
207 }
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:1898
std::string outPutFile_
Definition: PFTauTest.cc:73
DQMStore * dbeTau
Definition: PFTauTest.cc:91

Member Data Documentation

TDirectory* PFTauHLTTest::_dir
private

Definition at line 75 of file PFTauTest.cc.

TFile* PFTauHLTTest::_file
private

Definition at line 74 of file PFTauTest.cc.

DQMStore* PFTauHLTTest::dbeTau
private

Definition at line 91 of file PFTauTest.cc.

DeltaR<LorentzVector> PFTauHLTTest::deltaRComputer_
private

Definition at line 59 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_MatchedPFTau_Eta_
private

Definition at line 80 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_MatchedPFTau_Pt_
private

Definition at line 84 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_NumberOfJets_
private

Definition at line 79 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTau_Eta_
private

Definition at line 78 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTau_LeadingTrackPt_
private

Definition at line 87 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTau_Phi_
private

Definition at line 81 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTau_Pt_
private

Definition at line 82 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTau_SignalChargedHadron_
private

Definition at line 85 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTau_SignalGammas_
private

Definition at line 89 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTau_SignalNeutralHadron_
private

Definition at line 86 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTau_SignalTracks_
private

Definition at line 88 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_PFTauEt_MCTauEt_
private

Definition at line 90 of file PFTauTest.cc.

MonitorElement* PFTauHLTTest::h_Tau_Pt_
private

Definition at line 83 of file PFTauTest.cc.

string PFTauHLTTest::MatchedPFTauProducer_
private

Definition at line 61 of file PFTauTest.cc.

int PFTauHLTTest::nElecElecPreID
private

Definition at line 68 of file PFTauTest.cc.

int PFTauHLTTest::nElecMatchPFTau
private

Definition at line 66 of file PFTauTest.cc.

int PFTauHLTTest::nElecNonElecPreID
private

Definition at line 70 of file PFTauTest.cc.

int PFTauHLTTest::nEvent
private

Definition at line 64 of file PFTauTest.cc.

int PFTauHLTTest::nTauElecPreID
private

Definition at line 67 of file PFTauTest.cc.

int PFTauHLTTest::nTauMatchPFTau
private

Definition at line 65 of file PFTauTest.cc.

int PFTauHLTTest::nTauNonElecPreID
private

Definition at line 69 of file PFTauTest.cc.

std::string PFTauHLTTest::outPutFile_
private

Definition at line 73 of file PFTauTest.cc.

string PFTauHLTTest::PFJetProducer_
private

Definition at line 61 of file PFTauTest.cc.

string PFTauHLTTest::PFTauProducer_
private

Definition at line 61 of file PFTauTest.cc.