AliPhysics  ec7afe5 (ec7afe5)
 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 
23 
24 /* Copyright(c) 1998-2016, ALICE Experiment at CERN, All rights reserved. *
25  * See cxx source for full Copyright notice
26 */
27 
28 
29 #include <Riostream.h>
30 #include <TString.h>
31 #include <TArrayD.h>
32 
33 class TH1;
34 class TH1F;
35 class TH1D;
36 class TH2F;
37 class TFile;
38 class TList;
39 
41 
42 
44 
45 public:
46  AliAnaCaloChannelAnalysis() ; // default ctor
47  virtual ~AliAnaCaloChannelAnalysis() { ; } // virtual dtor
48  AliAnaCaloChannelAnalysis(TString period, TString pass, TString trigger, Int_t runNumber,Int_t trial, TString workDir, TString listName);
49 
50  void Run();
51 
52  //Setters
53  void SetExternalMergedFile(TString inputName) {fExternalFileName = inputName;}
54  void SetQAChecks(Bool_t inputBool) {fTestRoutine = inputBool;}
55 
56  void AddPeriodAnalysis(Int_t criteria, Double_t nsigma, Double_t emin, Double_t emax);
57 
58 
59 protected:
60 
61  void Init();
63  void BCAnalysis();
64  void PeriodAnalysis(Int_t criterum=7, Double_t nsigma = 4.0, Double_t emin=0.1, Double_t emax=2.0);
65 
66  TH1F* BuildHitAndEnergyMean(Int_t crit, Double_t emin = 0.1, Double_t emax=2.);
67  TH1F* BuildTimeMean(Int_t crit, Double_t tmin, Double_t tmax);
68 
69  void FlagAsDead();
70  void FlagAsBad(Int_t crit, TH1F* inhisto, Double_t nsigma = 4., Int_t dnbins = 200, Double_t dmaxval = -1.);
71 
73  void SummarizeResults();
75  Bool_t CheckDistribution(TH1* ratio, TH1* reference);
76  Bool_t IsCoveredByTRD(Int_t row, Int_t collumn);
77  void SaveBadCellsToPDF(Int_t version, TString pdfName);
78  void PlotFlaggedCells2D(Int_t flagBegin,Int_t flagEnd=-1);
79  void SaveHistoToFile();
80 
81  //Test Test
82  //Settings for analysed period
89 
90  //Genergal paths
96 
97  //
100  std::vector<TArrayD> fAnalysisVector;
101 
102  //Things to be individualized by setters
106 
107  //histogram settings
112 
113  //arrays to store information
117 
118  //Calorimeter information for the investigated runs
120 
121  TFile* fRootFile;
125  TH1F* fhCellFlag;
126  TH1F* fhCellWarm;
127 
132 
133 private:
134  AliAnaCaloChannelAnalysis (const AliAnaCaloChannelAnalysis&); // not implemented
136 
139 
140 
142  ClassDef(AliAnaCaloChannelAnalysis, 1);
144 };
145 #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...