fOverThreshold20 = new AliTPCCalPad(*ped.GetOverThreshold20());
if(ped.GetOverThreshold30())
fOverThreshold30 = new AliTPCCalPad(*ped.GetOverThreshold30());
- if(ped.GetHistQVsTimeSideA())
+ if(ped.GetHistQVsTimeSideA()) {
fHistQVsTimeSideA = new TProfile(*ped.GetHistQVsTimeSideA());
- if(ped.GetHistQVsTimeSideC())
+ fHistQVsTimeSideA->SetDirectory(0);
+ }
+ if(ped.GetHistQVsTimeSideC()) {
fHistQVsTimeSideC = new TProfile(*ped.GetHistQVsTimeSideC());
- if(ped.GetHistQMaxVsTimeSideA())
+ fHistQVsTimeSideC->SetDirectory(0);
+ }
+ if(ped.GetHistQMaxVsTimeSideA()) {
fHistQMaxVsTimeSideA = new TProfile(*ped.GetHistQMaxVsTimeSideA());
- if(ped.GetHistQMaxVsTimeSideC())
+ fHistQMaxVsTimeSideA->SetDirectory(0);
+ }
+ if(ped.GetHistQMaxVsTimeSideC()) {
fHistQMaxVsTimeSideC = new TProfile(*ped.GetHistQMaxVsTimeSideC());
+ fHistQMaxVsTimeSideC->SetDirectory(0);
+ }
}
//_____________________________________________________________________
//
// Event processing loop - AliRawReader
//
- AliTPCRawStreamV3 *rawStreamV3 = new AliTPCRawStreamV3(rawReader, (AliAltroMapping**)fMapping);
- Bool_t res=ProcessEvent(rawStreamV3);
- delete rawStreamV3;
+ AliTPCRawStreamV3 rawStreamV3(rawReader, (AliAltroMapping**)fMapping);
+ Bool_t res=ProcessEvent(&rawStreamV3);
if(res)
fEventCounter++; // only increment event counter if there is TPC data
return res;
//
// Event processing loop - AliRawReader
//
- AliTPCRawStreamFast *rawStreamFast = new AliTPCRawStreamFast(rawReader, (AliAltroMapping**)fMapping);
- Bool_t res=ProcessEventFast(rawStreamFast);
+ AliTPCRawStreamFast rawStreamFast(rawReader, (AliAltroMapping**)fMapping);
+ Bool_t res=ProcessEventFast(&rawStreamFast);
if(res)
fEventCounter++; // only increment event counter if there is TPC data
// otherwise Analyse (called in QA) fails
- delete rawStreamFast;
return res;
}
// process date event
//
- AliRawReader *rawReader = new AliRawReaderDate((void*)event);
- Bool_t result=ProcessEvent(rawReader);
- delete rawReader;
+ AliRawReaderDate rawReader((void*)event);
+ Bool_t result=ProcessEvent(&rawReader);
return result;
}
if (!fOverThreshold10) fOverThreshold10 = new AliTPCCalPad("OverThreshold10","OverThreshold10");
if (!fOverThreshold20) fOverThreshold20 = new AliTPCCalPad("OverThreshold20","OverThreshold20");
if (!fOverThreshold30) fOverThreshold30 = new AliTPCCalPad("OverThreshold30","OverThreshold30");
- if (!fHistQVsTimeSideA)
+ if (!fHistQVsTimeSideA) {
fHistQVsTimeSideA = new TProfile("hQVsTimeSideA", "Q vs time (side A); Time [Timebin]; Q [ADC ch]", 100, 0, 1000);
- if (!fHistQVsTimeSideC)
+ fHistQVsTimeSideA->SetDirectory(0);
+ }
+ if (!fHistQVsTimeSideC) {
fHistQVsTimeSideC = new TProfile("hQVsTimeSideC", "Q vs time (side C); Time [Timebin]; Q [ADC ch]", 100, 0, 1000);
- if (!fHistQMaxVsTimeSideA)
+ fHistQVsTimeSideC->SetDirectory(0);
+ }
+ if (!fHistQMaxVsTimeSideA) {
fHistQMaxVsTimeSideA = new TProfile("hQMaxVsTimeSideA", "Q_{MAX} vs time (side A); Time [Timebin]; Q_{MAX} [ADC ch]", 100, 0, 1000);
- if (!fHistQMaxVsTimeSideC)
+ fHistQMaxVsTimeSideA->SetDirectory(0);
+ }
+ if (!fHistQMaxVsTimeSideC) {
fHistQMaxVsTimeSideC = new TProfile("hQMaxVsTimeSideC", "Q_{MAX} vs time (side C); Time [Timebin]; Q_{MAX} [ADC ch]", 100, 0, 1000);
-
+ fHistQMaxVsTimeSideC->SetDirectory(0);
+ }
+
// Make the arrays for expanding the data
if (!fAllBins)
}
return charge;
}
+
+//______________________________________________________________________________
+void AliTPCdataQA::Streamer(TBuffer &R__b)
+{
+ // Automatic schema evolution was first used from revision 4
+ // Code based on:
+ // http://root.cern.ch/root/roottalk/roottalk02/3207.html
+
+ UInt_t R__s, R__c;
+ if (R__b.IsReading()) {
+ Version_t R__v = R__b.ReadVersion(&R__s, &R__c);
+ //we use the automatic algorithm for class version > 3
+ if (R__v > 3) {
+ AliTPCdataQA::Class()->ReadBuffer(R__b, this, R__v, R__s,
+ R__c);
+ return;
+ }
+ TH1F::Streamer(R__b);
+ R__b >> fFirstTimeBin;
+ R__b >> fLastTimeBin;
+ R__b >> fAdcMin;
+ R__b >> fAdcMax;
+ R__b >> fNLocalMaxima;
+ R__b >> fMaxCharge;
+ R__b >> fMeanCharge;
+ R__b >> fNoThreshold;
+ R__b >> fNTimeBins;
+ R__b >> fNPads;
+ R__b >> fTimePosition;
+ R__b >> fEventCounter;
+ R__b >> fIsAnalysed;
+ R__b.CheckByteCount(R__s, R__c, AliTPCdataQA::IsA());
+ } else {
+ AliTPCdataQA::Class()->WriteBuffer(R__b,this);
+ }
+}