X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PMD%2FAliPMDDigitizer.cxx;h=39171b4418e70f09cc51bfd0e672d470d0bdfece;hb=ed5512107390ee1d6b033403dcd839093b8069d0;hp=0e2a9fd839d56037e6eaeedae07046f640c14b79;hpb=4d59e38196237e41c803dd16eb161d6b04d56f28;p=u%2Fmrichter%2FAliRoot.git diff --git a/PMD/AliPMDDigitizer.cxx b/PMD/AliPMDDigitizer.cxx index 0e2a9fd839d..39171b4418e 100644 --- a/PMD/AliPMDDigitizer.cxx +++ b/PMD/AliPMDDigitizer.cxx @@ -84,12 +84,14 @@ AliPMDDigitizer::AliPMDDigitizer() : { for (Int_t k = 0; k < fgkCol; k++) { - fCPV[i][j][k] = 0.; - fPRE[i][j][k] = 0.; - fCPVCounter[i][j][k] = 0; - fPRECounter[i][j][k] = 0; - fCPVTrackNo[i][j][k] = -1; - fPRETrackNo[i][j][k] = -1; + fCPV[i][j][k] = 0.; + fPRE[i][j][k] = 0.; + fCPVCounter[i][j][k] = 0; + fPRECounter[i][j][k] = 0; + fCPVTrackNo[i][j][k] = -1; + fPRETrackNo[i][j][k] = -1; + fCPVTrackPid[i][j][k] = -1; + fPRETrackPid[i][j][k] = -1; } } } @@ -152,12 +154,14 @@ AliPMDDigitizer::AliPMDDigitizer(AliRunDigitizer* manager): { for (Int_t k = 0; k < fgkCol; k++) { - fCPV[i][j][k] = 0.; - fPRE[i][j][k] = 0.; - fCPVCounter[i][j][k] = 0; - fPRECounter[i][j][k] = 0; - fCPVTrackNo[i][j][k] = -1; - fPRETrackNo[i][j][k] = -1; + fCPV[i][j][k] = 0.; + fPRE[i][j][k] = 0.; + fCPVCounter[i][j][k] = 0; + fPRECounter[i][j][k] = 0; + fCPVTrackNo[i][j][k] = -1; + fPRETrackNo[i][j][k] = -1; + fCPVTrackPid[i][j][k] = -1; + fPRETrackPid[i][j][k] = -1; } } } @@ -257,16 +261,16 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) const Int_t kPi0 = 111; const Int_t kGamma = 22; - Int_t npmd; - Int_t trackno; - Int_t smnumber; - Int_t trackpid; - Int_t mtrackno; - Int_t mtrackpid; - - Float_t xPos, yPos, zPos; + Int_t npmd = 0; + Int_t trackno = 0; + Int_t smnumber = 0; + Int_t trackpid = 0; + Int_t mtrackno = 0; + Int_t mtrackpid = 0; + + Float_t xPos = 0., yPos = 0., zPos = 0.; Int_t xpad = -1, ypad = -1; - Float_t edep; + Float_t edep = 0.; Float_t vx = -999.0, vy = -999.0, vz = -999.0; @@ -276,6 +280,9 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) AliDebug(1,Form("Event Number = %d",ievt)); Int_t nparticles = fRunLoader->GetHeader()->GetNtrack(); AliDebug(1,Form("Number of Particles = %d",nparticles)); + + // + fRunLoader->GetEvent(ievt); // ------------------------------------------------------- // // Pointer to specific detector hits. @@ -301,7 +308,7 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) for (Int_t track=0; trackResetHits(); + gAlice->GetMCApp()->ResetHits(); treeH->GetEvent(track); if (fPMD) { @@ -325,7 +332,8 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) statusOld = -1; } Int_t igstatus = 0; - //------------------modified by Mriganka ---------------------- + + Int_t trnotemp = trackno; // Modified on 25th Nov 2009 if(ks==1||(imo = mparticle->GetFirstMother())<0 ){ vx = mparticle->Vx(); vy = mparticle->Vy(); @@ -346,9 +354,19 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) vy = mparticle->Vy(); vz = mparticle->Vz(); - trackno=imo; - + // Modified on 25th Nov 2009 + + trnotemp = trackno; + if(trackpid == 111) + { + trackno = trnotemp; + } + if(trackpid != 111) + { + trackno=imo; } + // end of modification on 25th Nov 2009 + } if(trackpid==kGamma||trackpid==11||trackpid==-11|| trackpid==kPi0)igstatus=1; @@ -358,15 +376,17 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) trackno=tracknoOld; //-----------------end of modification---------------- + Float_t ptime = fPMDHit->GetTime()*1e6; // time in microsec + if (ptime < 0. || ptime > 1.2) continue; + xPos = fPMDHit->X(); yPos = fPMDHit->Y(); zPos = fPMDHit->Z(); - + edep = fPMDHit->GetEnergy(); Int_t vol1 = fPMDHit->GetVolume(1); // Column Int_t vol2 = fPMDHit->GetVolume(2); // Row - Int_t vol7 = fPMDHit->GetVolume(7); // UnitModule - Int_t vol8 = fPMDHit->GetVolume(8); // SuperModule + Int_t vol7 = fPMDHit->GetVolume(4); // Serial Module No // -----------------------------------------// @@ -377,9 +397,15 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) // nrow = 96, ncol = 48 // // -----------------------------------------// - - - smnumber = (vol8-1)*6 + vol7; + if (vol7 < 24) + { + smnumber = vol7; + } + else + { + smnumber = vol7 - 24; + } + Int_t vol8 = smnumber/6 + 1; // fake supermodule if (vol8 == 1 || vol8 == 2) { @@ -393,18 +419,19 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) } AliDebug(2,Form("Zposition = %f Edeposition = %f",zPos,edep)); - //Float_t zposition = TMath::Abs(zPos); - if (zPos < fZPos) + + if (vol7 < 24) { - // CPV - fDetNo = 1; + // PRE + fDetNo = 0; } - else if (zPos > fZPos) + else { - // PMD - fDetNo = 0; + // CPV + fDetNo = 1; } - Int_t smn = smnumber - 1; + + Int_t smn = smnumber; Int_t ixx = xpad - 1; Int_t iyy = ypad - 1; if (fDetNo == 0) @@ -432,6 +459,7 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) Float_t deltaE = 0.; Int_t detno = 0; Int_t trno = -1; + Int_t trpid = -99; for (Int_t idet = 0; idet < 2; idet++) { @@ -455,7 +483,10 @@ void AliPMDDigitizer::Hits2SDigits(Int_t ievt) } if (deltaE > 0.) { - AddSDigit(trno,detno,ism,jrow,kcol,deltaE); + // Natasha + TParticle *mparticle = gAlice->GetMCApp()->Particle(trno); + trpid = mparticle->GetPdgCode(); + AddSDigit(trno,trpid,detno,ism,jrow,kcol,deltaE); } } } @@ -475,16 +506,16 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) // const Int_t kPi0 = 111; const Int_t kGamma = 22; - Int_t npmd; - Int_t trackno; - Int_t smnumber; - Int_t trackpid; - Int_t mtrackno; - Int_t mtrackpid; - - Float_t xPos, yPos, zPos; + Int_t npmd = 0; + Int_t trackno = 0; + Int_t smnumber = 0; + Int_t trackpid = 0; + Int_t mtrackno = 0; + Int_t mtrackpid = 0; + + Float_t xPos = 0., yPos = 0., zPos = 0.; Int_t xpad = -1, ypad = -1; - Float_t edep; + Float_t edep = 0.; Float_t vx = -999.0, vy = -999.0, vz = -999.0; if (!fDigits) fDigits = new TClonesArray("AliPMDdigit", 1000); @@ -493,6 +524,7 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) AliDebug(1,Form("Event Number = %d",ievt)); Int_t nparticles = fRunLoader->GetHeader()->GetNtrack(); AliDebug(1,Form("Number of Particles = %d", nparticles)); + fRunLoader->GetEvent(ievt); // ------------------------------------------------------- // // Pointer to specific detector hits. @@ -525,7 +557,7 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) for (Int_t track=0; trackResetHits(); + gAlice->GetMCApp()->ResetHits(); treeH->GetEvent(track); if (fPMD) @@ -551,7 +583,8 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) } Int_t igstatus = 0; - //-----------------------modified by Mriganka ------------------ + + Int_t trnotemp = trackno; // modified on 25th Nov 2009 if(ks==1||(imo = mparticle->GetFirstMother())<0 ){ vx = mparticle->Vx(); vy = mparticle->Vy(); @@ -572,9 +605,18 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) vy = mparticle->Vy(); vz = mparticle->Vz(); - trackno=imo; - + // Modified on 25th Nov 2009 + + trnotemp = trackno; + if(trackpid == 111) + { + trackno = trnotemp; } + if(trackpid != 111) + { + trackno=imo; + } + } if(trackpid==kGamma||trackpid==11||trackpid==-11||trackpid==kPi0) igstatus=1; @@ -582,17 +624,17 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) mtrackno=trackno; trackpid=trackpidOld; trackno=tracknoOld; + + Float_t ptime = fPMDHit->GetTime()*1e6; + if (ptime < 0. || ptime > 1.2) continue; - //-----------------end of modification---------------- xPos = fPMDHit->X(); yPos = fPMDHit->Y(); zPos = fPMDHit->Z(); edep = fPMDHit->GetEnergy(); Int_t vol1 = fPMDHit->GetVolume(1); // Column Int_t vol2 = fPMDHit->GetVolume(2); // Row - Int_t vol7 = fPMDHit->GetVolume(7); // UnitModule - Int_t vol8 = fPMDHit->GetVolume(8); // SuperModule - + Int_t vol7 = fPMDHit->GetVolume(4); // Serial Module No // -----------------------------------------// // In new geometry after adding electronics // @@ -602,7 +644,15 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) // nrow = 96, ncol = 48 // // -----------------------------------------// - smnumber = (vol8-1)*6 + vol7; + if (vol7 < 24) + { + smnumber = vol7; + } + else + { + smnumber = vol7 - 24; + } + Int_t vol8 = smnumber/6 + 1; // fake supermodule if (vol8 == 1 || vol8 == 2) { @@ -615,21 +665,19 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) ypad = vol2; } - AliDebug(2,Form("ZPosition = %f Edeposition = %d",zPos,edep)); - //Float_t zposition = TMath::Abs(zPos); + AliDebug(2,Form("ZPosition = %f Edeposition = %f",zPos,edep)); - if (zPos < fZPos) + if (vol7 < 24) { - // CPV - fDetNo = 1; + // PRE + fDetNo = 0; } - else if (zPos > fZPos) + else { - // PMD - fDetNo = 0; + fDetNo = 1; } - Int_t smn = smnumber - 1; + Int_t smn = smnumber; Int_t ixx = xpad - 1; Int_t iyy = ypad - 1; if (fDetNo == 0) @@ -655,11 +703,13 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) TrackAssignment2Cell(); ResetCell(); - Float_t gain1; - Float_t adc; + Float_t gain1 = 1.; + Float_t adc = 0. ; Float_t deltaE = 0.; - Int_t detno = 0; - Int_t trno = 1; + Int_t detno = 0; + Int_t trno = 1; + Int_t trpid = -99; + for (Int_t idet = 0; idet < 2; idet++) { for (Int_t ism = 0; ism < fgkTotUM; ism++) @@ -672,13 +722,13 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) { deltaE = fPRE[ism][jrow][kcol]; trno = fPRETrackNo[ism][jrow][kcol]; - detno = 0; + detno = 0; } else if (idet == 1) { deltaE = fCPV[ism][jrow][kcol]; trno = fCPVTrackNo[ism][jrow][kcol]; - detno = 1; + detno = 1; } if (deltaE > 0.) { @@ -700,15 +750,18 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) // Pedestal Decalibration Int_t pedmeanrms = fCalibPed->GetPedMeanRms(idet,ism,jrow,kcol); - Int_t pedrms1 = (Int_t) pedmeanrms%1000; + Int_t pedrms1 = (Int_t) pedmeanrms%100; Float_t pedrms = (Float_t)pedrms1/10.; Float_t pedmean = (Float_t) (pedmeanrms - pedrms1)/1000.0; - //printf("%f %f\n",pedmean, pedrms); if (adc > 0.) { adc += (pedmean + 3.0*pedrms); - AddDigit(trno,detno,ism,jrow,kcol,adc); + TParticle *mparticle + = gAlice->GetMCApp()->Particle(trno); + trpid = mparticle->GetPdgCode(); + + AddDigit(trno,trpid,detno,ism,jrow,kcol,adc); } } } // column loop @@ -720,7 +773,7 @@ void AliPMDDigitizer::Hits2Digits(Int_t ievt) fPMDLoader->WriteDigits("OVERWRITE"); ResetCellADC(); - + } //____________________________________________________________________________ @@ -754,9 +807,9 @@ void AliPMDDigitizer::SDigits2Digits(Int_t ievt) if (!fDigits) fDigits = new TClonesArray("AliPMDdigit", 1000); treeD->Branch("PMDDigit", &fDigits, bufsize); - Int_t trno, det, smn; - Int_t irow, icol; - Float_t edep, adc; + Int_t trno = 1, trpid = 0, det = 0, smn = 0; + Int_t irow = 0, icol = 0; + Float_t edep = 0., adc = 0.; Int_t nmodules = (Int_t) treeS->GetEntries(); AliDebug(1,Form("Number of modules = %d",nmodules)); @@ -770,6 +823,7 @@ void AliPMDDigitizer::SDigits2Digits(Int_t ievt) { pmdsdigit = (AliPMDsdigit*)fSDigits->UncheckedAt(ient); trno = pmdsdigit->GetTrackNumber(); + trpid = pmdsdigit->GetTrackPid(); det = pmdsdigit->GetDetector(); smn = pmdsdigit->GetSMNumber(); irow = pmdsdigit->GetRow(); @@ -778,14 +832,13 @@ void AliPMDDigitizer::SDigits2Digits(Int_t ievt) MeV2ADC(edep,adc); - // To decalibrte the adc values // Float_t gain1 = Gain(det,smn,irow,icol); if (gain1 != 0.) { - Int_t adcDecalib = (Int_t)(adc/gain1); - adc = (Float_t) adcDecalib; + Int_t adcDecalib = (Int_t)(adc/gain1); + adc = (Float_t) adcDecalib; } else if(gain1 == 0.) { @@ -793,14 +846,13 @@ void AliPMDDigitizer::SDigits2Digits(Int_t ievt) } // Pedestal Decalibration Int_t pedmeanrms = fCalibPed->GetPedMeanRms(det,smn,irow,icol); - Int_t pedrms1 = (Int_t) pedmeanrms%1000; + Int_t pedrms1 = (Int_t) pedmeanrms%100; Float_t pedrms = (Float_t)pedrms1/10.; Float_t pedmean = (Float_t) (pedmeanrms - pedrms1)/1000.0; - //printf("%f %f\n",pedmean, pedrms); if(adc > 0.) { adc += (pedmean + 3.0*pedrms); - AddDigit(trno,det,smn,irow,icol,adc); + AddDigit(trno,trpid,det,smn,irow,icol,adc); } } @@ -848,10 +900,11 @@ void AliPMDDigitizer::Exec(Option_t *option) if (!fDigits) fDigits = new TClonesArray("AliPMDdigit", 1000); treeD->Branch("PMDDigit", &fDigits, bufsize); - Float_t adc; + Float_t adc = 0.; Float_t deltaE = 0.; - Int_t detno = 0; - Int_t trno = 1; + Int_t detno = 0; + Int_t trno = 1; + Int_t trpid = -99; for (Int_t idet = 0; idet < 2; idet++) { @@ -865,13 +918,15 @@ void AliPMDDigitizer::Exec(Option_t *option) { deltaE = fPRE[ism][jrow][kcol]; trno = fPRETrackNo[ism][jrow][kcol]; - detno = 0; + trpid = fPRETrackPid[ism][jrow][kcol]; + detno = 0; } else if (idet == 1) { deltaE = fCPV[ism][jrow][kcol]; trno = fCPVTrackNo[ism][jrow][kcol]; - detno = 1; + trpid = fCPVTrackPid[ism][jrow][kcol]; + detno = 1; } if (deltaE > 0.) { @@ -894,15 +949,14 @@ void AliPMDDigitizer::Exec(Option_t *option) // Pedestal Decalibration Int_t pedmeanrms = fCalibPed->GetPedMeanRms(idet,ism,jrow,kcol); - Int_t pedrms1 = (Int_t) pedmeanrms%1000; + Int_t pedrms1 = (Int_t) pedmeanrms%100; Float_t pedrms = (Float_t)pedrms1/10.; Float_t pedmean = (Float_t) (pedmeanrms - pedrms1)/1000.0; - //printf("%f %f\n",pedmean, pedrms); if (adc > 0.) { adc += (pedmean + 3.0*pedrms); - AddDigit(trno,detno,ism,jrow,kcol,adc); + AddDigit(trno,trpid,detno,ism,jrow,kcol,adc); } } @@ -925,7 +979,7 @@ void AliPMDDigitizer::TrackAssignment2CPVCell() // This method added by Ajay Bool_t jsort = false; - Int_t i, j, k; + Int_t i = 0, j = 0, k = 0; Int_t *status1; Int_t *status2; @@ -978,8 +1032,8 @@ void AliPMDDigitizer::TrackAssignment2CPVCell() Int_t nentries = fCPVCell.GetEntries(); - Int_t mtrackno, ism, ixp, iyp; - Float_t edep; + Int_t mtrackno = 0, ism = 0, ixp = 0, iyp = 0; + Float_t edep = 0.; for (i = 0; i < nentries; i++) { AliPMDcell* cpvcell = (AliPMDcell*)fCPVCell.UncheckedAt(i); @@ -995,9 +1049,9 @@ void AliPMDDigitizer::TrackAssignment2CPVCell() fCPVCounter[ism][ixp][iyp]++; } - Int_t iz, il; - Int_t im, ix, iy; - Int_t nn; + Int_t iz = 0, il = 0; + Int_t im = 0, ix = 0, iy = 0; + Int_t nn = 0; for (im=0; imSetAddress(&fSDigits); - Int_t itrackno, idet, ism; - Int_t ixp, iyp; - Float_t edep; + Int_t itrackno = 1, itrackpid = 0, idet = 0, ism = 0; + Int_t ixp = 0, iyp = 0; + Float_t edep = 0.; Int_t nmodules = (Int_t) treeS->GetEntries(); AliDebug(1,Form("Number of Modules in the treeS = %d",nmodules)); AliDebug(1,Form("Track Offset = %d",troffset)); @@ -1145,6 +1199,7 @@ void AliPMDDigitizer::MergeSDigits(Int_t filenumber, Int_t troffset) { pmdsdigit = (AliPMDsdigit*)fSDigits->UncheckedAt(ient); itrackno = pmdsdigit->GetTrackNumber(); + itrackpid = pmdsdigit->GetTrackPid(); idet = pmdsdigit->GetDetector(); ism = pmdsdigit->GetSMNumber(); ixp = pmdsdigit->GetRow(); @@ -1155,6 +1210,7 @@ void AliPMDDigitizer::MergeSDigits(Int_t filenumber, Int_t troffset) if (fPRE[ism][ixp][iyp] < edep) { fPRETrackNo[ism][ixp][iyp] = troffset + itrackno; + fPRETrackPid[ism][ixp][iyp] = itrackpid; } fPRE[ism][ixp][iyp] += edep; } @@ -1163,6 +1219,7 @@ void AliPMDDigitizer::MergeSDigits(Int_t filenumber, Int_t troffset) if (fCPV[ism][ixp][iyp] < edep) { fCPVTrackNo[ism][ixp][iyp] = troffset + itrackno; + fCPVTrackPid[ism][ixp][iyp] = itrackpid; } fCPV[ism][ixp][iyp] += edep; } @@ -1180,7 +1237,7 @@ void AliPMDDigitizer::TrackAssignment2Cell() // Bool_t jsort = false; - Int_t i, j, k; + Int_t i = 0, j = 0, k = 0; Int_t *status1; Int_t *status2; @@ -1252,9 +1309,9 @@ void AliPMDDigitizer::TrackAssignment2Cell() fPRECounter[ism][ixp][iyp]++; } - Int_t iz, il; - Int_t im, ix, iy; - Int_t nn; + Int_t iz = 0, il = 0; + Int_t im = 0, ix = 0, iy = 0; + Int_t nn = 0; for (im=0; imGaus(kConstant,kErConstant); - Float_t slop = gRandom->Gaus(kSlope,kErSlope); + // MPV data used for the fit and taken here + + // constants are from Test Beam 2010 - Float_t adc12bit = slop*mev*0.001 + cons; + const Float_t kConstant = 0.612796; + const Float_t kSlope = 130.158; - if(adc12bit < 1600.0) + Float_t adc12bit = kSlope*mev*0.001 + kConstant; + if (adc12bit < 0.) adc12bit = 0.; + + //Introducing Readout Resolution for ALICE-PMD + + Float_t sigrr = 0.605016 - 0.000273*adc12bit + 6.54e-8*adc12bit*adc12bit; + Float_t adcwithrr = gRandom->Gaus(adc12bit,sigrr); + + if(adcwithrr < 0.) + { + adc = 0.; + } + else if(adcwithrr >= 0. && adcwithrr < 1600.0) { - adc = (Float_t) adc12bit; + adc = adcwithrr; } - else if (adc12bit >= 1600.0) + else if (adcwithrr >= 1600.0) { adc = 1600.0; } + } //____________________________________________________________________________ -void AliPMDDigitizer::AddSDigit(Int_t trnumber, Int_t det, Int_t smnumber, - Int_t irow, Int_t icol, Float_t adc) +void AliPMDDigitizer::AddSDigit(Int_t trnumber, Int_t trpid, Int_t det, + Int_t smnumber, Int_t irow, Int_t icol, + Float_t adc) { // Add SDigit // if (!fSDigits) fSDigits = new TClonesArray("AliPMDsdigit", 1000); TClonesArray &lsdigits = *fSDigits; - new(lsdigits[fNsdigit++]) AliPMDsdigit(trnumber,det,smnumber,irow,icol,adc); + new(lsdigits[fNsdigit++]) AliPMDsdigit(trnumber,trpid,det,smnumber,irow,icol,adc); } //____________________________________________________________________________ -void AliPMDDigitizer::AddDigit(Int_t trnumber, Int_t det, Int_t smnumber, - Int_t irow, Int_t icol, Float_t adc) +void AliPMDDigitizer::AddDigit(Int_t trnumber, Int_t trpid, Int_t det, + Int_t smnumber, Int_t irow, Int_t icol, + Float_t adc) { // Add Digit // if (!fDigits) fDigits = new TClonesArray("AliPMDdigit", 1000); TClonesArray &ldigits = *fDigits; - new(ldigits[fNdigit++]) AliPMDdigit(trnumber,det,smnumber,irow,icol,adc); + new(ldigits[fNdigit++]) AliPMDdigit(trnumber,trpid, det,smnumber,irow,icol,adc); } //____________________________________________________________________________ @@ -1478,10 +1546,12 @@ void AliPMDDigitizer::ResetCellADC() { for (Int_t k = 0; k < fgkCol; k++) { - fCPV[i][j][k] = 0.; - fPRE[i][j][k] = 0.; - fCPVTrackNo[i][j][k] = 0; - fPRETrackNo[i][j][k] = 0; + fCPV[i][j][k] = 0.; + fPRE[i][j][k] = 0.; + fCPVTrackNo[i][j][k] = 0; + fPRETrackNo[i][j][k] = 0; + fCPVTrackPid[i][j][k] = -1; + fPRETrackPid[i][j][k] = -1; } } }