#ifndef HMDCLOWLEVELQA_H
#define HMDCLOWLEVELQA_H
#include "hreconstructor.h"
#include "hlocation.h"
#include "TRandom.h"
class HCategory;
class HIterator;
class HMdcLookupGeom;
class HMdcLookupRaw;
class HMdcTimeCut;
class HMdcCalParRaw;
class TH2F;
class TH1F;
class TDirectory;
class HMdcLowLevelQA : public HReconstructor {
protected:
TH1F *hmdc_time1_everithing_summ[6][4];
TH1F *hmdc_time1_good_t1_summ[6][4];
TH1F *hmdc_time1_not_t1_summ[6][4];
TH1F *hmdc_trend_meantime1[6][4];
TH1F *hmdc_time1[6][4];
TH1F *hmdc_trend_meantime1not_t1[6][4];
TH1F *hmdc_time1not_t1[6][4];
TH1F *hmdc_trend_meantime1not_t2[6][4];
TH1F *hmdc_time1not_t2[6][4];
TH1F *hmdc_trend_meantime1not_t12[6][4];
TH1F *hmdc_time1not_t12[6][4];
TH1F *hmdc_trend_meantime1_plane[4];
TH1F *hmdc_time1_plane[4];
TH1F *hmdc_trend_meanSlope[6][4];
TH1F *hmdc_Slope[6][4];
TH1F *hmdc_trend_neighbors[6][4];
Int_t previousCellStatus;
Int_t double_all[6][4][2];
TH1F *hmdc_trend_123ratio[6][4];
Int_t cnt123[6][4];
Int_t sect_module_NumberOfHits[6][4];
Int_t sm_old[2];
TH1F *hmdc_multiplicity[6][4];
TH1F *hmdc_trend_multiplicity[6][4];
TH1F *a_thisFileName;
TH2F *hmdc_summ_MBOvsTDC[ 6][4];
TH1F *hmdc_summ_dNdNhits[ 6][4];
TH2F *hmdc_summ_t2mt1_vs_t1[6][4];
TH1F *hmdc_summ_tCuts_info[ 4];
TH1F *hmdc_summ_dNdWire[ 6][4][6][3];
TH1F *hmdc_summ_trend_meantime1_plane;
TH1F *hmdc_summ_trend_meantime1;
TH1F *hmdc_summ_trend_meantime1not_t1;
TH1F *hmdc_summ_trend_meantime1not_t2;
TH1F *hmdc_summ_trend_meantime1not_t12;
TH1F *hmdc_summ_trend_neighbors;
TH1F *hmdc_summ_trend_123ratio;
TH1F *hmdc_summ_trend_multiplicity;
TH1F *hmdc_trend_NhitsPERmbo[6][4][16];
Int_t NhitsPERmbo[6][4][16];
Int_t smmb_old[3];
Char_t *fNameRootHists;
static Int_t colorsSector[6];
static Int_t colorsModule[4];
static Int_t colorsCuts[3];
Int_t Eventcounter;
Int_t step_trend_meantime1_counter;
Int_t stepsize_trend_meantime1;
Int_t numberOfSectorsPerModule[4];
Int_t mySetup[6][4];
static Int_t cutResults[4];
Bool_t isInitialized;
Int_t nReqEvents;
Int_t nBinsTrendX;
HCategory* calCat;
HCategory* rawCat;
HLocation loccal1;
HLocation locraw;
HIterator* itercal1;
HIterator* iterraw;
HMdcLookupGeom* lookup;
HMdcLookupRaw* lookupRaw;
HMdcTimeCut* timecut;
public:
HMdcLowLevelQA(void);
HMdcLowLevelQA(const Text_t* name,const Text_t* title);
~HMdcLowLevelQA(void);
void setOutputRoot (const Char_t*);
void initVariables();
void printStatus();
void resetCounters()
{
previousCellStatus=0;
for(Int_t s=0;s<6;s++)
{
for(Int_t m=0;m<4;m++)
{
double_all[s][m][0]=0;
double_all[s][m][1]=0;
}
}
}
void checkNeighboringCells(Int_t s,Int_t m,Int_t c)
{
if(c==previousCellStatus+1)
{
double_all[s][m][0]++;
double_all[s][m][1]++;
}
else
{
double_all[s][m][1]++;
}
previousCellStatus=c;
}
void setStepSize(Int_t size){stepsize_trend_meantime1=size;}
void createHistograms();
Bool_t getCategories();
void writeHistograms(Int_t,Int_t,Int_t,Int_t,Int_t,Int_t);
void fillHistogramsCal(Int_t,Int_t,Int_t,Int_t,Float_t,Float_t);
void fillHistogramsRaw(Int_t,Int_t,Int_t,Int_t,Float_t,Float_t);
void lookupSlopes(Int_t s,Int_t m);
void testTimeCuts(Int_t s,Int_t m,Float_t t1,Float_t t2);
void writeTimeCuts();
void getSetup();
Bool_t init(void);
Bool_t reinit(void);
TDirectory *Mkdir(TDirectory *,const Char_t *, Int_t, Int_t p=1);
void setParContainers(void);
Bool_t finalize();
Int_t execute();
ClassDef(HMdcLowLevelQA,0)
};
#endif /* !HMDCLOWLEVELQA_H */
Last change: Sat May 22 13:02:51 2010
Last generated: 2010-05-22 13:02
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.