AliPhysics  1c9c77b (1c9c77b)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnaCaloChannelAnalysis.h
Go to the documentation of this file.
1 #ifndef ALIANACALOCHANNELANALYSIS_H
2 #define ALIANACALOCHANNELANALYSIS_H
3 
22 
23 /* Copyright(c) 1998-2016, ALICE Experiment at CERN, All rights reserved. *
24  * See cxx source for full Copyright notice
25 */
26 
27 
28 #include <Riostream.h>
29 #include <TString.h>
30 #include <TArrayD.h>
31 
32 class TH1;
33 class TH1F;
34 class TH1D;
35 class TH2F;
36 class TFile;
37 class TList;
38 
40 
41 
43 
44 public:
45  AliAnaCaloChannelAnalysis() ; // default ctor
46  virtual ~AliAnaCaloChannelAnalysis() { ; } // virtual dtor
47  AliAnaCaloChannelAnalysis(TString period, TString pass, TString trigger, Int_t runNumber,Int_t trial, TString workDir, TString listName);
48 
49  void Run();
50 
51  //Setters
52  void SetExternalMergedFile(TString inputName) {fExternalFileName = inputName;}
53  void SetQAChecks(Bool_t inputBool) {fTestRoutine = inputBool;}
54 
55  void AddPeriodAnalysis(Int_t criteria, Double_t nsigma, Double_t emin, Double_t emax);
56 
57 
58 protected:
59 
60  void Init();
62  void BCAnalysis();
63  void PeriodAnalysis(Int_t criterum=7, Double_t nsigma = 4.0, Double_t emin=0.1, Double_t emax=2.0);
64 
65  TH1F* BuildHitAndEnergyMean(Int_t crit, Double_t emin = 0.1, Double_t emax=2.);
66  TH1F* BuildTimeMean(Int_t crit, Double_t tmin, Double_t tmax);
67 
68  void FlagAsDead();
69  void FlagAsBad(Int_t crit, TH1F* inhisto, Double_t nsigma = 4., Int_t dnbins = 200, Double_t dmaxval = -1.);
70 
72  void SummarizeResults();
74  Bool_t CheckDistribution(TH1* ratio, TH1* reference);
75  Bool_t IsCoveredByTRD(Int_t row, Int_t collumn);
76  void SaveBadCellsToPDF(Int_t version, TString pdfName);
77  void PlotFlaggedCells2D(Int_t flagBegin,Int_t flagEnd=-1);
78  void SaveHistoToFile();
79 
80  //Test Test
81  //Settings for analysed period
88 
89  //Genergal paths
95 
96  //
99  std::vector<TArrayD> fAnalysisVector;
100 
101  //Things to be individualized by setters
105 
106  //histogram settings
111 
112  //arrays to store information
116 
117  //Calorimeter information for the investigated runs
119 
120  TFile* fRootFile;
124  TH1F* fhCellFlag;
125  TH1F* fhCellWarm;
126 
131 
132 private:
133  AliAnaCaloChannelAnalysis (const AliAnaCaloChannelAnalysis&); // not implemented
135 
138 
139 
141  ClassDef(AliAnaCaloChannelAnalysis, 1);
143 };
144 #endif
TH1F * BuildTimeMean(Int_t crit, Double_t tmin, Double_t tmax)
double Double_t
Definition: External.C:58
Definition: External.C:236
void AddPeriodAnalysis(Int_t criteria, Double_t nsigma, Double_t emin, Double_t emax)
TH2F * fCellTime
! possible histogram for the analysis. Cell ID vs. time, read from the input merged file ...
Int_t fNMaxRows
Maximum No of rows in module (phi direction)
Int_t fTrial
Number of trial that this specific analyis is. By default '0' so one can try different settings witho...
TH1F * fAvgEngPerHitVsCellId
! being discussed
TFile * fRootFile
! root file with all histograms from this analysis
AliAnaCaloChannelAnalysis & operator=(const AliAnaCaloChannelAnalysis &)
std::vector< TArrayD > fAnalysisVector
Vector of analysis information. Each place is filled with 4 doubles: version, sigma, lower, and upper energy range.
TH1F * fProcessedEvents
! Stores the number of events in the run
Int_t fNoOfCells
Number of cells in EMCal and DCal.
AliCalorimeterUtils * fCaloUtils
! Calorimeter information for the investigated runs
Int_t fCellStartDCal
ID of the first cell in the DCal.
void SetQAChecks(Bool_t inputBool)
TString fPass
Pass of the analyzed data.
Int_t * fFlag
! fFlag[CellID] = 0 (ok),1 (dead),2 and higher (bad certain criteria) start at 0 (cellID 0 = histobin...
Int_t fNMaxCols
Maximum No of colums in module (eta direction)
Int_t fCriterionCounter
! This value will be written in fflag and updates after each PeriodAnalysis, to distinguish the steps...
TString fMergedFileName
Filename of the .root file containing the merged runs.
int Int_t
Definition: External.C:63
TList * fOutputListBadRatio
! list with bad channel amplitude ratios, stored in fRootFile
TH1F * BuildHitAndEnergyMean(Int_t crit, Double_t emin=0.1, Double_t emax=2.)
TString fAnalysisInput
Here the .root files of each run of the period are saved.
TString fQADirect
Dierctory in the QA.root files where the input histograms are stored.
Bool_t * fWarmCell
! fWarmCell[CellID] = 0 (really bad), fWarmCell[CellID] = 1 (candidate for warm), ...
Definition: External.C:212
TString fWorkdir
Directory which contains the folders fMergeOutput, fAnalysisInput and fAnalysisOutput. By default it is './'.
void FlagAsBad(Int_t crit, TH1F *inhisto, Double_t nsigma=4., Int_t dnbins=200, Double_t dmaxval=-1.)
TList * fOutputListBad
! list with bad channel amplitudes, stored in fRootFile
Bool_t IsCoveredByTRD(Int_t row, Int_t collumn)
TH1F * fhCellFlag
! histogram that stores by which flag the cell has been excluded
Double_t nsigma
TString fExternalFileName
If you have already a file that contains many runs merged together you can place it in fMergeOutput a...
TString fPeriod
The name of the analyzed period.
const char * pdfName
Definition: DrawAnaELoss.C:30
void PlotFlaggedCells2D(Int_t flagBegin, Int_t flagEnd=-1)
TString fTrigger
Selected trigger for the analysis.
Bool_t CheckDistribution(TH1 *ratio, TH1 *reference)
Int_t fNMaxRowsAbs
Maximum No of rows in Calorimeter.
Int_t fNMaxColsAbs
Maximum No of colums in Calorimeter.
void PeriodAnalysis(Int_t criterum=7, Double_t nsigma=4.0, Double_t emin=0.1, Double_t emax=2.0)
Bool_t fTestRoutine
This is a flag, if set true will produce some extra quality check histograms.
TList * fOutputListGood
! list with good channel amplitudes, stored in fRootFile
Analyses cell properties and identifies bad cells.
TString fAnalysisOutput
The list with bad channels and histograms are saved in this folder.
TH1F * fAvgNHitPerEvVsCellId
! being discussed
TH1F * fhCellWarm
! histogram that stores whether the cell was marked as warm
TList * fOutputListGoodRatio
! list with good channel amplitude ratios, stored in fRootFile
bool Bool_t
Definition: External.C:53
Class with utils specific to calorimeter clusters/cells.
TH2F * fCellAmplitude
! main histogram for the analysis. Cell ID vs. amplitude, read from the input merged file ...
void SetExternalMergedFile(TString inputName)
void SaveBadCellsToPDF(Int_t version, TString pdfName)
TString fRunListFileName
This is the name of the file with the run numbers to be merged, by default it's 'runList.txt'.
Int_t fCurrentRunNumber
A run number of an analyzed period. This is important for the AliCalorimeterUtils initialization...
Definition: External.C:196
TString fRunList
Thats the full path and name of the file which contains a list of all runs to be merged together...