![]() |
![]() |
#include <Histograms.h>
Public Member Functions | |
virtual void | Clear ()=0 |
void | declareHistograms () |
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 unsigned int number) |
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 CLHEP::HepLorentzVector &p, const double &likeValue) |
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 reco::Particle::LorentzVector &p4, const double &weight=1.) |
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 &p4, const int charge, const double &weight=1.) |
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 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 &momentum, const int charge, 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 &p1, const reco::Particle::LorentzVector &p2) |
virtual void | Fill (const reco::Particle::LorentzVector &p4, const double &genValue, const double recValue, const int charge) |
virtual void | Fill (const CLHEP::HepLorentzVector &momentum1, const CLHEP::HepLorentzVector &momentum2) |
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 (const TString &name) | |
Histograms (TFile *outputFile, const TString &name) | |
Histograms (const edm::ParameterSet &pset) | |
Histograms () | |
virtual void | SetWeight (double weight) |
virtual void | Write ()=0 |
void | writeHistograms () |
virtual | ~Histograms () |
~Histograms () | |
Protected Attributes | |
TDirectory * | histoDir_ |
TString | name_ |
TFile * | outputFile_ |
double | theWeight_ |
Private Member Functions | |
int | getCharge (int charge) |
int | getParticle (int id) |
Private Attributes | |
std::vector< double > | etaBins |
EventInfo_t | eventInfoValues |
bool | fillHistograms |
bool | fillNtuples |
std::vector< TH3F * > | hacc |
std::vector< TH3F * > | hall |
std::vector< TH2F * > | hdac |
std::vector< TH2F * > | hdec |
std::vector< TH2F * > | hder |
std::vector< TH2F * > | held |
std::vector< TH3F * > | helo |
std::vector< TH1F * > | heve |
std::vector< TH3F * > | hfak |
std::vector< TH3F * > | hima |
TFile * | histoFile |
std::vector< TH3F * > | hmul |
std::vector< TH3F * > | hnhi |
std::vector< TH2F * > | hpro |
std::vector< TH3F * > | href |
std::vector< TH3F * > | hrho |
std::vector< TH3F * > | hrpt |
std::vector< TH3F * > | hsim |
std::vector< TH2F * > | hsp0 |
std::vector< TH2F * > | hsp1 |
std::vector< TH2F * > | hsp2 |
std::vector< TH3F * > | hvpt |
std::vector< double > | ldeBins |
std::vector< double > | lpBins |
std::vector< double > | metaBins |
std::vector< double > | nhitBins |
std::vector< double > | ntrkBins |
TFile * | ntupleFile |
std::vector< double > | ptBins |
std::vector< double > | ratBins |
RecTrack_t | recTrackValues |
RecVzero_t | recVzeroValues |
std::vector< double > | rhoBins |
SimTrack_t | simTrackValues |
std::vector< TTree * > | trackTrees |
std::vector< double > | zBins |
Collection of histograms for GLB muon analysis
Collection of histograms for DT RecHit and Segment test.
No description available.
Definition at line 37 of file Histograms.h.
Histograms::Histograms | ( | ) | [inline] |
Definition at line 42 of file Histograms.h.
: theWeight_(1), histoDir_(0) {};
Histograms::Histograms | ( | const TString & | name | ) | [inline] |
Definition at line 43 of file Histograms.h.
: theWeight_(1), name_(name), histoDir_(0) {}
Histograms::Histograms | ( | TFile * | outputFile, |
const TString & | name | ||
) | [inline] |
Definition at line 44 of file Histograms.h.
References histoDir_.
: theWeight_(1), name_(name), outputFile_(outputFile), histoDir_( outputFile->GetDirectory(name) ) { if( histoDir_ == 0 ) { histoDir_ = outputFile->mkdir(name); } histoDir_->cd(); }
Histograms::~Histograms | ( | ) | [inline, virtual] |
Definition at line 58 of file Histograms.h.
{};
Histograms::Histograms | ( | const edm::ParameterSet & | pset | ) |
Definition at line 83 of file Histograms.cc.
References fillHistograms, fillNtuples, edm::ParameterSet::getParameter(), histoFile, ntupleFile, and AlCaHLTBitMon_QueryRunRegistry::string.
{ fillHistograms = pset.getParameter<bool>("fillHistograms"); fillNtuples = pset.getParameter<bool>("fillNtuples"); std::string histoFileLabel = pset.getParameter<std::string>("histoFile"); histoFile = new TFile(histoFileLabel.c_str(),"recreate"); std::string ntupleFileLabel = pset.getParameter<std::string>("ntupleFile"); ntupleFile = new TFile(ntupleFileLabel.c_str(),"recreate"); // resultFile->cd(); }
Histograms::~Histograms | ( | ) |
virtual void Histograms::Clear | ( | ) | [pure virtual] |
Implemented in HTH2D, HTH1D, HTProfile, HParticle, HDelta, HPartVSEta, HPartVSPhi, HPartVSPt, HMassVSPart, HMassVSPartProfile, HResolutionVSPart, HLikelihoodVSPart, HFunctionResolution, HCovarianceVSxy, HCovarianceVSParts, and HMassResolutionVSPart.
void Histograms::declareHistograms | ( | ) |
Definition at line 152 of file Histograms.cc.
References aks, ala, DeDxDiscriminatorTools::charge(), chargeName, constexpr, alignCSCRings::e, eta, etaBins, jptDQMConfig_cff::etaMax, jptDQMConfig_cff::etaMin, eventInfoValues, feedDown, fillHistograms, fillNtuples, first, gam, hacc, hall, hdac, hdec, hder, held, helo, heve, hfak, hima, hmul, hnhi, hpro, href, hrho, hrpt, hsim, hsp0, hsp1, hsp2, hvpt, gen::k, k0s, kst, lam, ldeBins, funct::log(), lpBins, metaBins, nCharges, nFeedDowns, nhitBins, ntrkBins, partName, phi, pip, ptBins, ratBins, recTrackValues, recVzeroValues, rho, rhoBins, edm::second(), simTrackValues, trackTrees, z, and zBins.
{ if(fillNtuples) { TString leafStr; trackTrees.push_back(new TTree("simTrackTree","simTrackTree")); leafStr = "ids/I:etas/F:pts/F:acc/I:prim/I:nrec/I:ntrkr/I"; trackTrees[0]->Branch("simTrackValues", &simTrackValues, leafStr.Data()); trackTrees.push_back(new TTree("recTrackTree","recTrackTree")); leafStr = "charge/I:etar/F:ptr/F:phir/F:zr/F:logpr/F:logde/F:nhitr/I:prim/I:nsim/I:ids/I:parids/I:etas/F:pts/F:ntrkr/I"; trackTrees[1]->Branch("recTrackValues", &recTrackValues, leafStr.Data()); trackTrees.push_back(new TTree("recVzeroTree","recVzeroTree")); leafStr = "etar/F:ptr/F:ima/F:rhor/F"; trackTrees[2]->Branch("recVzeroValues", &recVzeroValues, leafStr.Data()); trackTrees.push_back(new TTree("eventInfoTree","eventInfoTree")); leafStr = "proc/I:strk/I:ntrkr/I"; trackTrees[3]->Branch("eventInfoValues", &eventInfoValues, leafStr.Data()); } if(fillHistograms) { // Pt const double small = 1e-3; double pt; for(pt = 0; pt < 1 - small; pt += 0.05) ptBins.push_back(pt); for(pt = 1; pt < 2 - small; pt += 0.1 ) ptBins.push_back(pt); for(pt = 2; pt < 4 - small; pt += 0.2 ) ptBins.push_back(pt); for(pt = 4; pt < 8 - small; pt += 0.5 ) ptBins.push_back(pt); for(pt = 8; pt < 16 - small; pt += 1. ) ptBins.push_back(pt); for(pt = 16; pt < 32 - small; pt += 2. ) ptBins.push_back(pt); for(pt = 32; pt < 64 - small; pt += 4. ) ptBins.push_back(pt); constexpr float ratMin = 0.5; constexpr float ratMax = 1.5; constexpr float ratWidth = 1./200; for(double rat = ratMin; rat < ratMax + ratWidth/2; rat += ratWidth) ratBins.push_back(rat); // Eta (-3,3) constexpr float etaMin = -3.0; constexpr float etaMax = 3.0; constexpr float etaWidth = 0.2; for(double eta = etaMin; eta < etaMax + etaWidth/2; eta += etaWidth) etaBins.push_back(eta); // for(double eta = etaMin; eta < etaMax + etaWidth/2; eta += etaWidth/10) for(double eta = etaMin; eta < etaMax + etaWidth/2; eta += etaWidth/5) metaBins.push_back(eta); constexpr float zMin = -20.; constexpr float zMax = 20.; // constexpr float zWidth = 0.1; constexpr float zWidth = 0.2; for(double z = zMin; z < zMax + zWidth/2; z += zWidth) zBins.push_back(z); // Number of recontructed tracks constexpr float ntrkMin = 0.5; // FIXME // constexpr float ntrkMax = 200.; // constexpr float ntrkWidth = 5.; constexpr float ntrkMax = 1000.; constexpr float ntrkWidth = 10.; for(double ntrk = ntrkMin; ntrk < ntrkMax + ntrkWidth; ntrk += ntrkWidth) ntrkBins.push_back(ntrk); char histName[256]; // EventInfo sprintf(histName,"heve"); heve.push_back(new TH1F(histName,histName, 200, -0.5,199.5)); sprintf(histName,"hsdx"); heve.push_back(new TH1F(histName,histName, 200, -0.5,199.5)); sprintf(histName,"hddx"); heve.push_back(new TH1F(histName,histName, 200, -0.5,199.5)); sprintf(histName,"hndx"); heve.push_back(new TH1F(histName,histName, 200, -0.5,199.5)); sprintf(histName,"hder"); hder.push_back(new TH2F(histName,histName, 200, -0.5,199.5, 200, -0.5,199.5)); // SimTrack for(int part = pip; part <= ala; part++) { // simulated sprintf(histName,"hsim_%s", partName[part]); hsim.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ntrkBins.size()-1, &ntrkBins[0])); // accepted sprintf(histName,"hacc_%s", partName[part]); hacc.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ntrkBins.size()-1, &ntrkBins[0])); // reconstructed/efficiency sprintf(histName,"href_%s", partName[part]); href.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ntrkBins.size()-1, &ntrkBins[0])); // multiply reconstructed sprintf(histName,"hmul_%s", partName[part]); hmul.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ntrkBins.size()-1, &ntrkBins[0])); } // RecTrack for(int charge = 0; charge < nCharges; charge++) { sprintf(histName,"hall_%s",chargeName[charge]); hall.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ntrkBins.size()-1, &ntrkBins[0])); sprintf(histName,"hdac_%s",chargeName[charge]); hdac.push_back(new TH2F(histName,histName, metaBins.size()-1, &metaBins[0], zBins.size()-1, &zBins[0])); // RecTrack -- FakeRate sprintf(histName,"hfak_%s",chargeName[charge]); hfak.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ntrkBins.size()-1, &ntrkBins[0])); } // RecTrack -- Resolution, bias for(int part = pip; part <= ala; part++) { // value sprintf(histName,"hvpt_%s",partName[part]); hvpt.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ptBins.size()-1, &ptBins[0])); // ratio sprintf(histName,"hrpt_%s",partName[part]); hrpt.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ratBins.size()-1, &ratBins[0])); sprintf(histName,"hsp0_%s",partName[part]); hsp0.push_back(new TH2F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0])); sprintf(histName,"hsp1_%s",partName[part]); hsp1.push_back(new TH2F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0])); sprintf(histName,"hsp2_%s",partName[part]); hsp2.push_back(new TH2F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0])); } // RecTrack -- FeedDown for(int k = 0; k < nFeedDowns; k++) { sprintf(histName,"hpro_%s_%s", partName[feedDown[k].first], // produced partName[feedDown[k].second]); hpro.push_back(new TH2F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0])); sprintf(histName,"hdec_%s_%s", partName[feedDown[k].first], // decay partName[feedDown[k].second]); hdec.push_back(new TH2F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0])); } // EnergyLoss constexpr float lpMin = -3; // 50 MeV constexpr float lpMax = 2; // 7.4 GeV constexpr float lpWidth = (lpMax - lpMin)/100; for(double lp = lpMin; lp < lpMax + lpWidth/2; lp += lpWidth) lpBins.push_back(lp); constexpr float ldeMin = log(1); constexpr float ldeMax = log(100); constexpr float ldeWidth = (ldeMax - ldeMin)/250; for(double lde = ldeMin; lde < ldeMax + ldeWidth/2; lde += ldeWidth) ldeBins.push_back(lde); for(double nhit = -0.5; nhit < 50; nhit += 1) nhitBins.push_back(nhit); for(int charge = 0; charge < nCharges; charge++) { // All hits // dE/dx sprintf(histName,"helo_%s", chargeName[charge]); helo.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ldeBins.size()-1, &ldeBins[0])); // Number of hits used sprintf(histName,"hnhi_%s", chargeName[charge]); hnhi.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], nhitBins.size()-1, &nhitBins[0])); // Demo plot sprintf(histName,"held_%s", chargeName[charge]); held.push_back(new TH2F(histName,histName, lpBins.size()-1, &lpBins[0], ldeBins.size()-1, &ldeBins[0])); } /* for(int charge = 0; charge < nCharges; charge++) { // Strip hits // dE/dx sprintf(histName,"selo_%s", chargeName[charge]); selo.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], ldeBins.size()-1, &ldeBins[0])); // Number of hits used sprintf(histName,"snhi_%s", chargeName[charge]); snhi.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], nhitBins.size()-1, &nhitBins[0])); // Demo plot sprintf(histName,"seld_%s", chargeName[charge]); seld.push_back(new TH2F(histName,histName, lpBins.size()-1, &lpBins[0], ldeBins.size()-1, &ldeBins[0])); } */ // Invariant mass constexpr float rhoMin = 0.; constexpr float rhoMax = 5.; constexpr float rhoWidth = 0.2; for(double rho_ = rhoMin; rho_ < rhoMax + rhoWidth/2; rho_ += rhoWidth) rhoBins.push_back(rho_); for(int part = gam; part <= phi; part++) { float imMin = 0; float imMax = 0; float imWidth = 0; if(part == gam) { imMin = 0.0; imMax = 0.2; imWidth = 0.005; } if(part == k0s) { imMin = 0.3; imMax = 0.7; imWidth = 0.005; } if(part == lam || part == ala) { imMin = 1.0; imMax = 1.3; imWidth = 0.002; } if(part == rho) { imMin = 0.2; imMax = 1.2; imWidth = 0.010; } if(part == kst || part == aks) { imMin = 0.6; imMax = 1.6; imWidth = 0.010; } if(part == phi) { imMin = 0.9; imMax = 1.1; imWidth = 0.002; } std::vector<double> imBins; double im; for(im = imMin; im < imMax + imWidth/2; im += imWidth) imBins.push_back(im); if(imWidth > 0) { sprintf(histName,"hima_%s", partName[part]); hima.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], imBins.size()-1, &imBins[0])); if(part >= rho && part <= phi) { sprintf(histName,"himp_%s", partName[part]); hima.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], imBins.size()-1, &imBins[0])); sprintf(histName,"himm_%s", partName[part]); hima.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], imBins.size()-1, &imBins[0])); sprintf(histName,"himx_%s", partName[part]); hima.push_back(new TH3F(histName,histName, etaBins.size()-1, &etaBins[0], ptBins.size()-1, &ptBins[0], imBins.size()-1, &imBins[0])); } sprintf(histName,"hrho_%s", partName[part]); hrho.push_back(new TH3F(histName,histName, rhoBins.size()-1, &rhoBins[0], ptBins.size()-1, &ptBins[0], imBins.size()-1, &imBins[0])); } } } }
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | p1, |
const reco::Particle::LorentzVector & | p2 | ||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const CLHEP::HepLorentzVector & | momentum1, |
const CLHEP::HepLorentzVector & | momentum2, | ||
const int | charge, | ||
const double & | weight = 1. |
||
) | [inline, virtual] |
Reimplemented in HMassVSPart, and HMassVSPartProfile.
Definition at line 67 of file Histograms.h.
{};
virtual void Histograms::Fill | ( | const CLHEP::HepLorentzVector & | momentum, |
const int | charge, | ||
const double & | weight = 1. |
||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const double & | x, |
const double & | y | ||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const double & | x, |
const double & | y, | ||
const double & | a, | ||
const double & | b | ||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | p4, |
const double & | resValue, | ||
const int | charge | ||
) | [inline, virtual] |
Reimplemented in HResolutionVSPart, HFunctionResolution, and HFunctionResolutionVarianceCheck.
Definition at line 78 of file Histograms.h.
{};
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | p41, |
const reco::Particle::LorentzVector & | p42, | ||
const reco::Particle::LorentzVector & | p4Res, | ||
const double & | weight = 1. |
||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const CLHEP::HepLorentzVector & | momentum1, |
const CLHEP::HepLorentzVector & | momentum2, | ||
const CLHEP::HepLorentzVector & | momentumRes, | ||
const double & | weight = 1. |
||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | p1, |
const reco::Particle::LorentzVector & | p2, | ||
const int | charge, | ||
const double & | weight = 1. |
||
) | [inline, virtual] |
Reimplemented in HMassVSPart, and HMassVSPartProfile.
Definition at line 65 of file Histograms.h.
{};
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | p4, |
const double & | genValue, | ||
const double | recValue, | ||
const int | charge | ||
) | [inline, virtual] |
Definition at line 79 of file Histograms.h.
{};
virtual void Histograms::Fill | ( | const CLHEP::HepLorentzVector & | p1, |
const reco::Particle::LorentzVector & | p2 | ||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const CLHEP::HepLorentzVector & | p, |
const double & | likeValue | ||
) | [inline, virtual] |
Reimplemented in HPartVSEta, HPartVSPhi, and HPartVSPt.
Definition at line 80 of file Histograms.h.
{};
virtual void Histograms::Fill | ( | const CLHEP::HepLorentzVector & | momentum1, |
const CLHEP::HepLorentzVector & | momentum2 | ||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | p4, |
const double & | weight = 1. |
||
) | [inline, virtual] |
Reimplemented in HPartVSEta, HPartVSPhi, HPartVSPt, and HLikelihoodVSPart.
Definition at line 69 of file Histograms.h.
{};
virtual void Histograms::Fill | ( | const unsigned int | number | ) | [inline, virtual] |
virtual void Histograms::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 | ||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | recoP1, |
const reco::Particle::LorentzVector & | genP1, | ||
const reco::Particle::LorentzVector & | recoP2, | ||
const reco::Particle::LorentzVector & | genP2 | ||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | p4, |
const int | charge, | ||
const double & | weight = 1. |
||
) | [inline, virtual] |
virtual void Histograms::Fill | ( | const reco::Particle::LorentzVector & | recoP1, |
const int | charge1, | ||
const reco::Particle::LorentzVector & | recoP2, | ||
const int | charge2, | ||
const double & | recoMass, | ||
const double & | genMass | ||
) | [inline, virtual] |
void Histograms::fillEventInfo | ( | int | proc, |
int | strk, | ||
int | ntrkr | ||
) |
Definition at line 496 of file Histograms.cc.
References alignCSCRings::e, eventInfoValues, fillHistograms, fillNtuples, hder, heve, EventInfo_t::ntrkr, EventInfo_t::proc, proc, EventInfo_t::strk, and trackTrees.
{ if(fillNtuples) { EventInfo_t e; e.proc = proc; e.strk = strk; e.ntrkr = ntrk; eventInfoValues = e; trackTrees[3]->Fill(); } if(fillHistograms) { heve[0]->Fill(ntrk); if(proc == 92 || proc == 93) heve[1]->Fill(ntrk); // hsdx if(proc == 94) heve[2]->Fill(ntrk); // hddx if(!(proc == 92 || proc == 93 || proc == 94)) heve[3]->Fill(ntrk); // hndx // For multiplicity, detector response matrix hder[0]->Fill(strk,ntrk); } }
void Histograms::fillRecHistograms | ( | const RecTrack_t & | r | ) |
Definition at line 572 of file Histograms.cc.
References ala, any, RecTrack_t::charge, DeDxDiscriminatorTools::charge(), RecTrack_t::etar, RecTrack_t::etas, funct::exp(), feedDown, fillHistograms, fillNtuples, getCharge(), getParticle(), hall, ham, hap, hdac, hdec, held, helo, hfak, hnhi, hpro, hrpt, hsp0, hsp1, hsp2, hvpt, RecTrack_t::ids, gen::k, RecTrack_t::logde, RecTrack_t::logpr, neg, nFeedDowns, RecTrack_t::nhitr, RecTrack_t::nsim, RecTrack_t::ntrkr, AlCaHLTBitMon_ParallelJobs::p, RecTrack_t::parids, partCharge, pip, pos, RecTrack_t::prim, RecTrack_t::ptr, RecTrack_t::pts, alignCSCRings::r, recTrackValues, edm::second(), trackTrees, and RecTrack_t::zr.
{ if(fillNtuples) { if(r.prim) { recTrackValues = r; trackTrees[1]->Fill(); } } if(fillHistograms) { int charge = getCharge(r.charge); double p = exp(r.logpr); if(r.prim) { hall[charge]->Fill(r.etar, r.ptr, r.ntrkr); if(r.ptr > 0.3) // !!! hdac[charge]->Fill(r.etar, r.zr); if(r.nsim == 0) hfak[charge]->Fill(r.etar, r.ptr, r.ntrkr); if(r.nsim == 1) { int part = getParticle(r.ids); int moth = getParticle(r.parids); if(pip <= part && part <= ala) { hvpt[part]->Fill(r.etas, r.pts, r.ptr ); // value hrpt[part]->Fill(r.etas, r.pts, r.ptr/r.pts); // ratio hsp0[part]->Fill(r.etas, r.pts); // sum p^0 hsp1[part]->Fill(r.etas, r.pts, p); // sum p^1 hsp2[part]->Fill(r.etas, r.pts, p*p); // sum p^2 } for(int k = 0; k < nFeedDowns; k++) if(part == feedDown[k].second) // daughter same { hpro[k]->Fill(r.etar, r.ptr); if((r.parids != 0 && feedDown[k].first == any) || feedDown[k].first == moth) hdec[k]->Fill(r.etar, r.ptr); } if(partCharge[part] == pos || partCharge[part] == neg) { if(partCharge[part] == pos) part = hap; if(partCharge[part] == neg) part = ham; hvpt[part]->Fill(r.etas, r.pts, r.ptr ); // value hrpt[part]->Fill(r.etas, r.pts, r.ptr/r.pts); // ratio hsp0[part]->Fill(r.etas, r.pts); // sum p^0 hsp1[part]->Fill(r.etas, r.pts, p); // sum p^1 hsp2[part]->Fill(r.etas, r.pts, p*p); // sum p^2 for(int k = 0; k < nFeedDowns; k++) if(part == feedDown[k].second) // daughter same { hpro[k]->Fill(r.etar, r.ptr); if((r.parids != 0 && feedDown[k].first == any) || feedDown[k].first == moth) hdec[k]->Fill(r.etar, r.ptr); } } } // All hits helo[charge]->Fill(r.etar, r.ptr, r.logde); hnhi[charge]->Fill(r.etar, r.ptr, r.nhitr); held[charge]->Fill(r.logpr, r.logde); // Strip hits /* selo[charge]->Fill(r.etar, r.ptr, r.logde_strip); snhi[charge]->Fill(r.etar, r.ptr, r.nhitr_strip); seld[charge]->Fill(r.logpr, r.logde_strip); */ } } }
void Histograms::fillSimHistograms | ( | const SimTrack_t & | s | ) |
Definition at line 529 of file Histograms.cc.
References SimTrack_t::acc, ala, SimTrack_t::etas, fillHistograms, fillNtuples, getParticle(), hacc, ham, hap, hmul, href, hsim, SimTrack_t::ids, neg, SimTrack_t::nrec, SimTrack_t::ntrkr, partCharge, pip, pos, SimTrack_t::prim, SimTrack_t::pts, alignCSCRings::s, simTrackValues, and trackTrees.
{ if(fillNtuples) { if(s.prim) { simTrackValues = s; trackTrees[0]->Fill(); } } if(fillHistograms) { int part = getParticle(s.ids); if(pip <= part && part <= ala && s.prim) { hsim[part]->Fill(s.etas, s.pts, s.ntrkr); if(s.acc) hacc[part]->Fill(s.etas, s.pts, s.ntrkr); if(s.acc) { if(s.nrec > 0) href[part]->Fill(s.etas, s.pts, s.ntrkr); if(s.nrec > 1) hmul[part]->Fill(s.etas, s.pts, s.ntrkr); } if(partCharge[part] == pos || partCharge[part] == neg) { if(partCharge[part] == pos) part = hap; if(partCharge[part] == neg) part = ham; hsim[part]->Fill(s.etas, s.pts, s.ntrkr); if(s.acc) hacc[part]->Fill(s.etas, s.pts, s.ntrkr); if(s.acc) { if(s.nrec > 0) href[part]->Fill(s.etas, s.pts, s.ntrkr); if(s.nrec > 1) hmul[part]->Fill(s.etas, s.pts, s.ntrkr); } } } } }
void Histograms::fillVzeroHistograms | ( | const RecVzero_t & | r, |
int | part | ||
) |
Definition at line 663 of file Histograms.cc.
References RecVzero_t::etar, fillHistograms, fillNtuples, hima, RecVzero_t::ima, RecVzero_t::ptr, recVzeroValues, trackTrees, and v.
{ if(fillNtuples) { recVzeroValues = v; trackTrees[2]->Fill(); } if(fillHistograms) hima[part]->Fill(v.etar, v.ptr, v.ima); }
virtual double Histograms::Get | ( | const reco::Particle::LorentzVector & | recoP1, |
const TString & | covarianceName | ||
) | [inline, virtual] |
int Histograms::getCharge | ( | int | charge | ) | [private] |
Definition at line 145 of file Histograms.cc.
Referenced by fillRecHistograms().
virtual TString Histograms::GetName | ( | ) | [inline, virtual] |
int Histograms::getParticle | ( | int | id | ) | [private] |
Definition at line 103 of file Histograms.cc.
References ala, asi, elm, elp, gam, k0s, kam, kap, lam, pim, pip, prm, prp, and sip.
Referenced by fillRecHistograms(), and fillSimHistograms().
{ switch(id) { case 211 : return pip; break; case -211 : return pim; break; case 321 : return kap; break; case -321 : return kam; break; case 2212 : return prp; break; case -2212 : return prm; break; case 11 : return elp; break; case -11 : return elm; break; // SimG4Core/Notification/src/G4TrackToParticleID.cc // "deuteron" = -100; 1p 1n // "triton" = -101; 1p 2n // "alpha" = -102; 2p 2n // "He3" = -104; 2p 1n case 22 : return gam; break; case 310 : return k0s; break; case 3122 : return lam; break; case -3122 : return ala; break; /* case 113 : return rho; break; case 313 : return kst; break; case -313 : return aks; break; case 333 : return phi; break; */ case 3222 : return sip; break; case -3222 : return asi; break; default : return -1; break; } }
virtual void Histograms::SetWeight | ( | double | weight | ) | [inline, virtual] |
Definition at line 113 of file Histograms.h.
References theWeight_, and CommonMethods::weight().
{ theWeight_ = weight; }
virtual void Histograms::Write | ( | ) | [pure virtual] |
void Histograms::writeHistograms | ( | ) |
Definition at line 676 of file Histograms.cc.
References fillHistograms, fillNtuples, h, hacc, hall, hdac, hdec, hder, held, helo, heve, hfak, hima, histoFile, hmul, hnhi, hpro, href, hrho, hrpt, hsim, hsp0, hsp1, hsp2, hvpt, ntupleFile, lumiQTWidget::t, and trackTrees.
{ typedef std::vector<TH3F *>::const_iterator H3I; typedef std::vector<TH2F *>::const_iterator H2I; typedef std::vector<TH1F *>::const_iterator H1I; typedef std::vector<TTree *>::const_iterator TI; if(fillHistograms) { histoFile->cd(); for(H1I h = heve.begin(); h!= heve.end(); h++) (*h)->Write(); for(H2I h = hder.begin(); h!= hder.end(); h++) (*h)->Write(); for(H3I h = hsim.begin(); h!= hsim.end(); h++) (*h)->Write(); for(H3I h = hacc.begin(); h!= hacc.end(); h++) (*h)->Write(); for(H3I h = href.begin(); h!= href.end(); h++) (*h)->Write(); for(H3I h = hmul.begin(); h!= hmul.end(); h++) (*h)->Write(); for(H3I h = hall.begin(); h!= hall.end(); h++) (*h)->Write(); for(H2I h = hdac.begin(); h!= hdac.end(); h++) (*h)->Write(); for(H3I h = hvpt.begin(); h!= hvpt.end(); h++) (*h)->Write(); for(H3I h = hrpt.begin(); h!= hrpt.end(); h++) (*h)->Write(); for(H2I h = hsp0.begin(); h!= hsp0.end(); h++) (*h)->Write(); for(H2I h = hsp1.begin(); h!= hsp1.end(); h++) (*h)->Write(); for(H2I h = hsp2.begin(); h!= hsp2.end(); h++) (*h)->Write(); for(H3I h = hfak.begin(); h!= hfak.end(); h++) (*h)->Write(); for(H2I h = hpro.begin(); h!= hpro.end(); h++) (*h)->Write(); for(H2I h = hdec.begin(); h!= hdec.end(); h++) (*h)->Write(); for(H3I h = helo.begin(); h!= helo.end(); h++) (*h)->Write(); for(H3I h = hnhi.begin(); h!= hnhi.end(); h++) (*h)->Write(); for(H2I h = held.begin(); h!= held.end(); h++) (*h)->Write(); for(H3I h = hima.begin(); h!= hima.end(); h++) (*h)->Write(); for(H3I h = hrho.begin(); h!= hrho.end(); h++) (*h)->Write(); histoFile->Close(); } if(fillNtuples) { ntupleFile->cd(); for(TI t = trackTrees.begin(); t!= trackTrees.end(); t++) (*t)->Write(); ntupleFile->Close(); } }
std::vector<double> Histograms::etaBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
EventInfo_t Histograms::eventInfoValues [private] |
Definition at line 79 of file Histograms.h.
Referenced by declareHistograms(), and fillEventInfo().
bool Histograms::fillHistograms [private] |
Definition at line 83 of file Histograms.h.
Referenced by declareHistograms(), fillEventInfo(), fillRecHistograms(), fillSimHistograms(), fillVzeroHistograms(), Histograms(), and writeHistograms().
bool Histograms::fillNtuples [private] |
Definition at line 84 of file Histograms.h.
Referenced by declareHistograms(), fillEventInfo(), fillRecHistograms(), fillSimHistograms(), fillVzeroHistograms(), Histograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hacc [private] |
Definition at line 99 of file Histograms.h.
Referenced by declareHistograms(), fillSimHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hall [private] |
Definition at line 104 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH2F *> Histograms::hdac [private] |
Definition at line 106 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH2F *> Histograms::hdec [private] |
Definition at line 120 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH2F *> Histograms::hder [private] |
Definition at line 95 of file Histograms.h.
Referenced by declareHistograms(), fillEventInfo(), and writeHistograms().
std::vector<TH2F *> Histograms::held [private] |
Definition at line 125 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::helo [private] |
Definition at line 123 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH1F *> Histograms::heve [private] |
Definition at line 94 of file Histograms.h.
Referenced by declareHistograms(), fillEventInfo(), and writeHistograms().
std::vector<TH3F *> Histograms::hfak [private] |
Definition at line 116 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hima [private] |
Definition at line 134 of file Histograms.h.
Referenced by declareHistograms(), fillVzeroHistograms(), and writeHistograms().
TDirectory* Histograms::histoDir_ [protected] |
Definition at line 125 of file Histograms.h.
Referenced by HCovarianceVSParts::HCovarianceVSParts(), HCovarianceVSxy::HCovarianceVSxy(), Histograms(), HMassResolutionVSPart::HMassResolutionVSPart(), HTProfile::Write(), HFunctionResolution::Write(), HDelta::Write(), HFunctionResolutionVarianceCheck::Write(), HTH2D::Write(), HTH1D::Write(), HParticle::Write(), HResolutionVSPart::Write(), HCovarianceVSxy::Write(), HMassResolutionVSPart::Write(), and HCovarianceVSParts::Write().
TFile* Histograms::histoFile [private] |
Definition at line 81 of file Histograms.h.
Referenced by Histograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hmul [private] |
Definition at line 101 of file Histograms.h.
Referenced by declareHistograms(), fillSimHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hnhi [private] |
Definition at line 124 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH2F *> Histograms::hpro [private] |
Definition at line 119 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::href [private] |
Definition at line 100 of file Histograms.h.
Referenced by declareHistograms(), fillSimHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hrho [private] |
Definition at line 135 of file Histograms.h.
Referenced by declareHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hrpt [private] |
Definition at line 110 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hsim [private] |
Definition at line 98 of file Histograms.h.
Referenced by declareHistograms(), fillSimHistograms(), and writeHistograms().
std::vector<TH2F *> Histograms::hsp0 [private] |
Definition at line 111 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH2F *> Histograms::hsp1 [private] |
Definition at line 112 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH2F *> Histograms::hsp2 [private] |
Definition at line 113 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<TH3F *> Histograms::hvpt [private] |
Definition at line 109 of file Histograms.h.
Referenced by declareHistograms(), fillRecHistograms(), and writeHistograms().
std::vector<double> Histograms::ldeBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
std::vector<double> Histograms::lpBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
std::vector<double> Histograms::metaBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
TString Histograms::name_ [protected] |
Definition at line 123 of file Histograms.h.
Referenced by HMassResolutionVSPart::Fill(), HCovarianceVSParts::Fill(), HCovarianceVSParts::Get(), GetName(), HCovarianceVSParts::HCovarianceVSParts(), HCovarianceVSxy::HCovarianceVSxy(), HDelta::HDelta(), HFunctionResolution::HFunctionResolution(), HLikelihoodVSPart::HLikelihoodVSPart(), HMassVSPart::HMassVSPart(), HMassVSPartProfile::HMassVSPartProfile(), HPartVSEta::HPartVSEta(), HPartVSPhi::HPartVSPhi(), HPartVSPt::HPartVSPt(), HResolutionVSPart::HResolutionVSPart(), and HCovarianceVSxy::Write().
std::vector<double> Histograms::nhitBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
std::vector<double> Histograms::ntrkBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
TFile* Histograms::ntupleFile [private] |
Definition at line 82 of file Histograms.h.
Referenced by Histograms(), and writeHistograms().
TFile* Histograms::outputFile_ [protected] |
Definition at line 124 of file Histograms.h.
Referenced by HFunctionResolution::Write().
std::vector<double> Histograms::ptBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
std::vector<double> Histograms::ratBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
RecTrack_t Histograms::recTrackValues [private] |
Definition at line 77 of file Histograms.h.
Referenced by declareHistograms(), and fillRecHistograms().
RecVzero_t Histograms::recVzeroValues [private] |
Definition at line 78 of file Histograms.h.
Referenced by declareHistograms(), and fillVzeroHistograms().
std::vector<double> Histograms::rhoBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().
SimTrack_t Histograms::simTrackValues [private] |
Definition at line 76 of file Histograms.h.
Referenced by declareHistograms(), and fillSimHistograms().
double Histograms::theWeight_ [protected] |
Definition at line 122 of file Histograms.h.
Referenced by SetWeight().
std::vector<TTree *> Histograms::trackTrees [private] |
Definition at line 75 of file Histograms.h.
Referenced by declareHistograms(), fillEventInfo(), fillRecHistograms(), fillSimHistograms(), fillVzeroHistograms(), and writeHistograms().
std::vector<double> Histograms::zBins [private] |
Definition at line 86 of file Histograms.h.
Referenced by declareHistograms().