ROOT logo
//*-- Author : Dan Magestro (magestro@gsi.de)
//*-- Modified : 24/01/2002
//*-- Modified : 20/01/2004 Jacek Otwinowski
//*-- Modified : 23/01/2004 A.Sadovski
//*-- Modified : 04/01/2005 Jacek Otwinowski
//*-- Modified : 08/02/2005 A.Sadovski
//*-- Modified : 08/05/2018 RafaƂ Lalik
#ifndef HQAHISTOGRAMS_H
#define HQAHISTOGRAMS_H

#include "TObject.h"
#include "TH1.h"
#include "TH2.h"
#include "TF1.h"
#include "TTree.h"

#define NSTART_STRIPS 64

class HQAHistograms : public TObject {

public:
   HQAHistograms();
   virtual ~HQAHistograms() {
      ;
   }

   virtual void bookHist();
   virtual void activateHist();

   TList *getHistList() {
      return histList;
   }

   
private:

   void resetPointers();

   virtual void bookHistStart();
   virtual void bookHistRich();
   virtual void bookHistMdc();
   virtual void bookHistShower();
   virtual void bookHistTof();
   virtual void bookHistRpc();
   virtual void bookHistWall();
   virtual void bookHistEmc();

   virtual void bookHistRichMDC();

   virtual void bookHistMatching();
   virtual void bookHistTracking();
   virtual void bookHistPid();
   virtual void bookHistDaqScalers();
   virtual void bookHistShowerRpc();

public:

   TTree *OutputTree;   // A Tree where important numbers from Histograms are stored!

   TList *histList;    //! List of all booked histograms

   // Start histograms

   TH1F *stCal_stripMod0;               //! startCal: strip pattern
   TH1F *stCal_stripMod1;           //! startCal: strip pattern for Mod 1
   TH1F *vtCal_strip;               //! startCal: strip pattern
   TH1F *stLatchHist;               //! startCal: strip pattern
   TH1F *stCal_tof;                 //! startCal: time of flight
   TH1F *vtCal_tof;                 //! vetoCal:  time of flight
   TH1F *stCal_tof_strip[NSTART_STRIPS];       //! startCal: time of flight for each strip
   TH1F *vtCal_tof_strip[NSTART_STRIPS];       //! vetoCal:  time of flight for each strip
   TH1F *stHit_tof;                 //! startHit: time of flight
   TH2F *Stm0Vtdiff_vs_stStrip[NSTART_STRIPS];   //! startCal: St-Vt Time diff for 8 Veto channels  module 0
   TH2F *Stm1Vtdiff_vs_stStrip[NSTART_STRIPS];   //! startCal: St-Vt Time diff for 8 Veto channels  module 1

   TH2F *stHit_tof_vs_startstripe;  //! startHit: tofTOF vs startstripe
   TH2F *stHit_vs_stStrip;          //! startHit: startHitTime vs start stripe
   TH2F *stHit_vs_stStrip_Trigg[NSTART_STRIPS]; //! startHit: startHitTime vs strip for 8 trigger inputs
   //! trigger inputs are counted from 1 (hardware)
   TH2F *stVertexXY;                //! event vertex information, X vs Y
   TH1F *stVertexZ;                 //! event vertex information, Z position
   // Daq Scalers histograms

   TH1F *histInputScalerTrend[8];              //! daqScaler: Trigger Box input - trend
   TH1F *histDownScalerTrend[8];              //! daqScaler: Trigger Box input - trend
   TH1F *histGatedScalerTrend[8];              //! daqScaler: Trigger Box input - trend
   TH1F *histAcceptScalerTrend[8];             //! daqScaler: Trigger Box accepted - trend

   TH1F *histStartScalerTrend[8];        //! daqScaler: Start 8 channels - trend
   TH1F *histVetoScalerTrend[8];         //! daqScaler: Veto 8 channels - trend         

   TH1F *histInputScaler;         //! daqScaler: Trigger Box input      
   TH1F *histDownScaler;         //! daqScaler: Trigger Box downscaled    
   TH1F *histGatedScaler;         //! daqScaler: Trigger Box gated with Start       
   TH1F *histAcceptScaler;         //! daqScaler: Trigger Box accepted by DAQ       

   TH1F *histStartScaler;         //! daqScaler: Start Patttern     
   TH1F *histVetoScaler;         //! daqScaler: Veto Pattern 
   TH1F *histTofScaler;         //! daqScaler: Tof Pattern 
   TH1F *histRpcScaler;         //! daqScaler: Rpc Pattern       

   TH1F *histAllScalerCh;         //! daqScaler: counts for all 146 Scaler channels
   TH2F *histAllScalerTrend;     //! daqScaler: shows trend for all 146 Scaler channels


   // Rich histograms
   TH1F *richCal_row;               //! richCal: row
   TH1F *richCal_column;            //! richCal: column
   TH1F *richCal_nSec;              //! richCal: fired pads by sector

   TH2F *richHit_scat;              //! richHit: hit distribution in lab frame
   TH1F *richHit_nSec;              //! richHit: hits by sector

   TH1F *richHit_phi;               //! richHit: phi angle
   TH1F *richHit_theta;             //! richHit: theta angle
   TH1F *richHit_radius;            //! richHit: Ring radius
   TH1F *richHit_centroid;          //! richHit: Ring centroid
   TH1F *richHit_chargeAmpl;        //! richHit: Ring charge amplitude
   TH1F *richHit_ringCol;           //! richHit: Ring column
   TH1F *richHit_ringRow;           //! richHit: Ring row
   TH1F *richHit_ringLocMax4;       //! richHit: Ring Loc Max4

   TH2F *richHit_houTraVsPatMat;    //! richHit: ring algorithm comparison
   TH2F *richHit_patMatVsTheta;     //! richHit: #theta vs. PM
   TH2F *richHit_houTraVsTheta;     //! richHit: #theta vs. HT
   TH2F *richHit_chargeAmplVsTheta; //! richHit: #theta vs. ring amplitude
   TH2F *richHit_radiusVsTheta;     //! richHit: #theta vs. radius

   TH1F *richHit_AverCharge[6];     //! richHit: RingAmplitude per Number of pads in Ring for ach Sector
   TH1F *richHit_NumPads[6];        //! richHit: Number of pads per Ring for each Sector
   TH1F *richHit_NumRings[6];       //! richHit: Number of Rings per Event for each Sector


   // Mdc histograms
   TH2F *mdcRaw_mboVsSector_m0; //! mdcRaw: Plane I, sector vs. mbo mult.
   TH2F *mdcRaw_mboVsSector_m1; //! mdcRaw: Plane II, sector vs. mbo mult.
   TH2F *mdcRaw_mboVsSector_m2; //! mdcRaw: Plane III, sector vs. mbo mult.
   TH2F *mdcRaw_mboVsSector_m3; //! mdcRaw: Plane IV, sector vs. mbo mult.

   TH2F *mdcCal1_nVsSector_m0;  //! mdcCal1: Plane I, sector vs. multiplicity
   TH2F *mdcCal1_nVsSector_m1;  //! mdcCal1: Plane II, sector vs. multiplicity
   TH2F *mdcCal1_nVsSector_m2;  //! mdcCal1: Plane III, sector vs. multiplicity
   TH2F *mdcCal1_nVsSector_m3;  //! mdcCal1: Plane IV, sector vs. multiplicity

   TH2F *mdcCal1_time1VsSector_m0;  //! mdcCal1: Plane I, sector vs. time1
   TH2F *mdcCal1_time1VsSector_m1;  //! mdcCal1: Plane II, sector vs. time1
   TH2F *mdcCal1_time1VsSector_m2;  //! mdcCal1: Plane III, sector vs. time1
   TH2F *mdcCal1_time1VsSector_m3;  //! mdcCal1: Plane IV, sector vs. time1

   TH2F *mdcCal1_tatVsSector_m0;    //! mdcCal1: Plane I, sector vs. t.a.t.
   TH2F *mdcCal1_tatVsSector_m1;    //! mdcCal1: Plane II, sector vs. t.a.t.
   TH2F *mdcCal1_tatVsSector_m2;    //! mdcCal1: Plane III, sector vs. t.a.t.
   TH2F *mdcCal1_tatVsSector_m3;    //! mdcCal1: Plane IV, sector vs. t.a.t.

   TH2F *mdcCal1_t2mt1_vs_t1[6][4]; //! mdcCal1: plane, sector t2-t1 vs. t1
   TH2F *mdcCal1_t2mt1_vs_t1_plane[4]; //! mdcCal1: plane(all sectors) t2-t1 vs. t1
   TH1F *mdcCal1_t1[6][4];          //! mdcCal1: plane, sector t1 distribution
   TH1F *mdcCal1_t1_V2[6][4][6];    //! mdcCal1: plane, sector, layer t1 distribution
   TH1F *mdcCal1_t2mt1[6][4];       //! mdcCal1: plane, sector t2-t1 distribution
   TH1F *mdcCal1_t2mt1_V2[6][4][6]; //! mdcCal1: plane, sector, layer  t2-t1 distribution
   TH1F *mdcCutCounts[8];           //! mdc event counts total and vs. cuts applied

   TH2F *mdcHit_scat_m0;    //! mdcHit: Plane I, hit distribution
   TH2F *mdcHit_scat_m1;    //! mdcHit: Plane II, hit distribution
   TH2F *mdcHit_scat_m2;    //! mdcHit: Plane III, hit distribution
   TH2F *mdcHit_scat_m3;    //! mdcHit: Plane IV, hit distribution

   TH1F *mdcSeg_Chi2[6][2]; //! mdcSeg: sector, I/O Segmment chi2 distribution

   // Tof histograms
   TH1F *tofHit_n[6];       //! tofHit: hit multiplicity for each sector
   TH1F *tofHit_tot;        //! tofHit: total hit multiplicity
   TH1F *tofHit_nSec;       //! tofHit: hit multiplicity/sector
   TH2F *tofHit_scat;       //! tofHit: hit distribution in lab frame
   TH1F *tofHit_tof;        //! tofHit: time of flight
   TH1F *tofHit_phi;        //! tofHit: phi angle
   TH1F *tofHit_theta;      //! tofHit: theta angle


   // Rpc histograms
   TH1F *rpcHit_n[6];       //! rpcHit: hit multiplicity
   TH1F *rpcHit_tot;        //! rpcHit: total hit multiplicity
   TH1F *rpcHit_nSec;       //! rpcHit: hit multiplicity/sector
   TH2F *rpcHit_scat;       //! rpcHit: hit distribution in lab frame
   TH1F *rpcHit_tof;        //! rpcHit: time of flight
   TH1F *rpcHit_phi;        //! rpcHit: phi angle
   TH1F *rpcHit_theta;      //! rpcHit: theta angle


   // Shower histograms
   TH2F *shoHit_scat;           //! showerHit: hit distribution in lab frame
   TH1F *shoHit_theta;          //! showerHit: theta angle
   TH1F *shoHit_phi;            //! showerHit: phi angle

   TH2F *shoHit_chargeVsSector_m0;   //! showerHit: Mod 0, charge on loc. max.
   TH2F *shoHit_chargeVsSector_m1;   //! showerHit: Mod 1, charge on loc. max.
   TH2F *shoHit_chargeVsSector_m2;   //! showerHit: Mod 2, charge on loc. max.

   TH2F *shoHit_rowVsSector_m0;   //! showerHit: Mod 0, sector vs. row
   TH2F *shoHit_rowVsSector_m1;   //! showerHit: Mod 1, sector vs. row
   TH2F *shoHit_rowVsSector_m2;   //! showerHit: Mod 2, sector vs. row

   TH2F *shoHit_colVsSector_m0;   //! showerHit: Mod 0, sector vs. col
   TH2F *shoHit_colVsSector_m1;   //! showerHit: Mod 1, sector vs. col
   TH2F *shoHit_colVsSector_m2;   //! showerHit: Mod 2, sector vs. col

   TH2F *shoHit_sectorVsModule; //! showerHit: num hits by module
   TH1F *shoHit_nSec;           //! showerHit: num hits/event/sector

   TH2F *shoHitTof_scat;        //! showerHitTof: hit distribution in lab frame
   TH1F *shoHitTof_nSec;        //! showerHitTof: num hits/event/sector
   TH1F *shoHit_nRow;           //! Shower Rows (All sectors)
   TH1F *shoHit_nCol;           //! Shower Cols (All sectors)
   TH1F *shoHitSums[6][3];      //! ShowerSums
   TH1F *shoHit_n[6];           //! Shower hit multiplicities per Sector
   TH1F *shoHit_nm[6][3];       //! Shower hit multiplicities per Sector and module



   // mom histograms
   TH1F *splineTrack_massCharge;     //! spline track: mass * charge
   TH2F *splineTrack_scat;           //! splineTrack: track distribution in lab frame
   TH1F *rungeKuttaTrack_massCharge; //! spline track: mass * charge
   TH2F *rungeKuttaTrack_scat;       //! splineTrack: track distribution in lab frame

   // ForwardWall histograms
   TH1F *hWallCellSmall;   //!Wall cell Small
   TH1F *hWallCellMedium;  //!Wall cell Medium
   TH1F *hWallCellLarge;   //!Wall cell Large
   TH1F *hMultWall;        //!Wall mult
   TH2F *hWallCellTime;    //!Wall Time vs Cell
   TH2F *hWallCellAdc;     //!Wall Charge vs Cell
   TH2F *hWallXY;          //!Wall X vs Wall Y
   TH1F *hWallHitNumI;     //!Number of hits I   quarter
   TH1F *hWallHitNumII;    //!Number of hits II  quarter
   TH1F *hWallHitNumIII;   //!Number of hits III quarter
   TH1F *hWallHitNumIV;    //!Number of hits IV  quarter

   // EMC
   // * RAW
   TH1I * hEmcRawMult;          //! Multiplicty
   TH1I * hEmcRawPattern;       //! N_counts vs cell+200*sector (cell is 1-163)
   TH2I * hEmcRawTimeCell;      //! time_fast1 vs cell+200*sector
   TH2I * hEmcRawWidthCell;     //! time_slow1-time_fast1 vs cell+200*sector
   // * CAL
   TH1I * hEmcCalMult;          //! multiplicity
   TH1I * hEmcCalTime;          //! time
   TH1I * hEmcCalEnergy;        //! energy
   TH2I * hEmcCalTimeCell;      //! time vs cell+200*sector
   TH2I * hEmcCalEnergyCell;    //! ene vs cell+200*sector
   TH1I * hEmcCalCol;           //! N_counts vs phi
   TH1I * hEmcCalRow;           //! N_counts vs theta
   TH2I * hEmcCalRowCol;        //! theta vs phi
   // * CLUSTER
   TH1I * hEmcClusMult;         //! multiplicity per event 1D
   TH1I * hEmcClusSize;         //! number of modules in cluster 1D
   TH1I * hEmcClusTime;         //! 1D
   TH1I * hEmcClusEnergy;       //! 1D
   TH2I * hEmcClusTimeCell;     //! time vs cell+200*sector
   TH2I * hEmcClusEnergyCell;   //! energy vs cell+200*sector
   TH1I * hEmcClusPhi;          //! N_counts vs phi
   TH1I * hEmcClusTheta;        //! N_counts vs theta
   TH2I * hEmcClusThetaPhi;     //!
   TH2I * hEmcClusXYlab;        //! 2D 

   //Tracking  sector-vise TOF/SHOWER-TOFINO
   TH1F *trackingSpline_sys0[6];      //! Spline     tracking MDC12-3(4)
   TH1F *trackingRK_sys0[6];          //! RungeKutta tracking MDC12-3(4)

   TH1F *trackingSpline_sys1[6];      //! Spline     tracking MDC12-3(4)
   TH1F *trackingRK_sys1[6];          //! RungeKutta tracking MDC12-3(4)

   // Rich-Mdc histograms
   TH1F *richmdc_dtheta[6];   //! RichHit-MdcInerSeg: delta theta (sectorwise)
   TH1F *richmdc_dphi[6];     //! RichHit-MdcInerSeg: delta phi (sectorwise)
   TH1F *richmdc_lep;         //! RichHit-MdcInerSeg: leptons per event (sectorwise)

   TH1F *hsecspline;           //! Number of spline objects matched to meta per sector
   TH1F *hsecspline0;          //! the same for system 0
   TH1F *hsecspline1;          //! the same for system 1

   // MetaMatch histograms
   TH2F *hXdiffvsshowersector; //! Difference between X SHOWER hit position and crossing of track through SHOWER, vs sector
   TH2F *hYdiffvsshowersector; //! Difference between Y SHOWER hit position and crossing of track through SHOWER, vs sector
   TH2F *hXdiffvsshw;          //! Diff.  ShwX and MdcX vs sector / SigmaShw
   TH2F *hYdiffvsshw;          //! Diff.  ShwY and MdcY vs sector / SigmaShw
   TH2F *hshower_quality;      //! SHOWER quality vs sector
   TH2F *htof_quality;         //! TOF    quality vs sector
   TH2F *hXdiffvstofstrip;     //! Difference between X TOF hit position and crossing of track through TOF, vs TOF strip
   TH2F *hYdiffvstofstrip;     //! Difference between Y TOF hit position and crossing of track through TOF, vs TOF strip
   TH2F *hXdiffvsshoCol;       //! Difference between X SHOWER hit position and crossing of track through SHOWER, vs Column
   TH2F *hXdiffvsshoRow;       //! Difference between X SHOWER hit position and crossing of track through SHOWER, vs Row
   TH2F *hYdiffvsshoCol;       //! Difference between Y SHOWER hit position and crossing of track through SHOWER, vs Column
   TH2F *hYdiffvsshoRow;       //! Difference between Y SHOWER hit position and crossing of track through SHOWER, vs Row


   TH2F *hXdiffvsRpcsector;    //! Difference between X Rpc hit position and crossing of track through Rpc, vs Sector
   TH2F *hYdiffvsRpcsector;    //! Difference between Y Rpc hit position and crossing of track through Rpc, vs Sector
   TH2F *hXdiffvsRpc;          //! Diff.  RpcX and MetaX vs sector / SigmaRpc
   TH2F *hYdiffvsRpc;          //! Diff.  RpcY and MetaY vs sector / SigmaRpc
   TH2F *hRpc_quality;         //! SHOWER Rpc quality vs sector



   TH2F *hXdiffvsshowersectorRK;
   TH2F *hXdiffvstofstripRK;
   TH2F *hYdiffvsshowersectorRK;
   TH2F *hYdiffvstofstripRK;
   TH2F *hshower_qualityRK;
   TH2F *htof_qualityRK;

   TH2F *hXdiffvstofstripRK_neg;
   TH2F *hYdiffvstofstripRK_neg;
   TH2F *hXdiffvsthetaRK_neg;
   TH2F *hYdiffvsthetaRK_neg;

   TH2F *hXdiffvsshoColRK;
   TH2F *hXdiffvsshoRowRK;
   TH2F *hYdiffvsshoColRK;
   TH2F *hYdiffvsshoRowRK;

   TH1F *hXdiffTof[6];      //Delta X for TOF-MDC in MetahitClass
   TH1F *hYdiffTof[6];      //Delta Y for TOF-MDC in MetahitClass

   TH1F *hXdiffsho[6];
   TH1F *hYdiffsho[6];

   TH1F *hXdiffRpc[6];
   TH1F *hYdiffRpc[6];

   // Runge-Kutta
   TH1F *hparticle_multrk;                              //! multiplicity of runge-kutta tracks
   TH2F *hparticle_lepton_tof_vs_rod_sys0;              //! lepton time vs rod for sys0
   TH2F *hparticle_lepton_tof_vs_rod_sys1;              //! lepton time vs rod for sys1
   TH2F *hparticle_lepton_tof_vs_startstrip_sys0;       //! lepton time in system0 vs strip for start
   TH2F *hparticle_lepton_tof_vs_startstrip_sys1;       //! lepton time in system1 vs strip for start
   TH1F *hparticle_lepton_tof_all_sys0;                 //! lepton time in system 0 for all start strips
   TH1F *hparticle_lepton_tof_all_sys1;                 //! lepton time in system 1 for all start strips
   TH1F *hparticle_lepton_tof_vs_start_sys0[NSTART_STRIPS];    //! lepton time for in system0 each start strip
   TH1F *hparticle_lepton_tof_vs_start_sys1[NSTART_STRIPS];    //! lepton time for in system1 each start strip for start
   TH2F *hparticle_pi_tof_vs_rod_sys0;                  //! pion  time vs rod sys0
   TH2F *hparticle_pi_tof_vs_rod_sys1;                  //! pion time vs rod sys1
   TH2F *hparticle_pi_eloss_vs_rod_sys1;                  //! pion eloss vs rod sys1
   TH2F *hparticle_p_eloss_vs_rod_sys1;                  //! slow proton eloss vs rod sys1
   TH2F *hparticle_pi_metahit_vs_phi_sys1;                  //! pion rod vs track phi - sys1
   TH2F *hparticle_pi_tof_vs_startstrip_sys0;           //! pi timediff in system0 vs strip for start
   TH2F *hparticle_pi_tof_vs_startstrip_sys1;           //! pi timediff in system1 vs strip for start
   TH1F *hparticle_pi_tof_all_sys0;                     //! pi timediff in system 0 for all start strips
   TH1F *hparticle_pi_tof_all_sys1;                     //! pi timediff in system 1 for all start strips
   TH1F *hparticle_pi_tof_vs_start_sys0[NSTART_STRIPS];        //! pi timediff for in system0 each start strip
   TH1F *hparticle_pi_tof_vs_startMod0_sys0[NSTART_STRIPS];        //! pi timediff for in system0 each start strip Mod0
   TH1F *hparticle_pi_tof_vs_startMod1_sys0[NSTART_STRIPS];        //! pi timediff for in system0 each start strip Mod1
   TH1F *hparticle_pi_tof_vs_start_sys1[NSTART_STRIPS];        //! pi timediff for in system1 each start strip for start
   TF1 *hparticle_pi_tof_GaussFit_all_sys0;        // Gauss fit for Pion Tof
   TF1 *hparticle_pi_tof_GaussFit_all_sys1;        // Gauss fit for Pion Tof
   TF1 *hparticle_pi_tof_GaussFit_sys0[NSTART_STRIPS];         // Gauss fit for Pion Tof
   TF1 *hparticle_pi_tof_GaussFit_sys1[NSTART_STRIPS];         // Gauss fit for Pion Tof


   TH1F *hparticle_RK_theta_sec[6];            //! theta distr. for all tracks RK
   TH1F *hparticle_RK_neg_theta_sec[6];        //! theta distr. for neg. tracks and mom > 300 RK
   TH1F *hparticle_RK_phi;                     //! phi distr. for all tracks RK
   TH1F *hparticle_RK_neg_phi;                 //! phi distr. for neg. tracks and mom > 300 RK
   TH2F *hparticle_rk_momdif_sys0_sec[6];      //! runge-kutta, sya0
   TH2F *hparticle_rk_momdif_sys1_sec[6];      //! runge-kutta, sys1

   TH1F *shorpcXdiff_pre[6];   //! Difference between X SHOWER Pre hit position and RPC hit position
   TH1F *shorpcXdiff_post1[6];   //! Difference between X SHOWER Post I hit position and RPC hit position
   TH1F *shorpcXdiff_post2[6];   //! Difference between X SHOWER Post II hit position and RPC hit position
   TH1F *shorpcYdiff_pre[6];     //! Difference between Y SHOWER Pre hit position and RPC hit position
   TH1F *shorpcYdiff_post1[6];   //! Difference between Y SHOWER Post I hit position and RPC hit position
   TH1F *shorpcYdiff_post2[6];   //! Difference between Y SHOWER Post II hit position and RPC hit position
   TH2F *shorpcXvs_pre[6];       //! X SHOWER Pre hit position vs RPC hit position
   TH2F *shorpcXvs_post1[6];     //! X SHOWER Post I hit position vs RPC hit position
   TH2F *shorpcXvs_post2[6];     //! X SHOWER Post II hit position vs RPC hit position
   TH2F *shorpcYvs_pre[6];       //! Y SHOWER Pre hit position vs RPC hit position
   TH2F *shorpcYvs_post1[6];     //! Y SHOWER Post I hit position vs RPC hit position
   TH2F *shorpcYvs_post2[6];     //! Y SHOWER Post II hit position vs RPC hit position

   TH1F *hparticle_MetaMatchQualTof[6]; //! HParticleCand: MetaMatchQuality in Tof
   TH1F *hparticle_MetaMatchQualRpc[6]; //! HParticleCand: MetaMatchQuality in Rpc
   TH1F *hparticle_MetaMatchQualShw[6]; //! HParticleCand: MetaMatchQuality in Shower

   TH1F *hparticle_mult[6][2];          //! HParticleCand: Multiplicity for each Sector(6) and System==0 or System==1 (2)
   TH1F *hparticle_mult_select[6][2];   //! HParticleCand: Multiplicity for each Sector(6) and System==0 or System==1 (2) for accepted particles
   
   TH1F *hparticle_mass;
   TF1 *hparticle_mass_GaussFit;  //fit protons
   TF1 *hparticle_mass_GaussFit_1; //fit pi+
   TF1 *hparticle_mass_GaussFit_2; //fit pi-
   
   TH1F *hparticle_mass_RPC;
   TF1 *hparticle_mass_RPC_GaussFit;  //fit protons
   TF1 *hparticle_mass_RPC_GaussFit_1; //fit pi+
   TF1 *hparticle_mass_RPC_GaussFit_2; //fit pi-

   TH1F *hparticle_mass_TOF;
   TF1 *hparticle_mass_TOF_GaussFit;  //fit protons
   TF1 *hparticle_mass_TOF_GaussFit_1; //fit pi+
   TF1 *hparticle_mass_TOF_GaussFit_2; //fit pi-

   TH1F* hparticle_TofdEdx;     //dEdx of Tof detector

   //#############################################################

   ClassDef(HQAHistograms, 1) // QA general histograms

};


#endif
 hqahistograms.h:1
 hqahistograms.h:2
 hqahistograms.h:3
 hqahistograms.h:4
 hqahistograms.h:5
 hqahistograms.h:6
 hqahistograms.h:7
 hqahistograms.h:8
 hqahistograms.h:9
 hqahistograms.h:10
 hqahistograms.h:11
 hqahistograms.h:12
 hqahistograms.h:13
 hqahistograms.h:14
 hqahistograms.h:15
 hqahistograms.h:16
 hqahistograms.h:17
 hqahistograms.h:18
 hqahistograms.h:19
 hqahistograms.h:20
 hqahistograms.h:21
 hqahistograms.h:22
 hqahistograms.h:23
 hqahistograms.h:24
 hqahistograms.h:25
 hqahistograms.h:26
 hqahistograms.h:27
 hqahistograms.h:28
 hqahistograms.h:29
 hqahistograms.h:30
 hqahistograms.h:31
 hqahistograms.h:32
 hqahistograms.h:33
 hqahistograms.h:34
 hqahistograms.h:35
 hqahistograms.h:36
 hqahistograms.h:37
 hqahistograms.h:38
 hqahistograms.h:39
 hqahistograms.h:40
 hqahistograms.h:41
 hqahistograms.h:42
 hqahistograms.h:43
 hqahistograms.h:44
 hqahistograms.h:45
 hqahistograms.h:46
 hqahistograms.h:47
 hqahistograms.h:48
 hqahistograms.h:49
 hqahistograms.h:50
 hqahistograms.h:51
 hqahistograms.h:52
 hqahistograms.h:53
 hqahistograms.h:54
 hqahistograms.h:55
 hqahistograms.h:56
 hqahistograms.h:57
 hqahistograms.h:58
 hqahistograms.h:59
 hqahistograms.h:60
 hqahistograms.h:61
 hqahistograms.h:62
 hqahistograms.h:63
 hqahistograms.h:64
 hqahistograms.h:65
 hqahistograms.h:66
 hqahistograms.h:67
 hqahistograms.h:68
 hqahistograms.h:69
 hqahistograms.h:70
 hqahistograms.h:71
 hqahistograms.h:72
 hqahistograms.h:73
 hqahistograms.h:74
 hqahistograms.h:75
 hqahistograms.h:76
 hqahistograms.h:77
 hqahistograms.h:78
 hqahistograms.h:79
 hqahistograms.h:80
 hqahistograms.h:81
 hqahistograms.h:82
 hqahistograms.h:83
 hqahistograms.h:84
 hqahistograms.h:85
 hqahistograms.h:86
 hqahistograms.h:87
 hqahistograms.h:88
 hqahistograms.h:89
 hqahistograms.h:90
 hqahistograms.h:91
 hqahistograms.h:92
 hqahistograms.h:93
 hqahistograms.h:94
 hqahistograms.h:95
 hqahistograms.h:96
 hqahistograms.h:97
 hqahistograms.h:98
 hqahistograms.h:99
 hqahistograms.h:100
 hqahistograms.h:101
 hqahistograms.h:102
 hqahistograms.h:103
 hqahistograms.h:104
 hqahistograms.h:105
 hqahistograms.h:106
 hqahistograms.h:107
 hqahistograms.h:108
 hqahistograms.h:109
 hqahistograms.h:110
 hqahistograms.h:111
 hqahistograms.h:112
 hqahistograms.h:113
 hqahistograms.h:114
 hqahistograms.h:115
 hqahistograms.h:116
 hqahistograms.h:117
 hqahistograms.h:118
 hqahistograms.h:119
 hqahistograms.h:120
 hqahistograms.h:121
 hqahistograms.h:122
 hqahistograms.h:123
 hqahistograms.h:124
 hqahistograms.h:125
 hqahistograms.h:126
 hqahistograms.h:127
 hqahistograms.h:128
 hqahistograms.h:129
 hqahistograms.h:130
 hqahistograms.h:131
 hqahistograms.h:132
 hqahistograms.h:133
 hqahistograms.h:134
 hqahistograms.h:135
 hqahistograms.h:136
 hqahistograms.h:137
 hqahistograms.h:138
 hqahistograms.h:139
 hqahistograms.h:140
 hqahistograms.h:141
 hqahistograms.h:142
 hqahistograms.h:143
 hqahistograms.h:144
 hqahistograms.h:145
 hqahistograms.h:146
 hqahistograms.h:147
 hqahistograms.h:148
 hqahistograms.h:149
 hqahistograms.h:150
 hqahistograms.h:151
 hqahistograms.h:152
 hqahistograms.h:153
 hqahistograms.h:154
 hqahistograms.h:155
 hqahistograms.h:156
 hqahistograms.h:157
 hqahistograms.h:158
 hqahistograms.h:159
 hqahistograms.h:160
 hqahistograms.h:161
 hqahistograms.h:162
 hqahistograms.h:163
 hqahistograms.h:164
 hqahistograms.h:165
 hqahistograms.h:166
 hqahistograms.h:167
 hqahistograms.h:168
 hqahistograms.h:169
 hqahistograms.h:170
 hqahistograms.h:171
 hqahistograms.h:172
 hqahistograms.h:173
 hqahistograms.h:174
 hqahistograms.h:175
 hqahistograms.h:176
 hqahistograms.h:177
 hqahistograms.h:178
 hqahistograms.h:179
 hqahistograms.h:180
 hqahistograms.h:181
 hqahistograms.h:182
 hqahistograms.h:183
 hqahistograms.h:184
 hqahistograms.h:185
 hqahistograms.h:186
 hqahistograms.h:187
 hqahistograms.h:188
 hqahistograms.h:189
 hqahistograms.h:190
 hqahistograms.h:191
 hqahistograms.h:192
 hqahistograms.h:193
 hqahistograms.h:194
 hqahistograms.h:195
 hqahistograms.h:196
 hqahistograms.h:197
 hqahistograms.h:198
 hqahistograms.h:199
 hqahistograms.h:200
 hqahistograms.h:201
 hqahistograms.h:202
 hqahistograms.h:203
 hqahistograms.h:204
 hqahistograms.h:205
 hqahistograms.h:206
 hqahistograms.h:207
 hqahistograms.h:208
 hqahistograms.h:209
 hqahistograms.h:210
 hqahistograms.h:211
 hqahistograms.h:212
 hqahistograms.h:213
 hqahistograms.h:214
 hqahistograms.h:215
 hqahistograms.h:216
 hqahistograms.h:217
 hqahistograms.h:218
 hqahistograms.h:219
 hqahistograms.h:220
 hqahistograms.h:221
 hqahistograms.h:222
 hqahistograms.h:223
 hqahistograms.h:224
 hqahistograms.h:225
 hqahistograms.h:226
 hqahistograms.h:227
 hqahistograms.h:228
 hqahistograms.h:229
 hqahistograms.h:230
 hqahistograms.h:231
 hqahistograms.h:232
 hqahistograms.h:233
 hqahistograms.h:234
 hqahistograms.h:235
 hqahistograms.h:236
 hqahistograms.h:237
 hqahistograms.h:238
 hqahistograms.h:239
 hqahistograms.h:240
 hqahistograms.h:241
 hqahistograms.h:242
 hqahistograms.h:243
 hqahistograms.h:244
 hqahistograms.h:245
 hqahistograms.h:246
 hqahistograms.h:247
 hqahistograms.h:248
 hqahistograms.h:249
 hqahistograms.h:250
 hqahistograms.h:251
 hqahistograms.h:252
 hqahistograms.h:253
 hqahistograms.h:254
 hqahistograms.h:255
 hqahistograms.h:256
 hqahistograms.h:257
 hqahistograms.h:258
 hqahistograms.h:259
 hqahistograms.h:260
 hqahistograms.h:261
 hqahistograms.h:262
 hqahistograms.h:263
 hqahistograms.h:264
 hqahistograms.h:265
 hqahistograms.h:266
 hqahistograms.h:267
 hqahistograms.h:268
 hqahistograms.h:269
 hqahistograms.h:270
 hqahistograms.h:271
 hqahistograms.h:272
 hqahistograms.h:273
 hqahistograms.h:274
 hqahistograms.h:275
 hqahistograms.h:276
 hqahistograms.h:277
 hqahistograms.h:278
 hqahistograms.h:279
 hqahistograms.h:280
 hqahistograms.h:281
 hqahistograms.h:282
 hqahistograms.h:283
 hqahistograms.h:284
 hqahistograms.h:285
 hqahistograms.h:286
 hqahistograms.h:287
 hqahistograms.h:288
 hqahistograms.h:289
 hqahistograms.h:290
 hqahistograms.h:291
 hqahistograms.h:292
 hqahistograms.h:293
 hqahistograms.h:294
 hqahistograms.h:295
 hqahistograms.h:296
 hqahistograms.h:297
 hqahistograms.h:298
 hqahistograms.h:299
 hqahistograms.h:300
 hqahistograms.h:301
 hqahistograms.h:302
 hqahistograms.h:303
 hqahistograms.h:304
 hqahistograms.h:305
 hqahistograms.h:306
 hqahistograms.h:307
 hqahistograms.h:308
 hqahistograms.h:309
 hqahistograms.h:310
 hqahistograms.h:311
 hqahistograms.h:312
 hqahistograms.h:313
 hqahistograms.h:314
 hqahistograms.h:315
 hqahistograms.h:316
 hqahistograms.h:317
 hqahistograms.h:318
 hqahistograms.h:319
 hqahistograms.h:320
 hqahistograms.h:321
 hqahistograms.h:322
 hqahistograms.h:323
 hqahistograms.h:324
 hqahistograms.h:325
 hqahistograms.h:326
 hqahistograms.h:327
 hqahistograms.h:328
 hqahistograms.h:329
 hqahistograms.h:330
 hqahistograms.h:331
 hqahistograms.h:332
 hqahistograms.h:333
 hqahistograms.h:334
 hqahistograms.h:335
 hqahistograms.h:336
 hqahistograms.h:337
 hqahistograms.h:338
 hqahistograms.h:339
 hqahistograms.h:340
 hqahistograms.h:341
 hqahistograms.h:342
 hqahistograms.h:343
 hqahistograms.h:344
 hqahistograms.h:345
 hqahistograms.h:346
 hqahistograms.h:347
 hqahistograms.h:348
 hqahistograms.h:349
 hqahistograms.h:350
 hqahistograms.h:351
 hqahistograms.h:352
 hqahistograms.h:353
 hqahistograms.h:354
 hqahistograms.h:355
 hqahistograms.h:356
 hqahistograms.h:357
 hqahistograms.h:358
 hqahistograms.h:359
 hqahistograms.h:360
 hqahistograms.h:361
 hqahistograms.h:362
 hqahistograms.h:363
 hqahistograms.h:364
 hqahistograms.h:365
 hqahistograms.h:366
 hqahistograms.h:367
 hqahistograms.h:368
 hqahistograms.h:369
 hqahistograms.h:370
 hqahistograms.h:371
 hqahistograms.h:372
 hqahistograms.h:373
 hqahistograms.h:374
 hqahistograms.h:375
 hqahistograms.h:376
 hqahistograms.h:377
 hqahistograms.h:378
 hqahistograms.h:379
 hqahistograms.h:380
 hqahistograms.h:381
 hqahistograms.h:382
 hqahistograms.h:383
 hqahistograms.h:384
 hqahistograms.h:385
 hqahistograms.h:386
 hqahistograms.h:387
 hqahistograms.h:388
 hqahistograms.h:389
 hqahistograms.h:390
 hqahistograms.h:391
 hqahistograms.h:392
 hqahistograms.h:393
 hqahistograms.h:394
 hqahistograms.h:395
 hqahistograms.h:396
 hqahistograms.h:397
 hqahistograms.h:398
 hqahistograms.h:399
 hqahistograms.h:400
 hqahistograms.h:401
 hqahistograms.h:402
 hqahistograms.h:403
 hqahistograms.h:404
 hqahistograms.h:405
 hqahistograms.h:406
 hqahistograms.h:407
 hqahistograms.h:408
 hqahistograms.h:409
 hqahistograms.h:410
 hqahistograms.h:411