AliCorrQADataMakerRec::AliCorrQADataMakerRec(AliQADataMaker ** qadm ) :
AliQADataMakerRec(AliQAv1::GetDetName(AliQAv1::kCORR), "Corr Quality Assurance Data Maker"),
fMaxRawVar(0),
- fqadm(qadm)
+ fqadm(qadm),
+ fVarvalue(NULL)
{
// ctor
fCorrNt = new TNtupleD *[AliRecoParam::kNSpecies] ;
AliCorrQADataMakerRec::AliCorrQADataMakerRec(const AliCorrQADataMakerRec& qadm) :
AliQADataMakerRec(),
fMaxRawVar(qadm.fMaxRawVar),
- fqadm(qadm.fqadm)
+ fqadm(qadm.fqadm),
+ fVarvalue(NULL)
{
//copy ctor
SetName((const char*)qadm.GetName()) ;
SetTitle((const char*)qadm.GetTitle());
+ if ( fMaxRawVar > 0 )
+ fVarvalue = new Double_t[fMaxRawVar] ;
}
//__________________________________________________________________
{
// dtor only destroy the ntuple
if ( fCorrNt ) {
- for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
- if ( fCorrNt[specie] != NULL )
- delete fCorrNt[specie] ;
- }
+// for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
+// if ( fCorrNt[specie] != NULL )
+// delete fCorrNt[specie] ;
+// }
delete[] fCorrNt ;
fCorrNt = 0x0;
}
+ if ( fMaxRawVar > 0 )
+ delete [] fVarvalue ;
}
//____________________________________________________________________________
void AliCorrQADataMakerRec::InitRaws()
{
// createa ntuple taking all the parameters declared by detectors
- if (fCorrNt)
+ if (fCorrNt[AliRecoParam::AConvert(fEventSpecie)])
return ;
- delete fRawsQAList ; // not needed for the time being
- fRawsQAList = NULL ;
+ if ( fRawsQAList )
+ {
+ delete[] fRawsQAList ; // not needed for the time being
+ fRawsQAList = NULL ;
+ }
TString varlist("") ;
for ( Int_t detIndex = 0 ; detIndex < AliQAv1::kNDET ; detIndex++ ) {
AliQADataMaker * qadm = fqadm[detIndex] ;
} else {
char * name = Form("%s_%s", AliQAv1::GetQACorrName(), AliRecoParam::GetEventSpecieName(fEventSpecie)) ;
fCorrNt[AliRecoParam::AConvert(fEventSpecie)] = new TNtupleD(name, "Raws data correlation among detectors", varlist.Data()) ;
+ fVarvalue = new Double_t[fMaxRawVar] ;
}
}
InitRaws() ;
if ( fMaxRawVar > 0 ) {
- const Int_t kSize = fMaxRawVar ;
- Double_t *varvalue = new Double_t[kSize] ;
Int_t index = 0 ;
for ( Int_t detIndex = 0 ; detIndex < AliQAv1::kNDET ; detIndex++ ) {
AliQADataMaker * qadm = fqadm[detIndex] ;
TIter next(list) ;
TParameter<double> * p ;
while ( (p = static_cast<TParameter<double>*>(next()) ) ) {
- varvalue[index++] = p->GetVal() ;
+ fVarvalue[index] = p->GetVal() ;
+ index++ ;
}
}
- static_cast<TNtupleD*>(fCorrNt[AliRecoParam::AConvert(fEventSpecie)])->Fill(varvalue);
- delete [] varvalue;
+ static_cast<TNtupleD*>(fCorrNt[AliRecoParam::AConvert(fEventSpecie)])->Fill(fVarvalue);
}
}