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
void declareHistograms ()
 
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.)
 
void fillEventInfo (int proc, int strk, int ntrkr)
 
void fillRecHistograms (const RecTrack_t &r)
 
void fillSimHistograms (const SimTrack_t &s)
 
void fillVzeroHistograms (const RecVzero_t &r, int part)
 
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)
 
 Histograms (const edm::ParameterSet &pset)
 
virtual void SetWeight (double weight)
 
void writeHistograms ()
 
virtual ~Histograms ()
 
 ~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 239 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 241 of file Histograms.h.

241  :
242  Histograms(name),
243  // Kinematical variables
244  hPt_( new TH1F (name+"_Pt", "transverse momentum", 100, 0, maxPt) ),
245  hPtVsEta_( new TH2F (name+"_PtVsEta", "transverse momentum vs #eta", 100, 0, maxPt, 100, -3.0, 3.0) ),
246 
247  hCurvVsEtaNeg_( new TProfile(name+"_CurvVsEtaNeg", "q/pT vs #eta neg.", 64, -3.2, 3.2, -1., 0.) ),
248  hCurvVsEtaPos_( new TProfile(name+"_CurvVsEtaPos", "q/pT vs #eta pos.", 64, -3.2, 3.2, 0., 1.) ),
249  hCurvVsPhiNeg_( new TProfile(name+"_CurvVsPhiNeg", "q/pT vs #phi neg.", 32, -3.2, 3.2, -1., 0.) ),
250  hCurvVsPhiPos_( new TProfile(name+"_CurvVsPhiPos", "q/pT vs #phi pos.", 32, -3.2, 3.2, 0., 1.) ),
251 
252  hPtVsPhiNeg_( new TProfile(name+"_PtVsPhiNeg", "pT vs #phi neg.", 32, -3.2, 3.2, 0.,100) ),
253  hPtVsPhiPos_( new TProfile(name+"_PtVsPhiPos", "pT vs #phi pos.", 32, -3.2, 3.2, 0.,100) ),
254 
255 
256  hEta_( new TH1F (name+"_Eta", "pseudorapidity", 64, -3.2, 3.2) ),
257  hPhi_( new TH1F (name+"_Phi", "phi angle", 64, -3.2, 3.2) ),
258  hMass_( new TH1F (name+"_Mass", "mass", 10000, minMass, maxMass) ),
259  hNumber_( new TH1F (name+"_Number", "number", 20, -0.5, 19.5) )
260  {}
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:412
TH1F * hPt_
Definition: Histograms.h:404
TH2F * hPtVsEta_
Definition: Histograms.h:405
TH1F * hPhi_
Definition: Histograms.h:416
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:408
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:407
TProfile * hPtVsPhiPos_
Definition: Histograms.h:413
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:410
TH1F * hNumber_
Definition: Histograms.h:419
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:409
TH1F * hMass_
Definition: Histograms.h:417
TH1F * hEta_
Definition: Histograms.h:415
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 263 of file Histograms.h.

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

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

Definition at line 289 of file Histograms.h.

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

Definition at line 310 of file Histograms.h.

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

311  {
312  delete hPt_;
313  delete hPtVsEta_;
314 
315  delete hCurvVsEtaNeg_;
316  delete hCurvVsEtaPos_;
317  delete hCurvVsPhiNeg_;
318  delete hCurvVsPhiPos_;
319 
320  delete hPtVsPhiNeg_;
321  delete hPtVsPhiPos_;
322 
323  delete hEta_;
324  delete hPhi_;
325  delete hMass_;
326  // delete hMass_fine_;
327  delete hNumber_;
328  }
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:412
TH1F * hPt_
Definition: Histograms.h:404
TH2F * hPtVsEta_
Definition: Histograms.h:405
TH1F * hPhi_
Definition: Histograms.h:416
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:408
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:407
TProfile * hPtVsPhiPos_
Definition: Histograms.h:413
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:410
TH1F * hNumber_
Definition: Histograms.h:419
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:409
TH1F * hMass_
Definition: Histograms.h:417
TH1F * hEta_
Definition: Histograms.h:415

Member Function Documentation

virtual void HParticle::Clear ( )
inlinevirtual

Implements Histograms.

Definition at line 383 of file Histograms.h.

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

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

Reimplemented from Histograms.

Definition at line 330 of file Histograms.h.

References CommonMethods::weight().

331  {
332  Fill(CLHEP::HepLorentzVector(p4.x(),p4.y(),p4.z(),p4.t()),charge, weight);
333  }
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:330
virtual void HParticle::Fill ( const CLHEP::HepLorentzVector &  momentum,
const int  charge,
const double &  weight = 1. 
)
inlinevirtual

Reimplemented from Histograms.

Definition at line 335 of file Histograms.h.

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

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

Reimplemented from Histograms.

Definition at line 357 of file Histograms.h.

References hNumber_.

358  {
359  hNumber_->Fill(number);
360  }
TH1F * hNumber_
Definition: Histograms.h:419
virtual void HParticle::Write ( )
inlinevirtual

Implements Histograms.

Definition at line 362 of file Histograms.h.

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

363  {
364  if(histoDir_ != 0) histoDir_->cd();
365  hPt_->Write();
366  hPtVsEta_->Write();
367 
368  hCurvVsEtaNeg_->Write();
369  hCurvVsEtaPos_->Write();
370  hCurvVsPhiNeg_->Write();
371  hCurvVsPhiPos_->Write();
372 
373  hPtVsPhiNeg_->Write();
374  hPtVsPhiPos_->Write();
375 
376  hEta_->Write();
377  hPhi_->Write();
378  hMass_->Write();
379  //hMass_fine_->Write();
380  hNumber_->Write();
381  }
TProfile * hPtVsPhiNeg_
Definition: Histograms.h:412
TH1F * hPt_
Definition: Histograms.h:404
TH2F * hPtVsEta_
Definition: Histograms.h:405
TH1F * hPhi_
Definition: Histograms.h:416
TProfile * hCurvVsEtaPos_
Definition: Histograms.h:408
TDirectory * histoDir_
Definition: Histograms.h:126
TProfile * hCurvVsEtaNeg_
Definition: Histograms.h:407
TProfile * hPtVsPhiPos_
Definition: Histograms.h:413
TProfile * hCurvVsPhiPos_
Definition: Histograms.h:410
TH1F * hNumber_
Definition: Histograms.h:419
TProfile * hCurvVsPhiNeg_
Definition: Histograms.h:409
TH1F * hMass_
Definition: Histograms.h:417
TH1F * hEta_
Definition: Histograms.h:415

Member Data Documentation

TProfile* HParticle::hCurvVsEtaNeg_
protected

Definition at line 407 of file Histograms.h.

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

TProfile* HParticle::hCurvVsEtaPos_
protected

Definition at line 408 of file Histograms.h.

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

TProfile* HParticle::hCurvVsPhiNeg_
protected

Definition at line 409 of file Histograms.h.

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

TProfile* HParticle::hCurvVsPhiPos_
protected

Definition at line 410 of file Histograms.h.

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

TH1F* HParticle::hEta_
protected

Definition at line 415 of file Histograms.h.

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

TH1F* HParticle::hMass_
protected

Definition at line 417 of file Histograms.h.

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

TH1F* HParticle::hNumber_
protected

Definition at line 419 of file Histograms.h.

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

TH1F* HParticle::hPhi_
protected

Definition at line 416 of file Histograms.h.

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

TH1F* HParticle::hPt_
protected

Definition at line 404 of file Histograms.h.

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

TH2F* HParticle::hPtVsEta_
protected

Definition at line 405 of file Histograms.h.

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

TProfile* HParticle::hPtVsPhiNeg_
protected

Definition at line 412 of file Histograms.h.

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

TProfile* HParticle::hPtVsPhiPos_
protected

Definition at line 413 of file Histograms.h.

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