CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Attributes
HParticle Class Reference

#include <Histograms.h>

Inheritance diagram for HParticle:
Histograms

Public Member Functions

virtual void Clear ()
 
virtual void Fill (const reco::Particle::LorentzVector &p4, const int charge, const double &weight=1.)
 
virtual void Fill (const CLHEP::HepLorentzVector &momentum, const int charge, const double &weight=1.)
 
virtual void Fill (unsigned int number)
 
 HParticle (const TString &name, const double &minMass=0., const double &maxMass=200., const double &maxPt=100.)
 
 HParticle (TFile *outputFile, const TString &name, const double &minMass=0., const double &maxMass=200., const double &maxPt=100.)
 Constructor that puts the histograms inside a TDirectory. More...
 
 HParticle (const TString &name, TFile *file)
 
virtual void Write ()
 
 ~HParticle ()
 
- Public Member Functions inherited from Histograms
virtual void Fill (const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
 
virtual void Fill (const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2, const int charge, const double &weight=1.)
 
virtual void Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2)
 
virtual void Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2, const int charge, const double &weight=1.)
 
virtual void Fill (const CLHEP::HepLorentzVector &p1, const reco::Particle::LorentzVector &p2)
 
virtual void Fill (const reco::Particle::LorentzVector &p4, const double &weight=1.)
 
virtual void Fill (const reco::Particle::LorentzVector &p4, const double &resValue, const int charge)
 
virtual void Fill (const reco::Particle::LorentzVector &p4, const double &genValue, const double recValue, const int charge)
 
virtual void Fill (const CLHEP::HepLorentzVector &p, const double &likeValue)
 
virtual void Fill (const reco::Particle::LorentzVector &recoP1, const int charge1, const reco::Particle::LorentzVector &genP1, const reco::Particle::LorentzVector &recoP2, const int charge2, const reco::Particle::LorentzVector &genP2, const double &recoMass, const double &genMass)
 
virtual void Fill (const reco::Particle::LorentzVector &recoP1, const int charge1, const reco::Particle::LorentzVector &recoP2, const int charge2, const double &recoMass, const double &genMass)
 
virtual void Fill (const reco::Particle::LorentzVector &recoP1, const reco::Particle::LorentzVector &genP1, const reco::Particle::LorentzVector &recoP2, const reco::Particle::LorentzVector &genP2)
 
virtual void Fill (const double &x, const double &y)
 
virtual void Fill (const double &x, const double &y, const double &a, const double &b)
 
virtual void Fill (const reco::Particle::LorentzVector &p41, const reco::Particle::LorentzVector &p42, const reco::Particle::LorentzVector &p4Res, const double &weight=1.)
 
virtual void Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2, const CLHEP::HepLorentzVector &momentumRes, const double &weight=1.)
 
virtual double Get (const reco::Particle::LorentzVector &recoP1, const TString &covarianceName)
 
virtual TString GetName ()
 
 Histograms ()
 
 Histograms (const TString &name)
 
 Histograms (TFile *outputFile, const TString &name)
 
virtual void SetWeight (double weight)
 
virtual ~Histograms ()
 

Protected Attributes

TProfile * hCurvVsEtaNeg_
 
TProfile * hCurvVsEtaPos_
 
TProfile * hCurvVsPhiNeg_
 
TProfile * hCurvVsPhiPos_
 
TH1F * hEta_
 
TH1F * hMass_
 
TH1F * hNumber_
 
TH1F * hPhi_
 
TH1F * hPt_
 
TH2F * hPtVsEta_
 
TProfile * hPtVsPhiNeg_
 
TProfile * hPtVsPhiPos_
 
- Protected Attributes inherited from Histograms
TDirectory * histoDir_
 
TString name_
 
TFile * outputFile_
 
double theWeight_
 

Detailed Description

Definition at line 236 of file Histograms.h.

Constructor & Destructor Documentation

HParticle::HParticle ( const TString &  name,
const double &  minMass = 0.,
const double &  maxMass = 200.,
const double &  maxPt = 100. 
)
inline

Definition at line 238 of file Histograms.h.

238  :
239  Histograms(name),
240  // Kinematical variables
241  hPt_( new TH1F (name+"_Pt", "transverse momentum", 100, 0, maxPt) ),
242  hPtVsEta_( new TH2F (name+"_PtVsEta", "transverse momentum vs #eta", 100, 0, maxPt, 100, -3.0, 3.0) ),
243 
244  hCurvVsEtaNeg_( new TProfile(name+"_CurvVsEtaNeg", "q/pT vs #eta neg.", 64, -3.2, 3.2, -1., 0.) ),
245  hCurvVsEtaPos_( new TProfile(name+"_CurvVsEtaPos", "q/pT vs #eta pos.", 64, -3.2, 3.2, 0., 1.) ),
246  hCurvVsPhiNeg_( new TProfile(name+"_CurvVsPhiNeg", "q/pT vs #phi neg.", 32, -3.2, 3.2, -1., 0.) ),
247  hCurvVsPhiPos_( new TProfile(name+"_CurvVsPhiPos", "q/pT vs #phi pos.", 32, -3.2, 3.2, 0., 1.) ),
248 
249  hPtVsPhiNeg_( new TProfile(name+"_PtVsPhiNeg", "pT vs #phi neg.", 32, -3.2, 3.2, 0.,100) ),
250  hPtVsPhiPos_( new TProfile(name+"_PtVsPhiPos", "pT vs #phi pos.", 32, -3.2, 3.2, 0.,100) ),
251 
252 
253  hEta_( new TH1F (name+"_Eta", "pseudorapidity", 64, -3.2, 3.2) ),
254  hPhi_( new TH1F (name+"_Phi", "phi angle", 64, -3.2, 3.2) ),
255  hMass_( new TH1F (name+"_Mass", "mass", 10000, minMass, maxMass) ),
256  hNumber_( new TH1F (name+"_Number", "number", 20, -0.5, 19.5) )
257  {}
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:409
TH1F * hPt_
Definition: Histograms.h:401
TH2F * hPtVsEta_
Definition: Histograms.h:402
TH1F * hPhi_
Definition: Histograms.h:413
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:405
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:404
TProfile * hPtVsPhiPos_
Definition: Histograms.h:410
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:407
TH1F * hNumber_
Definition: Histograms.h:416
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:406
TH1F * hMass_
Definition: Histograms.h:414
TH1F * hEta_
Definition: Histograms.h:412
HParticle::HParticle ( TFile *  outputFile,
const TString &  name,
const double &  minMass = 0.,
const double &  maxMass = 200.,
const double &  maxPt = 100. 
)
inline

Constructor that puts the histograms inside a TDirectory.

Definition at line 260 of file Histograms.h.

References hCurvVsEtaNeg_, hCurvVsEtaPos_, hCurvVsPhiNeg_, hCurvVsPhiPos_, hEta_, hMass_, hNumber_, hPhi_, hPt_, hPtVsEta_, hPtVsPhiNeg_, and hPtVsPhiPos_.

260  :
262  {
263  // Kinematical variables
264  hPt_ = new TH1F (name+"_Pt", "transverse momentum", 100, 0, maxPt);
265  hPtVsEta_ = new TH2F (name+"_PtVsEta", "transverse momentum vs #eta", 100, 0, maxPt, 100, -3.0, 3.0);
266 
267  hPtVsEta_ = new TH2F (name+"_PtVsEta", "transverse momentum vs #eta", 100, 0, maxPt, 100, -3.0, 3.0);
268 
269  hCurvVsEtaNeg_ = new TProfile(name+"_CurvVsEtaNeg", "q/pT vs #eta neg.", 100, -3.0, 3.0, -1. ,0.);
270  hCurvVsEtaPos_ = new TProfile(name+"_CurvVsEtaPos", "q/pT vs #eta pos.", 100, -3.0, 3.0, 0., 1.);
271  hCurvVsPhiNeg_ = new TProfile(name+"_CurvVsPhiNeg", "q/pT vs #phi neg.", 32, -3.2, 3.2, -1. ,0.);
272  hCurvVsPhiPos_ = new TProfile(name+"_CurvVsPhiPos", "q/pT vs #phi pos.", 32, -3.2, 3.2, 0., 1.);
273 
274  hPtVsPhiNeg_ = new TProfile(name+"_PtVsPhiNeg", "pT vs #phi neg.", 32, -3.2, 3.2, 0.,100);
275  hPtVsPhiPos_ = new TProfile(name+"_PtVsPhiPos", "pT vs #phi pos.", 32, -3.2, 3.2, 0.,100);
276 
277 
278  //hPtVSPhi_prof_ = new TProfile (name+"_PtVSPhi_prof", "pt vs phi angle",12, -3.2, 3.2, 0, 200);
279 
280  hEta_ = new TH1F (name+"_Eta", "pseudorapidity", 64, -3.2, 3.2);
281  hPhi_ = new TH1F (name+"_Phi", "phi angle", 64, -3.2, 3.2);
282  hMass_ = new TH1F (name+"_Mass", "mass", 40000, minMass, maxMass);
283  hNumber_ = new TH1F (name+"_Number", "number", 20, -0.5, 19.5);
284  }
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:409
TH1F * hPt_
Definition: Histograms.h:401
TH2F * hPtVsEta_
Definition: Histograms.h:402
TH1F * hPhi_
Definition: Histograms.h:413
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:405
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:404
TProfile * hPtVsPhiPos_
Definition: Histograms.h:410
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:407
TH1F * hNumber_
Definition: Histograms.h:416
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:406
TH1F * hMass_
Definition: Histograms.h:414
TH1F * hEta_
Definition: Histograms.h:412
HParticle::HParticle ( const TString &  name,
TFile *  file 
)
inline

Definition at line 286 of file Histograms.h.

286  :
287  Histograms(name),
288  hPt_( (TH1F *) file->Get(name_+"_Pt") ),
289  hPtVsEta_( (TH2F *) file->Get(name_+"_PtVsEta") ),
290 
291 
292  hCurvVsEtaNeg_( (TProfile *) file->Get(name_+"_CurvVsEtaNeg") ),
293  hCurvVsEtaPos_( (TProfile *) file->Get(name_+"_CurvVsEtaPos") ),
294  hCurvVsPhiNeg_( (TProfile *) file->Get(name_+"_CurvVsPhiNeg") ),
295  hCurvVsPhiPos_( (TProfile *) file->Get(name_+"_CurvVsPhiPos") ),
296 
297  hPtVsPhiNeg_( (TProfile *) file->Get(name_+"_PtVsPhiNeg") ),
298  hPtVsPhiPos_( (TProfile *) file->Get(name_+"_PtVsPhiPos") ),
299 
300  hEta_( (TH1F *) file->Get(name_+"_Eta") ),
301  hPhi_( (TH1F *) file->Get(name_+"_Phi") ),
302  hMass_( (TH1F *) file->Get(name_+"_Mass") ),
303  //hMass_fine_ = (TH1F *) file->Get(name_+"_Mass_fine");
304  hNumber_( (TH1F *) file->Get(name_+"_Number") )
305  {}
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:409
virtual double Get(const reco::Particle::LorentzVector &recoP1, const TString &covarianceName)
Definition: Histograms.h:106
TH1F * hPt_
Definition: Histograms.h:401
TH2F * hPtVsEta_
Definition: Histograms.h:402
TH1F * hPhi_
Definition: Histograms.h:413
TString name_
Definition: Histograms.h:121
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:405
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:404
TProfile * hPtVsPhiPos_
Definition: Histograms.h:410
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:407
TH1F * hNumber_
Definition: Histograms.h:416
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:406
TH1F * hMass_
Definition: Histograms.h:414
TH1F * hEta_
Definition: Histograms.h:412
HParticle::~HParticle ( )
inline

Definition at line 307 of file Histograms.h.

References hCurvVsEtaNeg_, hCurvVsEtaPos_, hCurvVsPhiNeg_, hCurvVsPhiPos_, hEta_, hMass_, hNumber_, hPhi_, hPt_, hPtVsEta_, hPtVsPhiNeg_, and hPtVsPhiPos_.

308  {
309  delete hPt_;
310  delete hPtVsEta_;
311 
312  delete hCurvVsEtaNeg_;
313  delete hCurvVsEtaPos_;
314  delete hCurvVsPhiNeg_;
315  delete hCurvVsPhiPos_;
316 
317  delete hPtVsPhiNeg_;
318  delete hPtVsPhiPos_;
319 
320  delete hEta_;
321  delete hPhi_;
322  delete hMass_;
323  // delete hMass_fine_;
324  delete hNumber_;
325  }
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:409
TH1F * hPt_
Definition: Histograms.h:401
TH2F * hPtVsEta_
Definition: Histograms.h:402
TH1F * hPhi_
Definition: Histograms.h:413
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:405
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:404
TProfile * hPtVsPhiPos_
Definition: Histograms.h:410
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:407
TH1F * hNumber_
Definition: Histograms.h:416
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:406
TH1F * hMass_
Definition: Histograms.h:414
TH1F * hEta_
Definition: Histograms.h:412

Member Function Documentation

virtual void HParticle::Clear ( )
inlinevirtual

Implements Histograms.

Definition at line 380 of file Histograms.h.

References hCurvVsEtaNeg_, hCurvVsEtaPos_, hCurvVsPhiNeg_, hCurvVsPhiPos_, hEta_, hMass_, hNumber_, hPhi_, hPt_, hPtVsEta_, hPtVsPhiNeg_, and hPtVsPhiPos_.

381  {
382  hPt_->Clear();
383  hPtVsEta_->Clear();
384 
385  hCurvVsEtaNeg_->Clear();
386  hCurvVsEtaPos_->Clear();
387  hCurvVsPhiNeg_->Clear();
388  hCurvVsPhiPos_->Clear();
389 
390  hPtVsPhiNeg_->Clear();
391  hPtVsPhiPos_->Clear();
392 
393  hEta_->Clear();
394  hPhi_->Clear();
395  hMass_->Clear();
396  //hMass_fine_->Clear();
397  hNumber_->Clear();
398  }
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:409
TH1F * hPt_
Definition: Histograms.h:401
TH2F * hPtVsEta_
Definition: Histograms.h:402
TH1F * hPhi_
Definition: Histograms.h:413
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:405
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:404
TProfile * hPtVsPhiPos_
Definition: Histograms.h:410
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:407
TH1F * hNumber_
Definition: Histograms.h:416
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:406
TH1F * hMass_
Definition: Histograms.h:414
TH1F * hEta_
Definition: Histograms.h:412
virtual void HParticle::Fill ( const reco::Particle::LorentzVector p4,
const int  charge,
const double &  weight = 1. 
)
inlinevirtual

Reimplemented from Histograms.

Definition at line 327 of file Histograms.h.

References histoStyle::weight.

328  {
329  Fill(CLHEP::HepLorentzVector(p4.x(),p4.y(),p4.z(),p4.t()),charge, weight);
330  }
double charge(const std::vector< uint8_t > &Ampls)
double p4[4]
Definition: TauolaWrapper.h:92
virtual void Fill(const reco::Particle::LorentzVector &p4, const int charge, const double &weight=1.)
Definition: Histograms.h:327
int weight
Definition: histoStyle.py:50
virtual void HParticle::Fill ( const CLHEP::HepLorentzVector &  momentum,
const int  charge,
const double &  weight = 1. 
)
inlinevirtual

Reimplemented from Histograms.

Definition at line 332 of file Histograms.h.

References hCurvVsEtaNeg_, hCurvVsEtaPos_, hCurvVsPhiNeg_, hCurvVsPhiPos_, hEta_, hMass_, hPhi_, hPt_, hPtVsEta_, hPtVsPhiNeg_, hPtVsPhiPos_, and histoStyle::weight.

333  {
334  hPt_->Fill(momentum.perp(), weight);
335  hPtVsEta_->Fill(momentum.perp(), momentum.eta(), weight);
336 
337  // std::cout<< "charge-> " <<charge<<std::endl;
338  if(charge<0)hCurvVsEtaNeg_->Fill( momentum.eta(),charge/(momentum.perp()),weight);
339  if(charge>0)hCurvVsEtaPos_->Fill( momentum.eta(),charge/(momentum.perp()),weight);
340  if(charge<0)hCurvVsPhiNeg_->Fill( momentum.phi(),charge/(momentum.perp()),weight);
341  if(charge>0)hCurvVsPhiPos_->Fill( momentum.phi(),charge/(momentum.perp()),weight);
342 
343  if(charge<0)hPtVsPhiNeg_->Fill( momentum.phi(),momentum.perp(),weight);
344  if(charge>0)hPtVsPhiPos_->Fill( momentum.phi(),momentum.perp(),weight);
345 
346  hEta_->Fill(momentum.eta(), weight);
347  hPhi_->Fill(momentum.phi(), weight);
348  hMass_->Fill(momentum.m(), weight);
349  //hMass_fine_->Fill(momentum.m(), weight);
350  }
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:409
double charge(const std::vector< uint8_t > &Ampls)
TH1F * hPt_
Definition: Histograms.h:401
TH2F * hPtVsEta_
Definition: Histograms.h:402
TH1F * hPhi_
Definition: Histograms.h:413
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:405
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:404
TProfile * hPtVsPhiPos_
Definition: Histograms.h:410
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:407
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:406
TH1F * hMass_
Definition: Histograms.h:414
int weight
Definition: histoStyle.py:50
TH1F * hEta_
Definition: Histograms.h:412
virtual void HParticle::Fill ( unsigned int  number)
inlinevirtual

Reimplemented from Histograms.

Definition at line 354 of file Histograms.h.

References hNumber_.

355  {
356  hNumber_->Fill(number);
357  }
TH1F * hNumber_
Definition: Histograms.h:416
virtual void HParticle::Write ( )
inlinevirtual

Implements Histograms.

Definition at line 359 of file Histograms.h.

References hCurvVsEtaNeg_, hCurvVsEtaPos_, hCurvVsPhiNeg_, hCurvVsPhiPos_, hEta_, Histograms::histoDir_, hMass_, hNumber_, hPhi_, hPt_, hPtVsEta_, hPtVsPhiNeg_, and hPtVsPhiPos_.

360  {
361  if(histoDir_ != 0) histoDir_->cd();
362  hPt_->Write();
363  hPtVsEta_->Write();
364 
365  hCurvVsEtaNeg_->Write();
366  hCurvVsEtaPos_->Write();
367  hCurvVsPhiNeg_->Write();
368  hCurvVsPhiPos_->Write();
369 
370  hPtVsPhiNeg_->Write();
371  hPtVsPhiPos_->Write();
372 
373  hEta_->Write();
374  hPhi_->Write();
375  hMass_->Write();
376  //hMass_fine_->Write();
377  hNumber_->Write();
378  }
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:409
TH1F * hPt_
Definition: Histograms.h:401
TH2F * hPtVsEta_
Definition: Histograms.h:402
TH1F * hPhi_
Definition: Histograms.h:413
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:405
TDirectory * histoDir_
Definition: Histograms.h:123
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:404
TProfile * hPtVsPhiPos_
Definition: Histograms.h:410
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:407
TH1F * hNumber_
Definition: Histograms.h:416
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:406
TH1F * hMass_
Definition: Histograms.h:414
TH1F * hEta_
Definition: Histograms.h:412

Member Data Documentation

TProfile* HParticle::hCurvVsEtaNeg_
protected

Definition at line 404 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TProfile* HParticle::hCurvVsEtaPos_
protected

Definition at line 405 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TProfile* HParticle::hCurvVsPhiNeg_
protected

Definition at line 406 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TProfile* HParticle::hCurvVsPhiPos_
protected

Definition at line 407 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TH1F* HParticle::hEta_
protected

Definition at line 412 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TH1F* HParticle::hMass_
protected

Definition at line 414 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TH1F* HParticle::hNumber_
protected

Definition at line 416 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TH1F* HParticle::hPhi_
protected

Definition at line 413 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TH1F* HParticle::hPt_
protected

Definition at line 401 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TH2F* HParticle::hPtVsEta_
protected

Definition at line 402 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TProfile* HParticle::hPtVsPhiNeg_
protected

Definition at line 409 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().

TProfile* HParticle::hPtVsPhiPos_
protected

Definition at line 410 of file Histograms.h.

Referenced by Clear(), Fill(), HParticle(), Write(), and ~HParticle().