CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
FlavourHistograms2D< T, G > Class Template Reference

#include <FlavourHistorgrams2D.h>

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

std::string baseNameDescription () const
 
std::string baseNameTitle () const
 
void divide (const FlavourHistograms2D< T, G > &bHD) const
 
void epsPlot (const std::string &name)
 
void fill (const int &flavour, const T &variableX, const G &variableY) const
 
void fill (const int &flavour, const T &variableX, const G &variableY, const float &w) const
 
void fill (const int &flavour, const T *variableX, const G *variableY) const
 
void fill (const int &flavour, const T *variableX, const G *variableY, const float &w) const
 
 FlavourHistograms2D (TString baseNameTitle_, TString baseNameDescription_, int nBinsX_, double lowerBoundX_, double upperBoundX_, int nBinsY_, double lowerBoundY_, double upperBoundY_, bool statistics_, std::string folder, unsigned int mc, bool createProfile, DQMStore::IBooker &ibook)
 
 FlavourHistograms2D (TString baseNameTitle_, TString baseNameDescription_, int nBinsX_, double lowerBoundX_, double upperBoundX_, int nBinsY_, double lowerBoundY_, double upperBoundY_, std::string folder, unsigned int mc, bool createProfile, DQMStore::IGetter &iget)
 
std::vector< TH2F * > getHistoVector () const
 
std::vector< TProfile * > getProfileVector () const
 
TH2F * histo_all () const
 
TH2F * histo_b () const
 
TH2F * histo_c () const
 
TH2F * histo_d () const
 
TH2F * histo_dus () const
 
TH2F * histo_dusg () const
 
TH2F * histo_g () const
 
TH2F * histo_ni () const
 
TH2F * histo_pu () const
 
TH2F * histo_s () const
 
TH2F * histo_u () const
 
double lowerBoundX () const
 
double lowerBoundY () const
 
int nBinsX () const
 
int nBinsY () const
 
void plot (TPad *theCanvas=nullptr)
 
TProfile * profile_all () const
 
TProfile * profile_b () const
 
TProfile * profile_c () const
 
TProfile * profile_d () const
 
TProfile * profile_dus () const
 
TProfile * profile_dusg () const
 
TProfile * profile_g () const
 
TProfile * profile_ni () const
 
TProfile * profile_pu () const
 
TProfile * profile_s () const
 
TProfile * profile_u () const
 
void setEfficiencyFlag ()
 
void SetMaximum (const double &max)
 
void SetMinimum (const double &min)
 
void settitle (const char *titleX, const char *titleY)
 
bool statistics () const
 
double upperBoundX () const
 
double upperBoundY () const
 
virtual ~FlavourHistograms2D ()
 

Protected Member Functions

void fillVariable (const int &flavour, const T &varX, const G &varY, const float &w) const
 

Protected Attributes

int * theArrayDimension
 
std::string theBaseNameDescription
 
std::string theBaseNameTitle
 
MonitorElementtheHisto_all
 
MonitorElementtheHisto_b
 
MonitorElementtheHisto_c
 
MonitorElementtheHisto_d
 
MonitorElementtheHisto_dus
 
MonitorElementtheHisto_dusg
 
MonitorElementtheHisto_g
 
MonitorElementtheHisto_ni
 
MonitorElementtheHisto_pu
 
MonitorElementtheHisto_s
 
MonitorElementtheHisto_u
 
int theIndexToPlot
 
double theLowerBoundX
 
double theLowerBoundY
 
double theMax
 
int theMaxDimension
 
double theMin
 
int theNBinsX
 
int theNBinsY
 
MonitorElementtheProfile_all
 
MonitorElementtheProfile_b
 
MonitorElementtheProfile_c
 
MonitorElementtheProfile_d
 
MonitorElementtheProfile_dus
 
MonitorElementtheProfile_dusg
 
MonitorElementtheProfile_g
 
MonitorElementtheProfile_ni
 
MonitorElementtheProfile_pu
 
MonitorElementtheProfile_s
 
MonitorElementtheProfile_u
 
bool theStatistics
 
double theUpperBoundX
 
double theUpperBoundY
 

Private Member Functions

 FlavourHistograms2D ()
 

Private Attributes

bool createProfile_
 
unsigned int mcPlots_
 

Detailed Description

template<class T, class G>
class FlavourHistograms2D< T, G >

Definition at line 28 of file FlavourHistorgrams2D.h.

Member Typedef Documentation

◆ DQMStore

template<class T, class G>
typedef dqm::legacy::DQMStore FlavourHistograms2D< T, G >::DQMStore

Definition at line 30 of file FlavourHistorgrams2D.h.

◆ MonitorElement

template<class T, class G>
typedef dqm::legacy::MonitorElement FlavourHistograms2D< T, G >::MonitorElement

Definition at line 31 of file FlavourHistorgrams2D.h.

Constructor & Destructor Documentation

◆ FlavourHistograms2D() [1/3]

template<class T , class G >
FlavourHistograms2D< T, G >::FlavourHistograms2D ( TString  baseNameTitle_,
TString  baseNameDescription_,
int  nBinsX_,
double  lowerBoundX_,
double  upperBoundX_,
int  nBinsY_,
double  lowerBoundY_,
double  upperBoundY_,
std::string  folder,
unsigned int  mc,
bool  createProfile,
DQMStore::IGetter iget 
)

Definition at line 189 of file FlavourHistorgrams2D.h.

201  : // BaseFlavourHistograms2D () ,
202  // theVariable ( variable_ ) ,
203  theMaxDimension(-1),
204  theIndexToPlot(-1),
205  theBaseNameTitle(baseNameTitle_.Data()),
206  theBaseNameDescription(baseNameDescription_.Data()),
207  theNBinsX(nBinsX_),
208  theNBinsY(nBinsY_),
209  theLowerBoundX(lowerBoundX_),
210  theUpperBoundX(upperBoundX_),
211  theLowerBoundY(lowerBoundY_),
212  theUpperBoundY(upperBoundY_),
213  theMin(-1.),
214  theMax(-1.),
215  mcPlots_(mc),
216  createProfile_(createProfile) {
217  // defaults for array dimensions
218  theArrayDimension = nullptr;
219 
220  if (mcPlots_ % 2 == 0)
221  theHisto_all = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "ALL");
222  else
223  theHisto_all = nullptr;
224  if (mcPlots_) {
225  if (mcPlots_ > 2) {
226  theHisto_d = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "D");
227  theHisto_u = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "U");
228  theHisto_s = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "S");
229  theHisto_g = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "G");
230  theHisto_dus = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "DUS");
231  } else {
232  theHisto_d = nullptr;
233  theHisto_u = nullptr;
234  theHisto_s = nullptr;
235  theHisto_g = nullptr;
236  theHisto_dus = nullptr;
237  }
238  theHisto_c = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "C");
239  theHisto_b = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "B");
240  theHisto_ni = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "NI");
241  theHisto_dusg = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "DUSG");
242  theHisto_pu = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "PU");
243  } else {
244  theHisto_d = nullptr;
245  theHisto_u = nullptr;
246  theHisto_s = nullptr;
247  theHisto_c = nullptr;
248  theHisto_b = nullptr;
249  theHisto_g = nullptr;
250  theHisto_ni = nullptr;
251  theHisto_dus = nullptr;
252  theHisto_dusg = nullptr;
253  theHisto_pu = nullptr;
254  }
255 
256  if (createProfile_) {
257  if (mcPlots_ % 2 == 0)
258  theProfile_all = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_ALL");
259  else
260  theProfile_all = nullptr;
261  if (mcPlots_) {
262  if (mcPlots_ > 2) {
263  theProfile_d = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_D");
264  theProfile_u = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_U");
265  theProfile_s = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_S");
266  theProfile_g = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_G");
267  theProfile_dus = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_DUS");
268  } else {
269  theProfile_d = nullptr;
270  theProfile_u = nullptr;
271  theProfile_s = nullptr;
272  theProfile_g = nullptr;
273  theProfile_dus = nullptr;
274  }
275  theProfile_c = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_C");
276  theProfile_b = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_B");
277  theProfile_ni = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_NI");
278  theProfile_dusg = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_DUSG");
279  theProfile_pu = iget.get("Btag/" + folder + "/" + theBaseNameTitle + "_Profile_PU");
280  } else {
281  theProfile_d = nullptr;
282  theProfile_u = nullptr;
283  theProfile_s = nullptr;
284  theProfile_c = nullptr;
285  theProfile_b = nullptr;
286  theProfile_g = nullptr;
287  theProfile_ni = nullptr;
288  theProfile_dus = nullptr;
289  theProfile_dusg = nullptr;
290  theProfile_pu = nullptr;
291  }
292  } else {
293  theProfile_all = nullptr;
294  theProfile_d = nullptr;
295  theProfile_u = nullptr;
296  theProfile_s = nullptr;
297  theProfile_c = nullptr;
298  theProfile_b = nullptr;
299  theProfile_g = nullptr;
300  theProfile_ni = nullptr;
301  theProfile_dus = nullptr;
302  theProfile_dusg = nullptr;
303  theProfile_pu = nullptr;
304  }
305 }

References FlavourHistograms2D< T, G >::createProfile_, printsummarytable::folder, dqm::implementation::IGetter::get(), FlavourHistograms2D< T, G >::mcPlots_, FlavourHistograms2D< T, G >::theArrayDimension, FlavourHistograms2D< T, G >::theBaseNameTitle, FlavourHistograms2D< T, G >::theHisto_all, FlavourHistograms2D< T, G >::theHisto_b, FlavourHistograms2D< T, G >::theHisto_c, FlavourHistograms2D< T, G >::theHisto_d, FlavourHistograms2D< T, G >::theHisto_dus, FlavourHistograms2D< T, G >::theHisto_dusg, FlavourHistograms2D< T, G >::theHisto_g, FlavourHistograms2D< T, G >::theHisto_ni, FlavourHistograms2D< T, G >::theHisto_pu, FlavourHistograms2D< T, G >::theHisto_s, FlavourHistograms2D< T, G >::theHisto_u, FlavourHistograms2D< T, G >::theProfile_all, FlavourHistograms2D< T, G >::theProfile_b, FlavourHistograms2D< T, G >::theProfile_c, FlavourHistograms2D< T, G >::theProfile_d, FlavourHistograms2D< T, G >::theProfile_dus, FlavourHistograms2D< T, G >::theProfile_dusg, FlavourHistograms2D< T, G >::theProfile_g, FlavourHistograms2D< T, G >::theProfile_ni, FlavourHistograms2D< T, G >::theProfile_pu, FlavourHistograms2D< T, G >::theProfile_s, and FlavourHistograms2D< T, G >::theProfile_u.

◆ FlavourHistograms2D() [2/3]

template<class T , class G >
FlavourHistograms2D< T, G >::FlavourHistograms2D ( TString  baseNameTitle_,
TString  baseNameDescription_,
int  nBinsX_,
double  lowerBoundX_,
double  upperBoundX_,
int  nBinsY_,
double  lowerBoundY_,
double  upperBoundY_,
bool  statistics_,
std::string  folder,
unsigned int  mc,
bool  createProfile,
DQMStore::IBooker ibook 
)

Definition at line 308 of file FlavourHistorgrams2D.h.

321  : theMaxDimension(-1),
322  theIndexToPlot(-1),
323  theBaseNameTitle(baseNameTitle_.Data()),
324  theBaseNameDescription(baseNameDescription_.Data()),
325  theNBinsX(nBinsX_),
326  theNBinsY(nBinsY_),
327  theLowerBoundX(lowerBoundX_),
328  theUpperBoundX(upperBoundX_),
329  theLowerBoundY(lowerBoundY_),
330  theUpperBoundY(upperBoundY_),
331  theStatistics(statistics_),
332  theMin(-1.),
333  theMax(-1.),
334  mcPlots_(mc),
335  createProfile_(createProfile) {
336  // defaults for array dimensions
337  theArrayDimension = nullptr;
338 
339  // book histos
340  HistoProviderDQM prov("Btag", folder, ibook);
341  if (mcPlots_ % 2 == 0)
342  theHisto_all = (prov.book2D(theBaseNameTitle + "ALL",
343  theBaseNameDescription + " all jets",
344  theNBinsX,
347  theNBinsY,
349  theUpperBoundY));
350  else
351  theHisto_all = nullptr;
352  if (mcPlots_) {
353  if (mcPlots_ > 2) {
354  theHisto_d = (prov.book2D(theBaseNameTitle + "D",
355  theBaseNameDescription + " d-jets",
356  theNBinsX,
359  theNBinsY,
361  theUpperBoundY));
362  theHisto_u = (prov.book2D(theBaseNameTitle + "U",
363  theBaseNameDescription + " u-jets",
364  theNBinsX,
367  theNBinsY,
369  theUpperBoundY));
370  theHisto_s = (prov.book2D(theBaseNameTitle + "S",
371  theBaseNameDescription + " s-jets",
372  theNBinsX,
375  theNBinsY,
377  theUpperBoundY));
378  theHisto_g = (prov.book2D(theBaseNameTitle + "G",
379  theBaseNameDescription + " g-jets",
380  theNBinsX,
383  theNBinsY,
385  theUpperBoundY));
386  theHisto_dus = (prov.book2D(theBaseNameTitle + "DUS",
387  theBaseNameDescription + " dus-jets",
388  theNBinsX,
391  theNBinsY,
393  theUpperBoundY));
394  } else {
395  theHisto_d = nullptr;
396  theHisto_u = nullptr;
397  theHisto_s = nullptr;
398  theHisto_g = nullptr;
399  theHisto_dus = nullptr;
400  }
401  theHisto_c = (prov.book2D(theBaseNameTitle + "C",
402  theBaseNameDescription + " c-jets",
403  theNBinsX,
406  theNBinsY,
408  theUpperBoundY));
409  theHisto_b = (prov.book2D(theBaseNameTitle + "B",
410  theBaseNameDescription + " b-jets",
411  theNBinsX,
414  theNBinsY,
416  theUpperBoundY));
417  theHisto_ni = (prov.book2D(theBaseNameTitle + "NI",
418  theBaseNameDescription + " ni-jets",
419  theNBinsX,
422  theNBinsY,
424  theUpperBoundY));
425  theHisto_dusg = (prov.book2D(theBaseNameTitle + "DUSG",
426  theBaseNameDescription + " dusg-jets",
427  theNBinsX,
430  theNBinsY,
432  theUpperBoundY));
433  theHisto_pu = (prov.book2D(theBaseNameTitle + "PU",
434  theBaseNameDescription + " pu-jets",
435  theNBinsX,
438  theNBinsY,
440  theUpperBoundY));
441  } else {
442  theHisto_d = nullptr;
443  theHisto_u = nullptr;
444  theHisto_s = nullptr;
445  theHisto_c = nullptr;
446  theHisto_b = nullptr;
447  theHisto_g = nullptr;
448  theHisto_ni = nullptr;
449  theHisto_dus = nullptr;
450  theHisto_dusg = nullptr;
451  theHisto_pu = nullptr;
452  }
453 
454  if (createProfile_) {
455  if (mcPlots_ % 2 == 0)
456  theProfile_all = (prov.bookProfile(theBaseNameTitle + "_Profile_ALL",
457  theBaseNameDescription + " all jets",
458  theNBinsX,
461  theNBinsY,
463  theUpperBoundY));
464  else
465  theProfile_all = nullptr;
466  if (mcPlots_) {
467  if (mcPlots_ > 2) {
468  theProfile_d = (prov.bookProfile(theBaseNameTitle + "_Profile_D",
469  theBaseNameDescription + " d-jets",
470  theNBinsX,
473  theNBinsY,
475  theUpperBoundY));
476  theProfile_u = (prov.bookProfile(theBaseNameTitle + "_Profile_U",
477  theBaseNameDescription + " u-jets",
478  theNBinsX,
481  theNBinsY,
483  theUpperBoundY));
484  theProfile_s = (prov.bookProfile(theBaseNameTitle + "_Profile_S",
485  theBaseNameDescription + " s-jets",
486  theNBinsX,
489  theNBinsY,
491  theUpperBoundY));
492  theProfile_g = (prov.bookProfile(theBaseNameTitle + "_Profile_G",
493  theBaseNameDescription + " g-jets",
494  theNBinsX,
497  theNBinsY,
499  theUpperBoundY));
500  theProfile_dus = (prov.bookProfile(theBaseNameTitle + "_Profile_DUS",
501  theBaseNameDescription + " dus-jets",
502  theNBinsX,
505  theNBinsY,
507  theUpperBoundY));
508  } else {
509  theProfile_d = nullptr;
510  theProfile_u = nullptr;
511  theProfile_s = nullptr;
512  theProfile_g = nullptr;
513  theProfile_dus = nullptr;
514  }
515  theProfile_c = (prov.bookProfile(theBaseNameTitle + "_Profile_C",
516  theBaseNameDescription + " c-jets",
517  theNBinsX,
520  theNBinsY,
522  theUpperBoundY));
523  theProfile_b = (prov.bookProfile(theBaseNameTitle + "_Profile_B",
524  theBaseNameDescription + " b-jets",
525  theNBinsX,
528  theNBinsY,
530  theUpperBoundY));
531  theProfile_ni = (prov.bookProfile(theBaseNameTitle + "_Profile_NI",
532  theBaseNameDescription + " ni-jets",
533  theNBinsX,
536  theNBinsY,
538  theUpperBoundY));
539  theProfile_dusg = (prov.bookProfile(theBaseNameTitle + "_Profile_DUSG",
540  theBaseNameDescription + " dusg-jets",
541  theNBinsX,
544  theNBinsY,
546  theUpperBoundY));
547  theProfile_pu = (prov.bookProfile(theBaseNameTitle + "_Profile_PU",
548  theBaseNameDescription + " pu-jets",
549  theNBinsX,
552  theNBinsY,
554  theUpperBoundY));
555  } else {
556  theProfile_d = nullptr;
557  theProfile_u = nullptr;
558  theProfile_s = nullptr;
559  theProfile_c = nullptr;
560  theProfile_b = nullptr;
561  theProfile_g = nullptr;
562  theProfile_ni = nullptr;
563  theProfile_dus = nullptr;
564  theProfile_dusg = nullptr;
565  theProfile_pu = nullptr;
566  }
567  } else {
568  theProfile_all = nullptr;
569  theProfile_d = nullptr;
570  theProfile_u = nullptr;
571  theProfile_s = nullptr;
572  theProfile_c = nullptr;
573  theProfile_b = nullptr;
574  theProfile_g = nullptr;
575  theProfile_ni = nullptr;
576  theProfile_dus = nullptr;
577  theProfile_dusg = nullptr;
578  theProfile_pu = nullptr;
579  }
580  // statistics if requested
581  if (theStatistics) {
582  if (theHisto_all)
584  if (createProfile)
585  if (theProfile_all)
586  theProfile_all->getTProfile()->Sumw2();
587  if (mcPlots_) {
588  if (mcPlots_ > 2) {
594  }
600 
601  if (createProfile) {
602  if (mcPlots_ > 2) {
603  theProfile_d->getTProfile()->Sumw2();
604  theProfile_u->getTProfile()->Sumw2();
605  theProfile_s->getTProfile()->Sumw2();
606  theProfile_g->getTProfile()->Sumw2();
607  theProfile_dus->getTProfile()->Sumw2();
608  }
609  theProfile_c->getTProfile()->Sumw2();
610  theProfile_b->getTProfile()->Sumw2();
611  theProfile_ni->getTProfile()->Sumw2();
612  theProfile_dusg->getTProfile()->Sumw2();
613  theProfile_pu->getTProfile()->Sumw2();
614  }
615  }
616  }
617 }

References HistoProviderDQM::book2D(), HistoProviderDQM::bookProfile(), FlavourHistograms2D< T, G >::createProfile_, dqm::impl::MonitorElement::enableSumw2(), printsummarytable::folder, dqm::legacy::MonitorElement::getTProfile(), FlavourHistograms2D< T, G >::mcPlots_, FlavourHistograms2D< T, G >::theArrayDimension, FlavourHistograms2D< T, G >::theBaseNameDescription, FlavourHistograms2D< T, G >::theBaseNameTitle, FlavourHistograms2D< T, G >::theHisto_all, FlavourHistograms2D< T, G >::theHisto_b, FlavourHistograms2D< T, G >::theHisto_c, FlavourHistograms2D< T, G >::theHisto_d, FlavourHistograms2D< T, G >::theHisto_dus, FlavourHistograms2D< T, G >::theHisto_dusg, FlavourHistograms2D< T, G >::theHisto_g, FlavourHistograms2D< T, G >::theHisto_ni, FlavourHistograms2D< T, G >::theHisto_pu, FlavourHistograms2D< T, G >::theHisto_s, FlavourHistograms2D< T, G >::theHisto_u, FlavourHistograms2D< T, G >::theLowerBoundX, FlavourHistograms2D< T, G >::theLowerBoundY, FlavourHistograms2D< T, G >::theNBinsX, FlavourHistograms2D< T, G >::theNBinsY, FlavourHistograms2D< T, G >::theProfile_all, FlavourHistograms2D< T, G >::theProfile_b, FlavourHistograms2D< T, G >::theProfile_c, FlavourHistograms2D< T, G >::theProfile_d, FlavourHistograms2D< T, G >::theProfile_dus, FlavourHistograms2D< T, G >::theProfile_dusg, FlavourHistograms2D< T, G >::theProfile_g, FlavourHistograms2D< T, G >::theProfile_ni, FlavourHistograms2D< T, G >::theProfile_pu, FlavourHistograms2D< T, G >::theProfile_s, FlavourHistograms2D< T, G >::theProfile_u, FlavourHistograms2D< T, G >::theStatistics, FlavourHistograms2D< T, G >::theUpperBoundX, and FlavourHistograms2D< T, G >::theUpperBoundY.

◆ ~FlavourHistograms2D()

template<class T , class G >
FlavourHistograms2D< T, G >::~FlavourHistograms2D ( )
virtual

Definition at line 620 of file FlavourHistorgrams2D.h.

620 {}

◆ FlavourHistograms2D() [3/3]

template<class T, class G>
FlavourHistograms2D< T, G >::FlavourHistograms2D ( )
inlineprivate

Definition at line 182 of file FlavourHistorgrams2D.h.

182 {}

Member Function Documentation

◆ baseNameDescription()

template<class T, class G>
std::string FlavourHistograms2D< T, G >::baseNameDescription ( ) const
inline

◆ baseNameTitle()

template<class T, class G>
std::string FlavourHistograms2D< T, G >::baseNameTitle ( ) const
inline

◆ divide()

template<class T , class G >
void FlavourHistograms2D< T, G >::divide ( const FlavourHistograms2D< T, G > &  bHD) const

Definition at line 869 of file FlavourHistorgrams2D.h.

869  {
870  // divide histos using binomial errors
871  //
872  // ATTENTION: It's the responsability of the user to make sure that the HistoDescriptions
873  // involved in this operation have been constructed with the statistics option switched on!!
874  //
875  if (theHisto_all)
876  theHisto_all->getTH2F()->Divide(theHisto_all->getTH2F(), bHD.histo_all(), 1.0, 1.0, "b");
877  if (mcPlots_) {
878  if (mcPlots_ > 2) {
879  theHisto_d->getTH2F()->Divide(theHisto_d->getTH2F(), bHD.histo_d(), 1.0, 1.0, "b");
880  theHisto_u->getTH2F()->Divide(theHisto_u->getTH2F(), bHD.histo_u(), 1.0, 1.0, "b");
881  theHisto_s->getTH2F()->Divide(theHisto_s->getTH2F(), bHD.histo_s(), 1.0, 1.0, "b");
882  theHisto_g->getTH2F()->Divide(theHisto_g->getTH2F(), bHD.histo_g(), 1.0, 1.0, "b");
883  theHisto_dus->getTH2F()->Divide(theHisto_dus->getTH2F(), bHD.histo_dus(), 1.0, 1.0, "b");
884  }
885  theHisto_c->getTH2F()->Divide(theHisto_c->getTH2F(), bHD.histo_c(), 1.0, 1.0, "b");
886  theHisto_b->getTH2F()->Divide(theHisto_b->getTH2F(), bHD.histo_b(), 1.0, 1.0, "b");
887  theHisto_ni->getTH2F()->Divide(theHisto_ni->getTH2F(), bHD.histo_ni(), 1.0, 1.0, "b");
888  theHisto_dusg->getTH2F()->Divide(theHisto_dusg->getTH2F(), bHD.histo_dusg(), 1.0, 1.0, "b");
889  theHisto_pu->getTH2F()->Divide(theHisto_pu->getTH2F(), bHD.histo_pu(), 1.0, 1.0, "b");
890  }
891 }

References FlavourHistograms2D< T, G >::histo_all(), FlavourHistograms2D< T, G >::histo_b(), FlavourHistograms2D< T, G >::histo_c(), FlavourHistograms2D< T, G >::histo_d(), FlavourHistograms2D< T, G >::histo_dus(), FlavourHistograms2D< T, G >::histo_dusg(), FlavourHistograms2D< T, G >::histo_g(), FlavourHistograms2D< T, G >::histo_ni(), FlavourHistograms2D< T, G >::histo_pu(), FlavourHistograms2D< T, G >::histo_s(), and FlavourHistograms2D< T, G >::histo_u().

Referenced by python.rootplot.utilities.Hist::__div__().

◆ epsPlot()

template<class T , class G >
void FlavourHistograms2D< T, G >::epsPlot ( const std::string &  name)

Definition at line 859 of file FlavourHistorgrams2D.h.

859  {
860  TCanvas tc(theBaseNameTitle.c_str(), theBaseNameDescription.c_str());
861 
862  plot(&tc);
863  tc.Print((name + theBaseNameTitle + ".eps").c_str());
864 }

References Skims_PA_cff::name, and plotFactory::plot.

◆ fill() [1/4]

template<class T , class G >
void FlavourHistograms2D< T, G >::fill ( const int &  flavour,
const T variableX,
const G &  variableY 
) const

Definition at line 630 of file FlavourHistorgrams2D.h.

630  {
631  fill(flavour, variableX, variableY, 1.);
632 }

References ntuplemaker::fill, and GenHFHadronMatcher_cff::flavour.

◆ fill() [2/4]

template<class T , class G >
void FlavourHistograms2D< T, G >::fill ( const int &  flavour,
const T variableX,
const G &  variableY,
const float &  w 
) const

Definition at line 624 of file FlavourHistorgrams2D.h.

624  {
625  // For single variables and arrays (for arrays only a single index can be filled)
626  fillVariable(flavour, variableX, variableY, w);
627 }

References GenHFHadronMatcher_cff::flavour, and w.

◆ fill() [3/4]

template<class T , class G >
void FlavourHistograms2D< T, G >::fill ( const int &  flavour,
const T variableX,
const G *  variableY 
) const

Definition at line 663 of file FlavourHistorgrams2D.h.

663  {
664  fill(flavour, variableX, variableY, 1.);
665 }

References ntuplemaker::fill, and GenHFHadronMatcher_cff::flavour.

◆ fill() [4/4]

template<class T , class G >
void FlavourHistograms2D< T, G >::fill ( const int &  flavour,
const T variableX,
const G *  variableY,
const float &  w 
) const

Definition at line 635 of file FlavourHistorgrams2D.h.

635  {
636  if (theArrayDimension == 0) {
637  // single variable
638  fillVariable(flavour, *variableX, *variableY, w);
639  } else {
640  // array
641  int iMax = *theArrayDimension;
643  iMax = theMaxDimension;
644  //
645  for (int i = 0; i != iMax; ++i) {
646  // check if only one index to be plotted (<0: switched off -> plot all)
647  if ((theIndexToPlot < 0) || (i == theIndexToPlot)) {
648  fillVariable(flavour, *(variableX + i), *(variableY + i), w);
649  }
650  }
651 
652  // if single index to be filled but not enough entries: fill 0.0 (convention!)
653  if (theIndexToPlot >= iMax) {
654  // cout << "==>> The index to be filled is too big -> fill 0.0 : " << theBaseNameTitle << " : " << theIndexToPlot << " >= " << iMax << endl ;
655  const T &theZeroT = static_cast<T>(0.0);
656  const G &theZeroG = static_cast<T>(0.0);
657  fillVariable(flavour, theZeroT, theZeroG, w);
658  }
659  }
660 }

References GenHFHadronMatcher_cff::flavour, callgraph::G, mps_fire::i, and w.

◆ fillVariable()

template<class T , class G >
void FlavourHistograms2D< T, G >::fillVariable ( const int &  flavour,
const T varX,
const G &  varY,
const float &  w 
) const
protected

Definition at line 914 of file FlavourHistorgrams2D.h.

914  {
915  // all
916  if (theHisto_all)
917  theHisto_all->Fill(varX, varY, w);
918  if (createProfile_)
919  //if(theProfile_all) theProfile_all->Fill( varX, varY, w );
920  if (theProfile_all)
921  theProfile_all->Fill(varX, varY);
922 
923  //exit(-1);
924  // flavour specific
925  if (!mcPlots_)
926  return;
927 
928  switch (flavour) {
929  case 1:
930  if (mcPlots_ > 2) {
931  theHisto_d->Fill(varX, varY, w);
932  theHisto_dus->Fill(varX, varY, w);
933  }
934  theHisto_dusg->Fill(varX, varY, w);
935  if (createProfile_) {
936  //theProfile_d->Fill(varX, varY,w);
937  //theProfile_dus->Fill(varX, varY,w);
938  //theProfile_dusg->Fill(varX, varY,w);
939  if (mcPlots_ > 2) {
940  theProfile_d->Fill(varX, varY);
941  theProfile_dus->Fill(varX, varY);
942  }
943  theProfile_dusg->Fill(varX, varY);
944  }
945  return;
946  case 2:
947  if (mcPlots_ > 2) {
948  theHisto_u->Fill(varX, varY, w);
949  theHisto_dus->Fill(varX, varY, w);
950  }
951  theHisto_dusg->Fill(varX, varY, w);
952  if (createProfile_) {
953  //theProfile_u->Fill(varX, varY,w);
954  //theProfile_dus->Fill(varX, varY,w);
955  //theProfile_dusg->Fill(varX, varY,w);
956  if (mcPlots_ > 2) {
957  theProfile_u->Fill(varX, varY);
958  theProfile_dus->Fill(varX, varY);
959  }
960  theProfile_dusg->Fill(varX, varY);
961  }
962  return;
963  case 3:
964  if (mcPlots_ > 2) {
965  theHisto_s->Fill(varX, varY, w);
966  theHisto_dus->Fill(varX, varY, w);
967  }
968  theHisto_dusg->Fill(varX, varY, w);
969  if (createProfile_) {
970  //theProfile_s->Fill(varX, varY,w);
971  //theProfile_dus->Fill(varX, varY,w);
972  //theProfile_dusg->Fill(varX, varY,w);
973  if (mcPlots_ > 2) {
974  theProfile_s->Fill(varX, varY);
975  theProfile_dus->Fill(varX, varY);
976  }
977  theProfile_dusg->Fill(varX, varY);
978  }
979  return;
980  case 4:
981  theHisto_c->Fill(varX, varY, w);
982  //if(createProfile_) theProfile_c->Fill(varX, varY,w);
983  if (createProfile_)
984  theProfile_c->Fill(varX, varY);
985  return;
986  case 5:
987  theHisto_b->Fill(varX, varY, w);
988  //if(createProfile_) theProfile_b->Fill(varX, varY,w);
989  if (createProfile_)
990  theProfile_b->Fill(varX, varY);
991  return;
992  case 21:
993  if (mcPlots_ > 2)
994  theHisto_g->Fill(varX, varY, w);
995  theHisto_dusg->Fill(varX, varY, w);
996  if (createProfile_) {
997  //theProfile_g->Fill(varX, varY,w);
998  //theProfile_dusg->Fill(varX, varY,w);
999  if (mcPlots_ > 2)
1000  theProfile_g->Fill(varX, varY);
1001  theProfile_dusg->Fill(varX, varY);
1002  }
1003  return;
1004  case 20:
1005  theHisto_pu->Fill(varX, varY, w);
1006  //if(createProfile_) theProfile_pu->Fill(varX, varY,w);
1007  if (createProfile_)
1008  theProfile_pu->Fill(varX, varY);
1009  return;
1010  default:
1011  theHisto_ni->Fill(varX, varY, w);
1012  //if(createProfile_) theProfile_ni->Fill(varX, varY,w);
1013  if (createProfile_)
1014  theProfile_ni->Fill(varX, varY);
1015  return;
1016  }
1017 }

References GenHFHadronMatcher_cff::flavour, and w.

◆ getHistoVector()

template<class T , class G >
std::vector< TH2F * > FlavourHistograms2D< T, G >::getHistoVector ( ) const

Definition at line 1020 of file FlavourHistorgrams2D.h.

1020  {
1021  std::vector<TH2F *> histoVector;
1022  if (theHisto_all)
1023  histoVector.push_back(theHisto_all->getTH2F());
1024  if (mcPlots_) {
1025  if (mcPlots_ > 2) {
1026  histoVector.push_back(theHisto_d->getTH2F());
1027  histoVector.push_back(theHisto_u->getTH2F());
1028  histoVector.push_back(theHisto_s->getTH2F());
1029  histoVector.push_back(theHisto_g->getTH2F());
1030  histoVector.push_back(theHisto_dus->getTH2F());
1031  }
1032  histoVector.push_back(theHisto_c->getTH2F());
1033  histoVector.push_back(theHisto_b->getTH2F());
1034  histoVector.push_back(theHisto_ni->getTH2F());
1035  histoVector.push_back(theHisto_dusg->getTH2F());
1036  histoVector.push_back(theHisto_pu->getTH2F());
1037  }
1038  return histoVector;
1039 }

Referenced by EffPurFromHistos2D::EffPurFromHistos2D().

◆ getProfileVector()

template<class T , class G >
std::vector< TProfile * > FlavourHistograms2D< T, G >::getProfileVector ( ) const

Definition at line 1042 of file FlavourHistorgrams2D.h.

1042  {
1043  std::vector<TProfile *> profileVector;
1044  if (createProfile_) {
1045  if (theProfile_all)
1046  profileVector.push_back(theProfile_all->getTProfile());
1047  if (mcPlots_) {
1048  if (mcPlots_ > 2) {
1049  profileVector.push_back(theProfile_d->getTProfile());
1050  profileVector.push_back(theProfile_u->getTProfile());
1051  profileVector.push_back(theProfile_s->getTProfile());
1052  profileVector.push_back(theProfile_g->getTProfile());
1053  profileVector.push_back(theProfile_dus->getTProfile());
1054  }
1055  profileVector.push_back(theProfile_c->getTProfile());
1056  profileVector.push_back(theProfile_b->getTProfile());
1057  profileVector.push_back(theProfile_ni->getTProfile());
1058  profileVector.push_back(theProfile_dusg->getTProfile());
1059  profileVector.push_back(theProfile_pu->getTProfile());
1060  }
1061  }
1062  return profileVector;
1063 }

◆ histo_all()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_all ( ) const
inline

◆ histo_b()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_b ( ) const
inline

◆ histo_c()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_c ( ) const
inline

◆ histo_d()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_d ( ) const
inline

◆ histo_dus()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_dus ( ) const
inline

◆ histo_dusg()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_dusg ( ) const
inline

◆ histo_g()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_g ( ) const
inline

◆ histo_ni()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_ni ( ) const
inline

◆ histo_pu()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_pu ( ) const
inline

◆ histo_s()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_s ( ) const
inline

◆ histo_u()

template<class T, class G>
TH2F* FlavourHistograms2D< T, G >::histo_u ( ) const
inline

◆ lowerBoundX()

template<class T, class G>
double FlavourHistograms2D< T, G >::lowerBoundX ( ) const
inline

◆ lowerBoundY()

template<class T, class G>
double FlavourHistograms2D< T, G >::lowerBoundY ( ) const
inline

◆ nBinsX()

template<class T, class G>
int FlavourHistograms2D< T, G >::nBinsX ( ) const
inline

Definition at line 90 of file FlavourHistorgrams2D.h.

90 { return theNBinsX; }

References FlavourHistograms2D< T, G >::theNBinsX.

Referenced by EffPurFromHistos2D::EffPurFromHistos2D().

◆ nBinsY()

template<class T, class G>
int FlavourHistograms2D< T, G >::nBinsY ( ) const
inline

Definition at line 91 of file FlavourHistorgrams2D.h.

91 { return theNBinsY; }

References FlavourHistograms2D< T, G >::theNBinsY.

Referenced by EffPurFromHistos2D::EffPurFromHistos2D().

◆ plot()

template<class T , class G >
void FlavourHistograms2D< T, G >::plot ( TPad *  theCanvas = nullptr)

Definition at line 763 of file FlavourHistorgrams2D.h.

763  {
764  //fixme:
765  bool btppNI = false;
766  bool btppColour = true;
767 
768  if (theCanvas)
769  theCanvas->cd();
770 
771  RecoBTag::setTDRStyle()->cd();
772  gPad->UseCurrentStyle();
773  gPad->SetLogy(0);
774  gPad->SetGridx(0);
775  gPad->SetGridy(0);
776  gPad->SetTitle(nullptr);
777 
778  MonitorElement *histo[4];
779  int col[4], lineStyle[4], markerStyle[4];
780  int lineWidth = 1;
781 
782  const double markerSize = gPad->GetWh() * gPad->GetHNDC() / 500.;
783  histo[0] = theHisto_dusg;
784  histo[1] = theHisto_b;
785  histo[2] = theHisto_c;
786  histo[3] = nullptr;
787 
788  double max = theMax;
789  if (theMax <= 0.) {
790  max = theHisto_dusg->getTH2F()->GetMaximum();
791  if (theHisto_b->getTH2F()->GetMaximum() > max)
792  max = theHisto_b->getTH2F()->GetMaximum();
793  if (theHisto_c->getTH2F()->GetMaximum() > max)
794  max = theHisto_c->getTH2F()->GetMaximum();
795  }
796 
797  if (btppNI) {
798  histo[3] = theHisto_ni;
799  if (theHisto_ni->getTH2F()->GetMaximum() > max)
800  max = theHisto_ni->getTH2F()->GetMaximum();
801  }
802 
803  if (btppColour) { // print colours
804  col[0] = 4;
805  col[1] = 2;
806  col[2] = 6;
807  col[3] = 3;
808  lineStyle[0] = 1;
809  lineStyle[1] = 1;
810  lineStyle[2] = 1;
811  lineStyle[3] = 1;
812  markerStyle[0] = 20;
813  markerStyle[1] = 21;
814  markerStyle[2] = 22;
815  markerStyle[3] = 23;
816  lineWidth = 1;
817  } else { // different marker/line styles
818  col[1] = 1;
819  col[2] = 1;
820  col[3] = 1;
821  col[0] = 1;
822  lineStyle[0] = 2;
823  lineStyle[1] = 1;
824  lineStyle[2] = 3;
825  lineStyle[3] = 4;
826  markerStyle[0] = 20;
827  markerStyle[1] = 21;
828  markerStyle[2] = 22;
829  markerStyle[3] = 23;
830  }
831 
832  histo[0]->setAxisTitle(theBaseNameDescription);
833  histo[0]->getTH2F()->GetYaxis()->SetTitle("Arbitrary Units");
834  histo[0]->getTH2F()->GetYaxis()->SetTitleOffset(1.25);
835 
836  for (int i = 0; i != 4; ++i) {
837  if (histo[i] == nullptr)
838  continue;
839  histo[i]->getTH2F()->SetStats(false);
840  histo[i]->getTH2F()->SetLineStyle(lineStyle[i]);
841  histo[i]->getTH2F()->SetLineWidth(lineWidth);
842  histo[i]->getTH2F()->SetLineColor(col[i]);
843  histo[i]->getTH2F()->SetMarkerStyle(markerStyle[i]);
844  histo[i]->getTH2F()->SetMarkerColor(col[i]);
845  histo[i]->getTH2F()->SetMarkerSize(markerSize);
846  }
847 
848  histo[0]->getTH2F()->SetMaximum(max * 1.05);
849  if (theMin != -1.)
850  histo[0]->getTH2F()->SetMinimum(theMin);
851  histo[0]->getTH2F()->Draw();
852  histo[1]->getTH2F()->Draw("Same");
853  histo[2]->getTH2F()->Draw("Same");
854  if (histo[3] != nullptr)
855  histo[3]->getTH2F()->Draw("Same");
856 }

References cuy::col, timingPdfMaker::histo, mps_fire::i, RecoTauValidation_cfi::lineStyle, RecoTauValidation_cfi::lineWidth, RecoTauValidation_cfi::markerSize, RecoTauValidation_cfi::markerStyle, SiStripPI::max, and RecoBTag::setTDRStyle().

◆ profile_all()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_all ( ) const
inline

◆ profile_b()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_b ( ) const
inline

◆ profile_c()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_c ( ) const
inline

◆ profile_d()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_d ( ) const
inline

◆ profile_dus()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_dus ( ) const
inline

◆ profile_dusg()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_dusg ( ) const
inline

◆ profile_g()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_g ( ) const
inline

◆ profile_ni()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_ni ( ) const
inline

◆ profile_pu()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_pu ( ) const
inline

◆ profile_s()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_s ( ) const
inline

◆ profile_u()

template<class T, class G>
TProfile* FlavourHistograms2D< T, G >::profile_u ( ) const
inline

◆ setEfficiencyFlag()

template<class T , class G >
void FlavourHistograms2D< T, G >::setEfficiencyFlag ( )

◆ SetMaximum()

template<class T, class G>
void FlavourHistograms2D< T, G >::SetMaximum ( const double &  max)
inline

Definition at line 84 of file FlavourHistorgrams2D.h.

84 { theMax = max; }

References SiStripPI::max, and FlavourHistograms2D< T, G >::theMax.

◆ SetMinimum()

template<class T, class G>
void FlavourHistograms2D< T, G >::SetMinimum ( const double &  min)
inline

Definition at line 85 of file FlavourHistorgrams2D.h.

85 { theMin = min; }

References min(), and FlavourHistograms2D< T, G >::theMin.

◆ settitle()

template<class T , class G >
void FlavourHistograms2D< T, G >::settitle ( const char *  titleX,
const char *  titleY 
)

Definition at line 668 of file FlavourHistorgrams2D.h.

668  {
669  if (theHisto_all)
670  theHisto_all->setAxisTitle(titleX);
671  if (theHisto_all)
672  theHisto_all->setAxisTitle(titleY, 2);
673  if (mcPlots_) {
674  if (theHisto_d)
675  theHisto_d->setAxisTitle(titleX);
676  if (theHisto_u)
677  theHisto_u->setAxisTitle(titleX);
678  if (theHisto_s)
679  theHisto_s->setAxisTitle(titleX);
680  if (theHisto_c)
681  theHisto_c->setAxisTitle(titleX);
682  if (theHisto_b)
683  theHisto_b->setAxisTitle(titleX);
684  if (theHisto_g)
685  theHisto_g->setAxisTitle(titleX);
686  if (theHisto_ni)
687  theHisto_ni->setAxisTitle(titleX);
688  if (theHisto_dus)
689  theHisto_dus->setAxisTitle(titleX);
690  if (theHisto_dusg)
691  theHisto_dusg->setAxisTitle(titleX);
692  if (theHisto_d)
693  theHisto_d->setAxisTitle(titleY, 2);
694  if (theHisto_u)
695  theHisto_u->setAxisTitle(titleY, 2);
696  if (theHisto_s)
697  theHisto_s->setAxisTitle(titleY, 2);
698  if (theHisto_c)
699  theHisto_c->setAxisTitle(titleY, 2);
700  if (theHisto_b)
701  theHisto_b->setAxisTitle(titleY, 2);
702  if (theHisto_g)
703  theHisto_g->setAxisTitle(titleY, 2);
704  if (theHisto_ni)
705  theHisto_ni->setAxisTitle(titleY, 2);
706  if (theHisto_dus)
707  theHisto_dus->setAxisTitle(titleY, 2);
708  if (theHisto_dusg)
709  theHisto_dusg->setAxisTitle(titleY, 2);
710  if (theHisto_pu)
711  theHisto_pu->setAxisTitle(titleY, 2);
712  }
713 
714  if (createProfile_) {
715  if (theProfile_all)
716  theProfile_all->setAxisTitle(titleX);
717  if (theProfile_all)
718  theProfile_all->setAxisTitle(titleY, 2);
719  if (mcPlots_) {
720  if (theProfile_d)
721  theProfile_d->setAxisTitle(titleX);
722  if (theProfile_u)
723  theProfile_u->setAxisTitle(titleX);
724  if (theProfile_s)
725  theProfile_s->setAxisTitle(titleX);
726  if (theProfile_c)
727  theProfile_c->setAxisTitle(titleX);
728  if (theProfile_b)
729  theProfile_b->setAxisTitle(titleX);
730  if (theProfile_g)
731  theProfile_g->setAxisTitle(titleX);
732  if (theProfile_ni)
733  theProfile_ni->setAxisTitle(titleX);
734  if (theProfile_dus)
735  theProfile_dus->setAxisTitle(titleX);
736  if (theProfile_dusg)
737  theProfile_dusg->setAxisTitle(titleX);
738  if (theProfile_d)
739  theProfile_d->setAxisTitle(titleY, 2);
740  if (theProfile_u)
741  theProfile_u->setAxisTitle(titleY, 2);
742  if (theProfile_s)
743  theProfile_s->setAxisTitle(titleY, 2);
744  if (theProfile_c)
745  theProfile_c->setAxisTitle(titleY, 2);
746  if (theProfile_b)
747  theProfile_b->setAxisTitle(titleY, 2);
748  if (theProfile_g)
749  theProfile_g->setAxisTitle(titleY, 2);
750  if (theProfile_ni)
751  theProfile_ni->setAxisTitle(titleY, 2);
752  if (theProfile_dus)
753  theProfile_dus->setAxisTitle(titleY, 2);
754  if (theProfile_dusg)
755  theProfile_dusg->setAxisTitle(titleY, 2);
756  if (theProfile_pu)
757  theProfile_pu->setAxisTitle(titleY, 2);
758  }
759  }
760 }

◆ statistics()

template<class T, class G>
bool FlavourHistograms2D< T, G >::statistics ( ) const
inline

Definition at line 96 of file FlavourHistorgrams2D.h.

96 { return theStatistics; }

References FlavourHistograms2D< T, G >::theStatistics.

◆ upperBoundX()

template<class T, class G>
double FlavourHistograms2D< T, G >::upperBoundX ( ) const
inline

◆ upperBoundY()

template<class T, class G>
double FlavourHistograms2D< T, G >::upperBoundY ( ) const
inline

Member Data Documentation

◆ createProfile_

template<class T, class G>
bool FlavourHistograms2D< T, G >::createProfile_
private

◆ mcPlots_

template<class T, class G>
unsigned int FlavourHistograms2D< T, G >::mcPlots_
private

◆ theArrayDimension

template<class T, class G>
int* FlavourHistograms2D< T, G >::theArrayDimension
protected

◆ theBaseNameDescription

template<class T, class G>
std::string FlavourHistograms2D< T, G >::theBaseNameDescription
protected

◆ theBaseNameTitle

template<class T, class G>
std::string FlavourHistograms2D< T, G >::theBaseNameTitle
protected

◆ theHisto_all

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_all
protected

◆ theHisto_b

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_b
protected

◆ theHisto_c

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_c
protected

◆ theHisto_d

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_d
protected

◆ theHisto_dus

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_dus
protected

◆ theHisto_dusg

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_dusg
protected

◆ theHisto_g

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_g
protected

◆ theHisto_ni

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_ni
protected

◆ theHisto_pu

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_pu
protected

◆ theHisto_s

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_s
protected

◆ theHisto_u

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theHisto_u
protected

◆ theIndexToPlot

template<class T, class G>
int FlavourHistograms2D< T, G >::theIndexToPlot
protected

Definition at line 139 of file FlavourHistorgrams2D.h.

◆ theLowerBoundX

template<class T, class G>
double FlavourHistograms2D< T, G >::theLowerBoundX
protected

◆ theLowerBoundY

template<class T, class G>
double FlavourHistograms2D< T, G >::theLowerBoundY
protected

◆ theMax

template<class T, class G>
double FlavourHistograms2D< T, G >::theMax
protected

Definition at line 150 of file FlavourHistorgrams2D.h.

Referenced by FlavourHistograms2D< T, G >::SetMaximum().

◆ theMaxDimension

template<class T, class G>
int FlavourHistograms2D< T, G >::theMaxDimension
protected

Definition at line 138 of file FlavourHistorgrams2D.h.

◆ theMin

template<class T, class G>
double FlavourHistograms2D< T, G >::theMin
protected

Definition at line 150 of file FlavourHistorgrams2D.h.

Referenced by FlavourHistograms2D< T, G >::SetMinimum().

◆ theNBinsX

template<class T, class G>
int FlavourHistograms2D< T, G >::theNBinsX
protected

◆ theNBinsY

template<class T, class G>
int FlavourHistograms2D< T, G >::theNBinsY
protected

◆ theProfile_all

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_all
protected

◆ theProfile_b

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_b
protected

◆ theProfile_c

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_c
protected

◆ theProfile_d

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_d
protected

◆ theProfile_dus

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_dus
protected

◆ theProfile_dusg

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_dusg
protected

◆ theProfile_g

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_g
protected

◆ theProfile_ni

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_ni
protected

◆ theProfile_pu

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_pu
protected

◆ theProfile_s

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_s
protected

◆ theProfile_u

template<class T, class G>
MonitorElement* FlavourHistograms2D< T, G >::theProfile_u
protected

◆ theStatistics

template<class T, class G>
bool FlavourHistograms2D< T, G >::theStatistics
protected

◆ theUpperBoundX

template<class T, class G>
double FlavourHistograms2D< T, G >::theUpperBoundX
protected

◆ theUpperBoundY

template<class T, class G>
double FlavourHistograms2D< T, G >::theUpperBoundY
protected
RecoBTag::setTDRStyle
TStyle * setTDRStyle()
Definition: Tools.cc:343
GenHFHadronMatcher_cff.flavour
flavour
Definition: GenHFHadronMatcher_cff.py:8
mps_fire.i
i
Definition: mps_fire.py:428
FlavourHistograms2D::theHisto_dusg
MonitorElement * theHisto_dusg
Definition: FlavourHistorgrams2D.h:162
FlavourHistograms2D::theMaxDimension
int theMaxDimension
Definition: FlavourHistorgrams2D.h:138
FlavourHistograms2D::theMin
double theMin
Definition: FlavourHistorgrams2D.h:150
FlavourHistograms2D::theHisto_s
MonitorElement * theHisto_s
Definition: FlavourHistorgrams2D.h:156
CaloTowersParam_cfi.mc
mc
Definition: CaloTowersParam_cfi.py:8
FlavourHistograms2D::theHisto_b
MonitorElement * theHisto_b
Definition: FlavourHistorgrams2D.h:158
FlavourHistograms2D::theProfile_all
MonitorElement * theProfile_all
Definition: FlavourHistorgrams2D.h:166
min
T min(T a, T b)
Definition: MathUtil.h:58
printsummarytable.folder
folder
Definition: printsummarytable.py:7
FlavourHistograms2D::theProfile_b
MonitorElement * theProfile_b
Definition: FlavourHistorgrams2D.h:171
cuy.col
col
Definition: cuy.py:1010
FlavourHistograms2D::histo_dusg
TH2F * histo_dusg() const
Definition: FlavourHistorgrams2D.h:108
dqm::impl::MonitorElement::setEfficiencyFlag
void setEfficiencyFlag()
Definition: MonitorElement.h:267
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
callgraph.G
G
Definition: callgraph.py:17
FlavourHistograms2D::theProfile_dusg
MonitorElement * theProfile_dusg
Definition: FlavourHistorgrams2D.h:175
FlavourHistograms2D::histo_all
TH2F * histo_all() const
Definition: FlavourHistorgrams2D.h:99
FlavourHistograms2D::theMax
double theMax
Definition: FlavourHistorgrams2D.h:150
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
FlavourHistograms2D::theLowerBoundY
double theLowerBoundY
Definition: FlavourHistorgrams2D.h:147
FlavourHistograms2D::plot
void plot(TPad *theCanvas=nullptr)
Definition: FlavourHistorgrams2D.h:763
FlavourHistograms2D::theNBinsY
int theNBinsY
Definition: FlavourHistorgrams2D.h:144
FlavourHistograms2D::theUpperBoundY
double theUpperBoundY
Definition: FlavourHistorgrams2D.h:148
RecoTauValidation_cfi.markerStyle
markerStyle
Definition: RecoTauValidation_cfi.py:302
FlavourHistograms2D::histo_b
TH2F * histo_b() const
Definition: FlavourHistorgrams2D.h:104
FlavourHistograms2D::histo_c
TH2F * histo_c() const
Definition: FlavourHistorgrams2D.h:103
FlavourHistograms2D::theUpperBoundX
double theUpperBoundX
Definition: FlavourHistorgrams2D.h:146
FlavourHistograms2D::histo_s
TH2F * histo_s() const
Definition: FlavourHistorgrams2D.h:102
FlavourHistograms2D::theLowerBoundX
double theLowerBoundX
Definition: FlavourHistorgrams2D.h:145
FlavourHistograms2D::histo_ni
TH2F * histo_ni() const
Definition: FlavourHistorgrams2D.h:106
FlavourHistograms2D::theStatistics
bool theStatistics
Definition: FlavourHistorgrams2D.h:149
FlavourHistograms2D::fillVariable
void fillVariable(const int &flavour, const T &varX, const G &varY, const float &w) const
Definition: FlavourHistorgrams2D.h:914
w
const double w
Definition: UKUtility.cc:23
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
FlavourHistograms2D::histo_dus
TH2F * histo_dus() const
Definition: FlavourHistorgrams2D.h:107
FlavourHistograms2D::fill
void fill(const int &flavour, const T &variableX, const G &variableY) const
Definition: FlavourHistorgrams2D.h:630
dqm::legacy::MonitorElement::getTProfile
virtual TProfile * getTProfile() const
Definition: MonitorElement.h:507
FlavourHistograms2D::theHisto_all
MonitorElement * theHisto_all
Definition: FlavourHistorgrams2D.h:153
RecoTauValidation_cfi.lineStyle
lineStyle
Definition: RecoTauValidation_cfi.py:304
FlavourHistograms2D::theHisto_ni
MonitorElement * theHisto_ni
Definition: FlavourHistorgrams2D.h:160
FlavourHistograms2D::theProfile_s
MonitorElement * theProfile_s
Definition: FlavourHistorgrams2D.h:169
FlavourHistograms2D::theHisto_d
MonitorElement * theHisto_d
Definition: FlavourHistorgrams2D.h:154
FlavourHistograms2D::theHisto_pu
MonitorElement * theHisto_pu
Definition: FlavourHistorgrams2D.h:163
FlavourHistograms2D::histo_u
TH2F * histo_u() const
Definition: FlavourHistorgrams2D.h:101
FlavourHistograms2D::histo_pu
TH2F * histo_pu() const
Definition: FlavourHistorgrams2D.h:109
FlavourHistograms2D::mcPlots_
unsigned int mcPlots_
Definition: FlavourHistorgrams2D.h:184
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
FlavourHistograms2D::theProfile_d
MonitorElement * theProfile_d
Definition: FlavourHistorgrams2D.h:167
FlavourHistograms2D::createProfile_
bool createProfile_
Definition: FlavourHistorgrams2D.h:185
FlavourHistograms2D::theProfile_g
MonitorElement * theProfile_g
Definition: FlavourHistorgrams2D.h:172
RecoTauValidation_cfi.markerSize
markerSize
Definition: RecoTauValidation_cfi.py:301
FlavourHistograms2D::theHisto_u
MonitorElement * theHisto_u
Definition: FlavourHistorgrams2D.h:155
FlavourHistograms2D::histo_d
TH2F * histo_d() const
Definition: FlavourHistorgrams2D.h:100
RecoTauValidation_cfi.lineWidth
lineWidth
Definition: RecoTauValidation_cfi.py:305
FlavourHistograms2D::theHisto_dus
MonitorElement * theHisto_dus
Definition: FlavourHistorgrams2D.h:161
T
long double T
Definition: Basic3DVectorLD.h:48
FlavourHistograms2D::theProfile_pu
MonitorElement * theProfile_pu
Definition: FlavourHistorgrams2D.h:176
FlavourHistograms2D::theNBinsX
int theNBinsX
Definition: FlavourHistorgrams2D.h:143
FlavourHistograms2D::theProfile_u
MonitorElement * theProfile_u
Definition: FlavourHistorgrams2D.h:168
FlavourHistograms2D::theProfile_dus
MonitorElement * theProfile_dus
Definition: FlavourHistorgrams2D.h:174
dqm::implementation::IGetter::get
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:651
FlavourHistograms2D::theBaseNameTitle
std::string theBaseNameTitle
Definition: FlavourHistorgrams2D.h:141
FlavourHistograms2D::theProfile_ni
MonitorElement * theProfile_ni
Definition: FlavourHistorgrams2D.h:173
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
FlavourHistograms2D::histo_g
TH2F * histo_g() const
Definition: FlavourHistorgrams2D.h:105
FlavourHistograms2D::theIndexToPlot
int theIndexToPlot
Definition: FlavourHistorgrams2D.h:139
HistoProviderDQM
Definition: HistoProviderDQM.h:8
dqm::impl::MonitorElement::enableSumw2
virtual void enableSumw2()
Definition: MonitorElement.cc:872
FlavourHistograms2D::theHisto_c
MonitorElement * theHisto_c
Definition: FlavourHistorgrams2D.h:157
FlavourHistograms2D::theHisto_g
MonitorElement * theHisto_g
Definition: FlavourHistorgrams2D.h:159
FlavourHistograms2D::theProfile_c
MonitorElement * theProfile_c
Definition: FlavourHistorgrams2D.h:170
FlavourHistograms2D::theBaseNameDescription
std::string theBaseNameDescription
Definition: FlavourHistorgrams2D.h:142
dqm::impl::MonitorElement::setAxisTitle
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:800
FlavourHistograms2D::theArrayDimension
int * theArrayDimension
Definition: FlavourHistorgrams2D.h:137
dqm::legacy::MonitorElement::getTH2F
virtual TH2F * getTH2F() const
Definition: MonitorElement.h:491