using namespace std;
#include <iostream> 
#include <iomanip>
#include <math.h>
// Root includes
#include <TObjString.h>
#include <TProfile.h>
// Hydra includes
#include "hqavariations.h"

//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-//
//*-- Author : Dan Magestro (magestro@gsi.de)
//*-- Modified : 24/01/2002
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-//

//_HADES_CLASS_DESCRIPTION 
//////////////////////////////////////////////////////////////////////////////
//
// HQAVariations
//
// Contains TProfile histograms for monitoring the variations of scalar quantities
// over the course of the run, used by HQAMaker.
//
// 
For more information, see the QA home page.

//
//////////////////////////////////////////////////////////////////////////////

ClassImp(HQAVariations)

 HQAVariations::HQAVariations(Int_t intervalSize) {
// Constructor; must be called with the interval size since this is needed to
// book the histograms.

  maxEvents = intervalSize * 200;

  histList = new TList();
  resetPointers();
}

 void HQAVariations::resetPointers() {
// Zero all histogram pointers

  //---- Start histograms
  stCal_meanStrip_Var = 0;

  //---- Rich histograms
  richCal_n_Var = 0;
  richHit_n_Var = 0;

  //---- Pid histograms
  pidTrackCand_n_Var = 0;
  pidTrackCandLep_n_Var = 0;

  //---- Mdc histograms
  mdcCal1_time1_m0_Var = 0;
  mdcCal1_time1_m1_Var = 0;
  mdcCal1_time1_m2_Var = 0;
  mdcCal1_time1_m3_Var = 0;

  //---- Tof histograms
  tofHit_n_Var = 0;

  //---- Tofino histograms

  //---- Shower histograms
  shoHit_n_Var = 0;
  shoHitTof_n_Var = 0;

  //---- Kick histograms
  kickTrack_n_Var = 0;

  //---- Trigger histograms
  trigRich_n_Var    = 0;  
  trigTof_n_Var     = 0;   
  trigShower_n_Var  = 0;
  trigTlepton_n_Var = 0;
  trigSlepton_n_Var = 0;


}

 void HQAVariations::activateHist() {
// This function removes histograms from the histList TList which
// are not listed in QAvarhists.h.

  TList *activeList = new TList();

  Char_t *hists[1000] = {
    #include "QAvarhists.h"
  };

  // Convert Char_t to TList of TObjStrings
  for(Int_t i=0; hists[i]!=0;i++)
    activeList->Add( new TObjString(hists[i]) );

  // Iterate over histList, remove entries which aren't in activeList
  TIter next(histList);
  while (TH1 *hist = (TH1*) next()) {
    hist->SetXTitle("event number (position in DST file)");
    if( ! activeList->Contains( hist->GetName() ) )
      histList->Remove(hist);
  }
  activeList->Delete();
  delete activeList;
}

 void HQAVariations::bookHist() {
// Book histograms and define axis titles and options for drawing

  bookHistEvent();
  bookHistStart();
  bookHistRich();
  bookHistPid();
  bookHistMdc();
  bookHistTof();
  bookHistTofino();
  bookHistShower();
  bookHistKick();
  bookHistTrig();

  activateHist();
}

 void HQAVariations::bookHistEvent() {

  evtHeader_eventSize_Var = new TProfile("evtHeader_eventSize_Var","evtHeader: event size",200,0.,maxEvents);
  evtHeader_eventSize_Var->SetYTitle("event size (bytes)");
  histList->Add(evtHeader_eventSize_Var,"variations--");
}

 void HQAVariations::bookHistStart() {

  stCal_meanStrip_Var = new TProfile("stCal_meanStrip_Var","startCal: mean strip number",200,0.,maxEvents);
  stCal_meanStrip_Var->SetYTitle("mean strip number");
  histList->Add(stCal_meanStrip_Var,"variations--");
}

 void HQAVariations::bookHistPid() {
  pidTrackCand_n_Var = new TProfile("pidTrackCand_n_Var","pidTrackCand: objects/event",200,0.,maxEvents);
  pidTrackCand_n_Var->SetYTitle("pidTrackCands/event");
  histList->Add(pidTrackCand_n_Var,"variations--");

  pidTrackCandLep_n_Var = new TProfile("pidTrackCandLep_n_Var","pidTrackCand: objects with ring/event",200,0.,maxEvents);
  pidTrackCandLep_n_Var->SetYTitle("pidTrackCand with ring/event");
  histList->Add(pidTrackCandLep_n_Var,"variations--");

}

 void HQAVariations::bookHistRich() {

  richCal_n_Var = new TProfile("richCal_n_Var","richCal: fired pads/event",200,0.,maxEvents);
  richCal_n_Var->SetYTitle("fired pads/event");
  histList->Add(richCal_n_Var,"variations--");

  richHit_n_Var = new TProfile("richHit_n_Var","richHit: hits/event",200,0.,maxEvents);
  richHit_n_Var->SetYTitle("hits/event");
  histList->Add(richHit_n_Var,"variations--");
}

 void HQAVariations::bookHistMdc() {

  mdcCal1_time1_m0_Var = new TProfile("mdcCal1_time1_m0_Var","mdcCal1: Plane I, average time1",200,0.,maxEvents);
  mdcCal1_time1_m0_Var->SetYTitle("time (ns)");
  histList->Add(mdcCal1_time1_m0_Var,"variations--");

  mdcCal1_time1_m1_Var = new TProfile("mdcCal1_time1_m1_Var","mdcCal1: Plane II, average time1",200,0.,maxEvents);
  mdcCal1_time1_m1_Var->SetYTitle("time (ns)");
  histList->Add(mdcCal1_time1_m1_Var,"variations--");

  mdcCal1_time1_m2_Var = new TProfile("mdcCal1_time1_m2_Var","mdcCal1: Plane III, average time1",200,0.,maxEvents);
  mdcCal1_time1_m2_Var->SetYTitle("time (ns)");
  histList->Add(mdcCal1_time1_m2_Var,"variations--");

  mdcCal1_time1_m3_Var = new TProfile("mdcCal1_time1_m3_Var","mdcCal1: Plane IV, average time1",200,0.,maxEvents);
  mdcCal1_time1_m3_Var->SetYTitle("time (ns)");
  histList->Add(mdcCal1_time1_m3_Var,"variations--");

  mdcCal1_time2m1_m0_Var = new TProfile("mdcCal1_time2m1_m0_Var","mdcCal1: Plane I, average time above threshold",200,0.,maxEvents);
  mdcCal1_time2m1_m0_Var->SetYTitle("time (ns)");
  histList->Add(mdcCal1_time2m1_m0_Var,"variations--");

  mdcCal1_time2m1_m1_Var = new TProfile("mdcCal1_time2m1_m1_Var","mdcCal1: Plane II, average time above threshold",200,0.,maxEvents);
  mdcCal1_time2m1_m1_Var->SetYTitle("time (ns)");
  histList->Add(mdcCal1_time2m1_m1_Var,"variations--");

  mdcCal1_time2m1_m2_Var = new TProfile("mdcCal1_time2m1_m2_Var","mdcCal1: Plane III, average time above threshold",200,0.,maxEvents);
  mdcCal1_time2m1_m2_Var->SetYTitle("time (ns)");
  histList->Add(mdcCal1_time2m1_m2_Var,"variations--");

  mdcCal1_time2m1_m3_Var = new TProfile("mdcCal1_time2m1_m3_Var","mdcCal1: Plane IV, average time above threshold",200,0.,maxEvents);
  mdcCal1_time2m1_m3_Var->SetYTitle("time (ns)");
  histList->Add(mdcCal1_time2m1_m3_Var,"variations--");

}

 void HQAVariations::bookHistTof() {

  tofHit_n_Var = new TProfile("tofHit_n_Var","tofHit: num hits/event",200,0.,maxEvents);
  tofHit_n_Var->SetYTitle("hits/event");
  histList->Add(tofHit_n_Var,"variations--");
}

 void HQAVariations::bookHistTofino() {;}

 void HQAVariations::bookHistShower() {

  shoHit_n_Var = new TProfile("shoHit_n_Var","showerHit: num hits/event",200,0.,maxEvents);
  shoHit_n_Var->SetYTitle("hits/event");
  histList->Add(shoHit_n_Var,"variations--");

  shoHitTof_n_Var = new TProfile("shoHitTof_n_Var","showerHitTof: num hits/event",200,0.,maxEvents);
  shoHitTof_n_Var->SetYTitle("hits/event");
  histList->Add(shoHitTof_n_Var,"variations--");
}

 void HQAVariations::bookHistKick() {

  kickTrack_n_Var = new TProfile("kickTrack_n_Var","kickTrack: num tracks/event",200,0.,maxEvents);
  kickTrack_n_Var->SetYTitle("tracks/event");
  histList->Add(kickTrack_n_Var,"variations--");
}


 void HQAVariations::bookHistTrig() {

  trigRich_n_Var = new TProfile("trigRich_n_Var","trigRich: RichIPU hits/event",200,0.,maxEvents);
  trigRich_n_Var->SetYTitle("Rich IPU hits/event");
  histList->Add(trigRich_n_Var,"variations--");

  trigTof_n_Var = new TProfile("trigTof_n_Var","trigTof: TofIPU hits/event",200,0.,maxEvents);
  trigTof_n_Var->SetYTitle("Tof IPU hits/event");
  histList->Add(trigTof_n_Var,"variations--");

  trigShower_n_Var = new TProfile("trigShower_n_Var","trigShower: ShowerIPU hits/event",200,0.,maxEvents);
  trigShower_n_Var->SetYTitle("Shower IPU hits/event");
  histList->Add(trigShower_n_Var,"variations--");

  trigTlepton_n_Var = new TProfile("trigTlepton_n_Var","trigTlepton: MU Leptons(Tof)/event",200,0.,maxEvents);
  trigTlepton_n_Var->SetYTitle("MU Leptons(Tof)/event");
  histList->Add(trigTlepton_n_Var,"variations--");

  trigSlepton_n_Var = new TProfile("trigSlepton_n_Var","trigSlepton: MU Leptons(Shower)/event",200,0.,maxEvents);
  trigSlepton_n_Var->SetYTitle("MU Leptons(Shower)/event");
  histList->Add(trigSlepton_n_Var,"variations--");

}




































ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.