AliPhysics  c6e65cb (c6e65cb)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Go to the documentation of this file.
29 /* Copyright(c) 1998-2016, ALICE Experiment at CERN, All rights reserved. *
30  * See cxx source for full Copyright notice
31 */
34 #include <Riostream.h>
35 #include <TString.h>
36 #include <TArrayD.h>
38 class TH1;
39 class TH1F;
40 class TH1D;
41 class TH2F;
42 class TFile;
43 class TList;
48 class BadChannelAna : public TObject {
50 public:
51  BadChannelAna() ; // default ctor
52  virtual ~BadChannelAna() { ; } // virtual dtor
53  BadChannelAna(TString period, TString train, TString trigger, Int_t runNumber,Int_t trial, TString workDir, TString listName);
55  void Run(Bool_t mergeOnly=0);
57  //Setters
58  void SetExternalMergedFile(TString inputName) {fExternalFileName = inputName;}
59  void SetExternalBadMap(TString inputName) {fExternalBadMapName = inputName;}
60  void SetQAChecks(Bool_t inputBool) {fTestRoutine = inputBool;}
61  void SetPrintOutput(Bool_t inputBool) {fPrint = inputBool;}
62  void SetStartEndCell(Int_t start, Int_t end) {fStartCell = start; fNoOfCells = end;}
63  void AddManualMasking(std::vector<Int_t> cellVector) {fManualMask.swap(cellVector) ;}
64  void AddPeriodAnalysis(Int_t criteria, Double_t nsigma, Double_t emin, Double_t emax);
67 protected:
69  void Init();
71  void LoadExternalBadMap();
72  void BCAnalysis();
73  void PeriodAnalysis(Int_t criterum=7, Double_t nsigma = 4.0, Double_t emin=0.1, Double_t emax=2.0);
75  TH1F* BuildHitAndEnergyMean(Int_t crit, Double_t emin = 0.1, Double_t emax=2.);
76  TH1F* BuildTimeMean(Int_t crit, Double_t tmin, Double_t tmax);
78  void FlagAsDead();
79  void FlagAsBad(Int_t crit, TH1F* inhisto, Double_t nsigma = 4., Double_t dnbins = 200);
82  void SummarizeResults();
83  TH1D *BuildMeanFromGood(Int_t warmIn=0);
84  Bool_t CheckDistribution(TH1* ratio, TH1* reference);
85  Bool_t IsCoveredByTRD(Int_t row, Int_t collumn);
86  void SaveBadCellsToPDF(Int_t version, TString pdfName);
87  void PlotFlaggedCells2D(Int_t flagBegin,Int_t flagEnd=-1);
88  void SaveHistoToFile();
90  //Test Test
91  //Settings for analysed period
101  //Genergal paths
108  //
111  std::vector<TArrayD> fAnalysisVector;
113  //Things to be individualized by setters
120  //histogram settings
126  //arrays to store information
131  std::vector<Int_t> fManualMask;
133  //Calorimeter information for the investigated runs
136  TFile* fRootFile;
140  TH1F* fhCellFlag;
141  TH1F* fhCellWarm;
148 private:
149  BadChannelAna (const BadChannelAna&); // not implemented
150  BadChannelAna &operator=(const BadChannelAna&); // not implemented
157  ClassDef(BadChannelAna, 1);
159 };
160 #endif
TH2F * fCellTime
! possible histogram for the analysis. Cell ID vs. time, read from the input merged file ...
TString fAnalysisOutput
The list with bad channels and histograms are saved in this folder.
TList * fOutputListGood
! list with good channel amplitudes, stored in fRootFile
TH1F * fProcessedEvents
! Stores the number of events in the run
void Run(Bool_t mergeOnly=0)
TString fQADirect
Dierctory in the QA.root files where the input histograms are stored.
TList * fOutputListBadRatio
! list with bad channel amplitude ratios, stored in fRootFile
double Double_t
Definition: External.C:58
void PlotFlaggedCells2D(Int_t flagBegin, Int_t flagEnd=-1)
Definition: External.C:236
Double_t fnEventsInRange
void SetPrintOutput(Bool_t inputBool)
Definition: BadChannelAna.h:61
BadChannelAna & operator=(const BadChannelAna &)
void SaveBadCellsToPDF(Int_t version, TString pdfName)
TString fPeriod
The name of the analyzed period.
Definition: BadChannelAna.h:93
void SetExternalMergedFile(TString inputName)
Definition: BadChannelAna.h:58
TString fWorkdir
Directory which contains the folders fMergeOutput, fAnalysisInput and fAnalysisOutput. By default it is './'.
TH1D * BuildMeanFromGood(Int_t warmIn=0)
Bool_t CheckDistribution(TH1 *ratio, TH1 *reference)
Bool_t fTestRoutine
This is a flag, if set true will produce some extra quality check histograms.
TH1F * fAvgNHitPerEvVsCellId
! being discussed
TString fRunListFileName
This is the name of the file with the run numbers to be merged, by default it's 'runList.txt'.
TList * fOutputListBad
! list with bad channel amplitudes, stored in fRootFile
void AddPeriodAnalysis(Int_t criteria, Double_t nsigma, Double_t emin, Double_t emax)
void FlagAsBad(Int_t crit, TH1F *inhisto, Double_t nsigma=4., Double_t dnbins=200)
Int_t * fFlag
! fFlag[CellID] = 0 (ok),1 (dead),2 and higher (bad certain criteria) start at 0 (cellID 0 = histobin...
void AddManualMasking(std::vector< Int_t > cellVector)
Definition: BadChannelAna.h:63
Int_t fCriterionCounter
! This value will be written in fflag and updates after each PeriodAnalysis, to distinguish the steps...
Bool_t fPrint
If set true more couts with information of the excluded cells will be printed.
int Int_t
Definition: External.C:63
virtual ~BadChannelAna()
Definition: BadChannelAna.h:52
Analyses cell properties and identifies bad cells.
Definition: BadChannelAna.h:48
Int_t fStartCellSM[21]
CellIDs of first cell in the 20SMs plus last cell ID.
Definition: BadChannelAna.h:99
TList * fOutputListGoodRatio
! list with good channel amplitude ratios, stored in fRootFile
Definition: External.C:212
TString fExternalBadMapName
Load an external bad map to test the effect on block or a given run.
TString fTrainNo
Train number of the analyszed data (can deduce pass & trigger from that etc.)
Definition: BadChannelAna.h:94
Int_t fNMaxColsAbs
Maximum No of colums in Calorimeter.
Int_t fNoOfCells
Number of cells in EMCal and DCal.
Definition: BadChannelAna.h:96
void PeriodAnalysis(Int_t criterum=7, Double_t nsigma=4.0, Double_t emin=0.1, Double_t emax=2.0)
std::vector< Int_t > fManualMask
! Is a list of cells that should be addidionally masked by hand.
Double_t nsigma
void LoadExternalBadMap()
TH1F * fhCellWarm
! histogram that stores whether the cell was marked as warm
TString MergeRuns()
const char * pdfName
Definition: DrawAnaELoss.C:30
Bool_t * fWarmCell
! fWarmCell[CellID] = 0 (really bad), fWarmCell[CellID] = 1 (candidate for warm), ...
TH2F * fCellAmplitude
! main histogram for the analysis. Cell ID vs. amplitude, read from the input merged file ...
void SetQAChecks(Bool_t inputBool)
Definition: BadChannelAna.h:60
void SummarizeResultsByFlag()
TH1F * BuildTimeMean(Int_t crit, Double_t tmin, Double_t tmax)
std::vector< TArrayD > fAnalysisVector
Vector of analysis information. Each place is filled with 4 doubles: version, sigma, lower, and upper energy range.
void SetStartEndCell(Int_t start, Int_t end)
Definition: BadChannelAna.h:62
Int_t fNMaxRows
Maximum No of rows in module (phi direction)
TString fMergedFileName
Filename of the .root file containing the merged runs.
Int_t fCurrentRunNumber
A run number of an analyzed period. This is important for the AliCalorimeterUtils initialization...
Definition: BadChannelAna.h:92
TString fExternalFileName
If you have already a file that contains many runs merged together you can place it in fMergeOutput a...
TString fRunList
Thats the full path and name of the file which contains a list of all runs to be merged together...
AliCalorimeterUtils * fCaloUtils
! Calorimeter information for the investigated runs
TH1F * BuildHitAndEnergyMean(Int_t crit, Double_t emin=0.1, Double_t emax=2.)
void SetExternalBadMap(TString inputName)
Definition: BadChannelAna.h:59
TH1F * fAvgEngPerHitVsCellId
! being discussed
Int_t fTrial
Number of trial that this specific analyis is. By default '0' so one can try different settings witho...
Bool_t IsCoveredByTRD(Int_t row, Int_t collumn)
Int_t fStartCell
ID of the first cell you want to check.
Definition: BadChannelAna.h:98
Int_t fNMaxCols
Maximum No of colums in module (eta direction)
bool Bool_t
Definition: External.C:53
TString fTrigger
Selected trigger for the analysis.
Definition: BadChannelAna.h:95
Class with utils specific to calorimeter clusters/cells.
TH1F * fhCellFlag
! histogram that stores by which flag the cell has been excluded
TFile * fRootFile
! root file with all histograms from this analysis
Definition: External.C:196
Int_t fCellStartDCal
ID of the first cell in the DCal.
Definition: BadChannelAna.h:97
TString fAnalysisInput
Here the .root files of each run of the period are saved.
Int_t fNMaxRowsAbs
Maximum No of rows in Calorimeter.