1 #ifndef ALIQADATAMAKER_H 2 #define ALIQADATAMAKER_H 19 #include <TObjArray.h> 50 virtual Int_t
Add2DigitsList(TH1 * hist,
const Int_t index,
const Bool_t expert = kFALSE,
const Bool_t image = kFALSE) = 0 ;
51 virtual Int_t
Add2ESDsList(TH1 * hist,
const Int_t index,
const Bool_t expert = kFALSE,
const Bool_t image = kFALSE) = 0 ;
52 virtual Int_t
Add2HitsList(TH1 * hist,
const Int_t index,
const Bool_t expert = kFALSE,
const Bool_t image = kFALSE) = 0 ;
53 virtual Int_t
Add2RecPointsList(TH1 * hist,
const Int_t index,
const Bool_t expert = kFALSE,
const Bool_t image = kFALSE) = 0 ;
54 virtual Int_t
Add2RawsList(TH1 * hist,
const Int_t index,
const Bool_t expert = kFALSE,
const Bool_t image = kFALSE,
const Bool_t saveForCorr = kFALSE) = 0 ;
55 virtual Int_t
Add2SDigitsList(TH1 * hist,
const Int_t index,
const Bool_t expert = kFALSE,
const Bool_t image = kFALSE) = 0 ;
64 virtual TObject*
GetESDsData(
const Int_t index) = 0 ;
65 virtual TObject*
GetHitsData(
const Int_t index) = 0 ;
67 virtual TObject*
GetRawsData(
const Int_t index) = 0 ;
70 virtual TH1*
GetDigitsData(
const Int_t index,
int cloneID) = 0 ;
71 virtual TH1*
GetESDsData(
const Int_t index,
int cloneID) = 0 ;
72 virtual TH1*
GetHitsData(
const Int_t index,
int cloneID) = 0 ;
74 virtual TH1*
GetRawsData(
const Int_t index,
int cloneID) = 0 ;
145 virtual Int_t
FillHitsData(Int_t index,
double x,
double y) = 0;
146 virtual Int_t
FillDigitsData(Int_t index,
double x,
double y) = 0;
148 virtual Int_t
FillRawsData(Int_t index,
double x,
double y) = 0;
150 virtual Int_t
FillESDsData(Int_t index,
double x,
double y) = 0;
152 virtual Int_t
FillHitsData(Int_t index,
double x,
double y,
double z) = 0;
153 virtual Int_t
FillDigitsData(Int_t index,
double x,
double y,
double z) = 0;
154 virtual Int_t
FillSDigitsData(Int_t index,
double x,
double y,
double z) = 0;
155 virtual Int_t
FillRawsData(Int_t index,
double x,
double y,
double z) = 0;
157 virtual Int_t
FillESDsData(Int_t index,
double x,
double y,
double z) = 0;
187 virtual Int_t
ResetHitsData(Int_t index, Option_t *opt=
"") = 0;
190 virtual Int_t
ResetRawsData(Int_t index, Option_t *opt=
"") = 0;
192 virtual Int_t
ResetESDsData(Int_t index, Option_t *opt=
"") = 0;
271 Int_t
Add2List(TH1 * hist,
const Int_t index,
TObjArray ** list,
const Bool_t expert = kFALSE,
const Bool_t image = kFALSE,
const Bool_t saveForCorr = kFALSE) ;
272 TH1 *
CloneMe(TH1 * hist, Int_t specie)
const ;
283 virtual void MakeHits(TTree * ) = 0 ;
287 virtual void MakeRaws(AliRawReader *) = 0 ;
337 TObject* h =
GetData(list,index);
if (!h)
return kFALSE;
345 TObject* obj =
GetData(list, index);
347 return ((
TObjArray*)obj)->GetEntriesFast();
360 #endif // AliQADataMaker_H
virtual TObjArray * GetMatchingDigitsData(const Int_t index, TObjArray *optDest=0)=0
virtual TObject * GetHitsData(const Int_t index)=0
virtual TObjArray * GetMatchingESDsData(const Int_t index, TObjArray *optDest=0)=0
virtual Int_t FillESDsData(Int_t index, double x)=0
Bool_t CheckCloningConsistency(TObjArray **list, const Int_t *indexList, Int_t nHist, Bool_t checkTriggers=kFALSE)
Int_t GetEvCountTotalHits(Int_t trCl=-1) const
Int_t GetEvCountCycleSDigits(Int_t trCl=-1) const
virtual TObjArray * GetMatchingSDigitsHistosSet(const Int_t *indexList, Int_t nHist, Int_t trigId)=0
TH1 * CloneMe(TH1 *hist, Int_t specie) const
virtual void EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray **list)=0
static const TObjArray & GetEventTrigClasses()
static const Char_t * fgkTriggerPrefix
virtual Int_t SetDigitsDataBinError(Int_t index, int bin, double err)=0
void IncEvCountTotalSDigits(Int_t diff=1)
TList ** fParameterList
flag to write or not the expert QA data
void ForbidCloning(TH1 *h, Bool_t v=kTRUE)
void IncEvCountTotalRecParticles(Int_t diff=1)
virtual Int_t SetESDsDataBinContent(Int_t index, int bin, double w)=0
virtual TObjArray * GetRawsDataOfTrigClass(int cloneID, TObjArray *dest=0)=0
virtual TObjArray * GetMatchingRawsData(const Int_t index, TObjArray *optDest=0)=0
virtual TObject * GetESDsData(const Int_t index)=0
virtual Int_t ResetStatsSDigitsData(Int_t index)=0
Int_t GetEvCountTotal(AliQAv1::TASKINDEX_t task, Int_t trCl=-1) const
const Char_t * GetDetectorDirName() const
virtual Int_t SetESDsDataBinError(Int_t index, int bin, double err)=0
virtual Int_t ClonePerTrigClassA(TObjArray *list, const char *hnm, const char *triggers, Bool_t keepOriginal=kFALSE)
virtual TH1 * GetMatchingRecPointsHisto(Int_t index, Int_t trigId)=0
static TObjArray * fgTrigClasses
virtual Int_t ResetRawsData(Int_t index, Option_t *opt="")=0
virtual Int_t SetHitsDataBinError(Int_t index, int bin, double err)=0
static UInt_t GetOrigHistoKeptBit()
void IncEvCountCycle(AliQAv1::TASKINDEX_t task, Int_t diff=1)
void IncEvCountCycleDigits(Int_t diff=1)
static void SetCloningRequest(TObjArray *aliases, TObjArray *histos)
virtual Int_t ClonePerTrigClassH(Int_t index, TObjArray *list, TObjArray *trigArr, Bool_t keepOriginal=kFALSE)
Int_t FillData(TObjArray **list, Int_t index, double x)
virtual Int_t ResetStatsRawsData(Int_t index)=0
Bool_t IsValidEventSpecie(Int_t eventSpecieIndex, TObjArray **list)
static TObjArray * fgCloningRequest
virtual TH1 * GetMatchingHitsHisto(Int_t index, Int_t trigId)=0
virtual const AliDetectorRecoParam * GetRecoParam()
static TNamed * GetTrigClass(Int_t i)
void IncEvCountTotalRecPoints(Int_t diff=1)
virtual Int_t FillRawsData(Int_t index, double x)=0
virtual TObject * GetDigitsData(const Int_t index)=0
void IncEvCountCycleTrackSegments(Int_t diff=1)
Int_t GetEvCountTotal(AliRecoParam::EventSpecie_t sp, AliQAv1::TASKINDEX_t task, Int_t trCl=-1) const
Char_t * GetHistoTrigger(const TH1 *h) const
Int_t fCycle
current cycle number
Bool_t IsCycleDone() const
virtual Int_t FillHitsData(Int_t index, double x)=0
Int_t SetDataBinError(TObjArray **list, Int_t index, int bin, double err)
Int_t GetEvCountTotalESDS(Int_t trCl=-1) const
void IncEvCountCycleRecPoints(Int_t diff=1)
Int_t GetEvCountCycleDigits(Int_t trCl=-1) const
virtual Int_t Add2DigitsList(TH1 *hist, const Int_t index, const Bool_t expert=kFALSE, const Bool_t image=kFALSE)=0
virtual TObjArray * GetMatchingSDigitsData(const Int_t index, TObjArray *optDest=0)=0
TDirectory * fDetectorDir
output root file
void SetCycle(Int_t nevts)
Int_t GetEvCountCycle(AliRecoParam::EventSpecie_t sp, AliQAv1::TASKINDEX_t task, Int_t trCl=-1) const
Int_t IsClonedPerTrigClass(Int_t index, TObjArray **list)
Bool_t fWriteExpert
cycle counter
static void ResetEventTrigClasses()
virtual void MakeHits()=0
void SetEventSpecie(Int_t es)
static UInt_t GetForbidCloningBit()
static TObjArray * GetDataOfTrigClass(TObjArray *arr, Int_t cloneID, TObjArray *dest=0)
Int_t SetDataBinContent(TObjArray **list, Int_t index, int bin, double w)
Int_t GetEvCountCycleHits(Int_t trCl=-1) const
virtual void MakeESDs(AliESDEvent *)=0
virtual TH1 * GetMatchingDigitsHisto(Int_t index, Int_t trigId)=0
virtual void Exec(AliQAv1::TASKINDEX_t, TObject *data)=0
AliQADataMaker & operator=(const AliQADataMaker &)
virtual TObjArray * GetRecPointsDataOfTrigClass(int cloneID, TObjArray *dest=0)=0
virtual Int_t Add2ESDsList(TH1 *hist, const Int_t index, const Bool_t expert=kFALSE, const Bool_t image=kFALSE)=0
virtual TObject * GetSDigitsData(const Int_t index)=0
virtual Int_t ResetStatsESDsData(Int_t index)=0
Int_t fCycleCounter
length (# events) of the QA data acquisition cycle
TArrayI fEvCountTotal[AliRecoParam::kNSpecies]
virtual Int_t SetRawsDataBinContent(Int_t index, int bin, double w)=0
virtual Int_t SetRawsDataBinError(Int_t index, int bin, double err)=0
void IncEvCountCycleRecParticles(Int_t diff=1)
TClonesArray * fDigitsArray
event specie, see AliRecoParam
virtual Int_t Add2RawsList(TH1 *hist, const Int_t index, const Bool_t expert=kFALSE, const Bool_t image=kFALSE, const Bool_t saveForCorr=kFALSE)=0
virtual Int_t Add2RecPointsList(TH1 *hist, const Int_t index, const Bool_t expert=kFALSE, const Bool_t image=kFALSE)=0
TString fDetectorDirName
directory for the given detector in the file
virtual void ResetDetector(AliQAv1::TASKINDEX_t task)=0
virtual Int_t FillDigitsData(Int_t index, double x)=0
virtual Int_t ResetDigitsData(Int_t index, Option_t *opt="")=0
virtual TH1 * GetMatchingSDigitsHisto(Int_t index, Int_t trigId)=0
virtual void InitRaws()=0
virtual Int_t SetDigitsDataBinContent(Int_t index, int bin, double w)=0
virtual Int_t SetRecPointsDataBinError(Int_t index, int bin, double err)=0
virtual Int_t ResetESDsData(Int_t index, Option_t *opt="")=0
virtual void ClonePerTrigClass(AliQAv1::TASKINDEX_t task)=0
void IncEvCountTotal(AliQAv1::TASKINDEX_t task, Int_t diff=1)
virtual TObjArray * GetMatchingESDsHistosSet(const Int_t *indexList, Int_t nHist, Int_t trigId)=0
virtual void ClonePerTrigClassL(TObjArray **list, AliQAv1::TASKINDEX_t task)
static Bool_t IsEventTriggerSet()
virtual void MakeSDigits()=0
static TObjArray fgEventTrigClasses
static Int_t GetNEventTrigClasses()
TObject * GetData(TObjArray **list, const Int_t index)
static EventSpecie_t ConvertIndex(Int_t index)
virtual void InitDigits()=0
virtual Int_t ResetSDigitsData(Int_t index, Option_t *opt="")=0
Int_t GetEvCountTotalDigits(Int_t trCl=-1) const
virtual TObjArray * GetHitsDataOfTrigClass(int cloneID, TObjArray *dest=0)=0
Int_t GetEvCountTotalRecPoints(Int_t trCl=-1) const
virtual Int_t SetRecPointsDataBinContent(Int_t index, int bin, double w)=0
static const char * GetTriggerPrefix()
Int_t GetEvCountCycleRecPoints(Int_t trCl=-1) const
void IncEvCountTotalDigits(Int_t diff=1)
virtual ~AliQADataMaker()
Int_t ResetStatsData(TObjArray **list, Int_t index)
virtual void InitRecPoints()=0
virtual Int_t SetSDigitsDataBinContent(Int_t index, int bin, double w)=0
Bool_t MatchesToTriggers(UInt_t hpos) const
virtual TObject * GetRecPointsData(const Int_t index)=0
void IncEvCountTotalHits(Int_t diff=1)
static TNamed * GetEventTrigClass(Int_t i)
virtual TH1 * GetMatchingRawsHisto(Int_t index, Int_t trigId)=0
TObjArray * GetMatchingHistosSet(TObjArray **list, const Int_t *indexList, Int_t nHist, Int_t trigId)
TArrayI fEvCountCycle[AliRecoParam::kNSpecies]
array to hold the sdigits
static Int_t GetNTrigClasses()
TH1 * GetMatchingHisto(TObjArray **list, Int_t index, Int_t trigId)
AliRecoParam::EventSpecie_t GetEventSpecie() const
virtual void InitHits()=0
virtual Int_t ResetStatsHitsData(Int_t index)=0
virtual void MakeRecPoints(TTree *)=0
void ResetEvCountTotal(AliRecoParam::EventSpecie_t isp)
Int_t GetEvCountTotalSDigits(Int_t trCl=-1) const
virtual void DefaultEndOfDetectorCycle(AliQAv1::TASKINDEX_t task)
void IncEvCountTotalTrackSegments(Int_t diff=1)
void IncEvCountCycleHits(Int_t diff=1)
virtual TObjArray * GetMatchingHitsHistosSet(const Int_t *indexList, Int_t nHist, Int_t trigId)=0
virtual TObjArray * GetMatchingRawsHistosSet(const Int_t *indexList, Int_t nHist, Int_t trigId)=0
virtual Int_t SetHitsDataBinContent(Int_t index, int bin, double w)=0
static Int_t SetEventTrigClasses(const char *triggers)
virtual void InitRecPointsForTracker()
virtual Int_t Add2HitsList(TH1 *hist, const Int_t index, const Bool_t expert=kFALSE, const Bool_t image=kFALSE)=0
virtual TObjArray ** Init(AliQAv1::TASKINDEX_t, Int_t cycles=-1)=0
virtual TObjArray * GetMatchingRecPointsHistosSet(const Int_t *indexList, Int_t nHist, Int_t trigId)=0
virtual void MakeDigits()=0
virtual void StartOfCycle(Int_t run=-1)=0
virtual void StartOfDetectorCycle()=0
static UInt_t GetClonedBit()
Int_t GetEvCountCycle(AliQAv1::TASKINDEX_t task, Int_t trCl=-1) const
void SetEventSpecie(AliRecoParam::EventSpecie_t es)
virtual void EndOfCycle()=0
Int_t ResetData(TObjArray **list, Int_t index, Option_t *option="")
void IncEvCountCycleSDigits(Int_t diff=1)
virtual Int_t ResetRecPointsData(Int_t index, Option_t *opt="")=0
virtual TObjArray * GetMatchingDigitsHistosSet(const Int_t *indexList, Int_t nHist, Int_t trigId)=0
virtual TObjArray * GetESDsDataOfTrigClass(int cloneID, TObjArray *dest=0)=0
void IncEvCountCycleRaws(Int_t diff=1)
virtual TObjArray * GetMatchingHitsData(const Int_t index, TObjArray *optDest=0)=0
virtual Int_t FillSDigitsData(Int_t index, double x)=0
static EventSpecie_t Convert(Int_t ies)
AliQADataMaker(const Char_t *name="", const Char_t *title="")
Int_t GetEvCountCycleESDS(Int_t trCl=-1) const
Int_t Add2List(TH1 *hist, const Int_t index, TObjArray **list, const Bool_t expert=kFALSE, const Bool_t image=kFALSE, const Bool_t saveForCorr=kFALSE)
void IncEvCountCycleESDs(Int_t diff=1)
virtual void SetRecoParam(const AliDetectorRecoParam *)
void IncEvCountTotalESDs(Int_t diff=1)
virtual Int_t ResetStatsDigitsData(Int_t index)=0
static Int_t AConvert(EventSpecie_t es)
virtual TH1 * GetMatchingESDsHisto(Int_t index, Int_t trigId)=0
virtual void MakeRaws(AliRawReader *)=0
virtual TObjArray * GetSDigitsDataOfTrigClass(int cloneID, TObjArray *dest=0)=0
Bool_t IsOrigHistoKept(Int_t index, TObjArray **list)
virtual Int_t ResetHitsData(Int_t index, Option_t *opt="")=0
TList * GetParameterList() const
virtual TObjArray * GetDigitsDataOfTrigClass(int cloneID, TObjArray *dest=0)=0
TObjArray * GetMatchingHistos(TObjArray **list, Int_t index, TObjArray *optDest=0)
virtual Int_t ResetStatsRecPointsData(Int_t index)=0
void ResetEvCountCycle(AliRecoParam::EventSpecie_t isp)
virtual Int_t Add2SDigitsList(TH1 *hist, const Int_t index, const Bool_t expert=kFALSE, const Bool_t image=kFALSE)=0
virtual TObjArray * GetMatchingRecPointsData(const Int_t index, TObjArray *optDest=0)=0
virtual Int_t SetSDigitsDataBinError(Int_t index, int bin, double err)=0
virtual void InitSDigits()=0
Int_t GetEvCountCycleRaws(Int_t trCl=-1) const
Int_t GetEvCountTotalRaws(Int_t trCl=-1) const
virtual Int_t FillRecPointsData(Int_t index, double x)=0
static const char * GetTrigClassName(Int_t i)
AliRecoParam::EventSpecie_t fEventSpecie
run number
Int_t fCurrentCycle
detector directory name in the quality assurance data file
virtual void InitESDs()=0
Int_t fRun
list of QA data parameters
Bool_t IsCloningForbidden(TH1 *h) const
void IncEvCountTotalRaws(Int_t diff=1)
virtual TObject * GetRawsData(const Int_t index)=0