#include "AliHMPIDParam.h"
#include <TRandom.h>
+extern TRandom *gRandom;
+
ClassImp(AliHMPIDDigitizer)
Bool_t AliHMPIDDigitizer::fgDoNoise=kFALSE;
//First we read all sdigits from all inputs
AliRunLoader *pInRunLoader=0;//in and out Run loaders
AliLoader *pInRichLoader=0;//in and out HMPID loaders
- TClonesArray sdigs("AliHMPIDDigit");//tmp storage for sdigits sum up from all input files
+ static TClonesArray sdigs("AliHMPIDDigit");//tmp storage for sdigits sum up from all input files
Int_t total=0;
for(Int_t inFileN=0;inFileN<fManager->GetNinputs();inFileN++){//files loop
pInRunLoader = AliRunLoader::GetRunLoader(fManager->GetInputFolderName(inFileN)); //get run loader from current input
TClonesArray *pLst[7]; Int_t iCnt[7];
- TRandom *rnd = new TRandom();
for(Int_t i=0;i<7;i++){
pLst[i]=(TClonesArray*)(*pDigLst)[i];
iCnt[i]=0; if(pLst[i]->GetEntries()!=0) AliErrorClass("Some of digits lists is not empty"); //in principle those lists should be empty
for (Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++)
for (Int_t iPc=AliHMPIDParam::kMinPc;iPc<=AliHMPIDParam::kMaxPc;iPc++)
for(Int_t iPx=AliHMPIDParam::kMinPx;iPx<=AliHMPIDParam::kMaxPx;iPx++)
- for(Int_t iPy=AliHMPIDParam::kMinPy;iPy<=AliHMPIDParam::kMaxPy;iPy++) arrNoise[iCh][iPc][iPx][iPy] = rnd->Gaus(0,1);
+ for(Int_t iPy=AliHMPIDParam::kMinPy;iPy<=AliHMPIDParam::kMaxPy;iPy++) arrNoise[iCh][iPc][iPx][iPy] = gRandom->Gaus(0,1.1);
}
pSdiLst->Sort();
// add noise pad above threshold with no signal merged...if any
if(!fgDoNoise) return;
aTids[0]=aTids[1]=aTids[2]=-1;
- for (Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++)
+ for (Int_t iChCurr=AliHMPIDParam::kMinCh;iChCurr<=AliHMPIDParam::kMaxCh;iChCurr++)
for (Int_t iPc=AliHMPIDParam::kMinPc;iPc<=AliHMPIDParam::kMaxPc;iPc++)
for(Int_t iPx=AliHMPIDParam::kMinPx;iPx<=AliHMPIDParam::kMaxPx;iPx++)
for(Int_t iPy=AliHMPIDParam::kMinPy;iPy<=AliHMPIDParam::kMaxPy;iPy++) {
- Float_t q = arrNoise[iCh][iPc][iPx][iPy];
- if(AliHMPIDParam::IsOverTh(q)) new((*pLst[iCh])[iCnt[iCh]++]) AliHMPIDDigit(AliHMPIDParam::Abs(iCh,iPc,iPx,iPy),(Int_t)q,aTids);
+ Float_t qNoise = arrNoise[iChCurr][iPc][iPx][iPy];
+ if(AliHMPIDParam::IsOverTh(qNoise)) new((*pLst[iChCurr])[iCnt[iChCurr]++]) AliHMPIDDigit(AliHMPIDParam::Abs(iChCurr,iPc,iPx,iPy),(Int_t)qNoise,aTids);
}
}//Sdi2Dig()