AliHLTD0Trigger::~AliHLTD0Trigger()
{
+ // TODO: code audit 2010-07-23 delete obsolete code
//if(fd0calc){delete fd0calc;}
//if(fD0mass){delete fD0mass;}
//if(ftwoTrackArray){delete ftwoTrackArray;}
}
}
+ // TODO: code audit 2010-07-23 get rid of fVertex as member variable, the object
+ // is changing every event and already available after the object extraction
+ // change internal functions to pass the vertex as parameter. Setting the variable
+ // to NULL here to be coherent with checks further down.
+ fVertex=NULL;
+
for ( const TObject *iter = GetFirstInputObject(kAliHLTDataTypeESDObject); iter != NULL; iter = GetNextInputObject() ) {
if(fUseV0){
nD0=RecV0(iter);
event->GetStdContent();
fField = event->GetMagneticField();
const AliESDVertex* pv = event->GetPrimaryVertexTracks();
- fVertex = new AliESDVertex(*pv);
+ // TODO: code audit 2010-07-23 this is a memory leak, fVertex is not deleted
+ //fVertex = new AliESDVertex(*pv);
+ // use the vertex object from the ESD, right now we need to cast away the
+ // const'ness, think about changing the functions to use const AliESDVertex* objects
+ fVertex = const_cast<AliESDVertex*>(pv);
if(fVertex->GetNContributors()<2){
HLTDebug("Contributors in ESD vertex to low or not been set");
continue;
}
for(Int_t it=0;it<event->GetNumberOfTracks();it++){
+ // TODO: code audit 2010-07-23 pass vertex object as parameter
SingleTrackSelect(event->GetTrack(it));
}
- RecD0(nD0,nD0Onetrue,nD0true);
+ // TODO: code audit 2010-07-23 pass vertex object as parameter
+ if (fVertex) RecD0(nD0,nD0Onetrue,nD0true);
}
}
for(UInt_t i=0;i<tracksVector.size();i++){
SingleTrackSelect(&tracksVector[i]);
}
- RecD0(nD0,nD0Onetrue,nD0true);
+ // TODO: code audit 2010-07-23 pass vertex object as parameter
+ if (fVertex) RecD0(nD0,nD0Onetrue,nD0true);
}
fTotalD0+=nD0;
int AliHLTD0Trigger::DoDeinit()
{
// see header file for class documentation
+
+ // TODO: code audit 2010-07-23 deleted variables to be set to NULL
if(fd0calc){delete fd0calc;}
if(fD0mass){delete fD0mass;}
+ // TODO: code audit 2010-07-23 delete obsolete code
//if(ftwoTrackArray){delete ftwoTrackArray;}
//if(fVertex){delete fVertex;}
return 0;
void AliHLTD0Trigger::SingleTrackSelect(AliExternalTrackParam* t){
// Offline har || på disse kuttene på de to henfallsproduktene
+ // TODO: code audit 2010-07-23 translate all comments
+ if (!fVertex) return;
+
Double_t pv[3];
fVertex->GetXYZ(pv);