Float_t pos[3] = {0.,0.,0.};
Int_t jj = 0;
+ Int_t interestingPadX[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingPadX[jj] = -1;
+ Int_t interestingPadZ[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingPadZ[jj] = -1;
Double_t interestingTOT[kMaxNumberOfInterestingPads];
for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingTOT[jj] = 0;
Double_t interestingADC[kMaxNumberOfInterestingPads];
Float_t interestingZ[kMaxNumberOfInterestingPads];
for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingZ[jj] = 0;
+ Float_t interDigit[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interDigit[jj] = 0;
+
Int_t padsCluster[11];
padsCluster[0] = nSector;
padsCluster[1] = nPlate;
Float_t pos[3] = {0.,0.,0.};
Int_t jj = 0;
+ Int_t interestingPadX[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingPadX[jj] = -1;
+ Int_t interestingPadZ[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingPadZ[jj] = -1;
Double_t interestingTOT[kMaxNumberOfInterestingPads];
for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingTOT[jj] = 0;
Double_t interestingADC[kMaxNumberOfInterestingPads];
Float_t interestingZ[kMaxNumberOfInterestingPads];
for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingZ[jj] = 0;
+ Float_t interDigit[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interDigit[jj] = 0;
+
Int_t padsCluster[11];
padsCluster[0] = nSector;
padsCluster[1] = nPlate;
Float_t pos[3] = {0.,0.,0.};
Int_t jj = 0;
+ Int_t interestingPadX[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingPadX[jj] = -1;
+ Int_t interestingPadZ[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingPadZ[jj] = -1;
Double_t interestingTOT[kMaxNumberOfInterestingPads];
for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingTOT[jj] = 0;
Double_t interestingADC[kMaxNumberOfInterestingPads];
Float_t interestingZ[kMaxNumberOfInterestingPads];
for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingZ[jj] = 0;
+ Float_t interDigit[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interDigit[jj] = 0;
+
Int_t padsCluster[11];
padsCluster[0] = nSector;
padsCluster[1] = nPlate;
Float_t pos[3] = {0.,0.,0.};
Int_t jj = 0;
+ Int_t interestingPadX[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingPadX[jj] = -1;
+ Int_t interestingPadZ[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingPadZ[jj] = -1;
Double_t interestingTOT[kMaxNumberOfInterestingPads];
for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingTOT[jj] = 0;
Double_t interestingADC[kMaxNumberOfInterestingPads];
Float_t interestingZ[kMaxNumberOfInterestingPads];
for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interestingZ[jj] = 0;
+ Float_t interDigit[kMaxNumberOfInterestingPads];
+ for (jj=0; jj<kMaxNumberOfInterestingPads; jj++) interDigit[jj] = 0;
+
Int_t padsCluster[11];
padsCluster[0] = nSector;
padsCluster[1] = nPlate;
return;
}
+ Int_t psArray[1000];
UInt_t localBuffer[1000];
Int_t localIndex = -1;
localIndex++; fWordsPerTRM++;
localBuffer[localIndex]=baseWord;
- //psArray[localIndex]=dummyPS;
+ psArray[localIndex]=dummyPS;
baseWord=0;
localIndex++; fWordsPerTRM++;
localBuffer[localIndex]=baseWord;
- //psArray[localIndex]=dummyPS;
+ psArray[localIndex]=dummyPS;
baseWord=0;
localIndex++; fWordsPerTRM++;
localBuffer[localIndex]=baseWord;
- //psArray[localIndex]=dummyPS;
+ psArray[localIndex]=dummyPS;
baseWord=0;
localIndex++; fWordsPerTRM++;
localBuffer[localIndex]=baseWord;
- //psArray[localIndex]=2;
+ psArray[localIndex]=2;
baseWord=0;
localIndex++; fWordsPerTRM++;
localBuffer[localIndex]=baseWord;
- //psArray[localIndex]=1;
+ psArray[localIndex]=1;
baseWord=0;
localIndex++; fWordsPerTRM++;
localBuffer[localIndex]=baseWord;
- //psArray[localIndex]=dummyPS;
+ psArray[localIndex]=dummyPS;
baseWord=0;
fIndex++;
buf[fIndex] = localBuffer[jj];
localBuffer[jj] = 0;
- //psArray[jj] = -1;
+ psArray[jj] = -1;
}
}
fIndex++;
buf[fIndex] = localBuffer[jj];
localBuffer[jj] = 0;
- //psArray[jj] = -1;
+ psArray[jj] = -1;
}
//} // else if (maxMeasuresPerChannelInTDC>1)
if (fIsSOC) {
Int_t geoId[5]={-1,-1,-1,-1,-1};// pgeoId=(sm, mod, strip, padZ, padX)
Int_t detId[5]={-1,-1,-1,-1,-1};//detID=(ddl,trm,tdc, chain,channel)
-
+ Int_t trmIndex=-1;
for (Int_t ch = 0; ch < fCalibData->GetSize(); ch++) {
AliTOFGeometry::GetVolumeIndices(ch,geoId);
AliTOFRawStream::Geant2EquipmentId(geoId,detId);
if ((detId[1]<0)||(detId[0]<0)) continue;
+ trmIndex=(detId[1]-3)+detId[0]*10;
if ( (!(fCalibData->GetNoiseStatus(ch)==AliTOFChannelOnlineStatusArray::kTOFNoiseBad))
&& (fCalibData->GetHWStatus(ch) == AliTOFChannelOnlineStatusArray::kTOFHWOk) ){
// res[iPad] - resolution of the pad, ns
// timeWalk[iPad] - time walk of the pad, ns
// timeDelay[iPad] - time delay for neighbouring pad to hited pad, ns
+ // PadId[iPad] - Pad Identifier
+ // E | F --> PadId[iPad] = 5 | 6
+ // A | B --> PadId[iPad] = 1 | 2
+ // C | D --> PadId[iPad] = 3 | 4
// nTail[iPad] - the tail number, = 1 for tailA, = 2 for tailB
// qCenterPad - charge extimated for each pad, arb. units
// weightsSum - sum of weights extimated for each pad fired, arb. units
Float_t logOfqInd = 0.;
Float_t weightsSum = 0.;
Int_t nTail[4] = {0,0,0,0};
+ Int_t padId[4] = {0,0,0,0};
Float_t eff[4] = {0.,0.,0.,0.};
Float_t res[4] = {0.,0.,0.,0.};
// Float_t qCenterPad = fMinimumCharge * fMinimumCharge;
nActivatedPads++;
nPlace[nActivatedPads-1] = (iz - 1) * AliTOFGeometry::NpadX() + ix;
qInduced[nActivatedPads-1] = qCenterPad;
+ padId[nActivatedPads-1] = 1;
if (fEdgeEffect == 0) {
eff[nActivatedPads-1] = fEffCenter;
} else {
timeDelay[nActivatedPads-1] = 0.;
}
+ padId[nActivatedPads-1] = 2;
}
}
} else {
timeDelay[nActivatedPads-1] = 0.;
}
+ padId[nActivatedPads-1] = 3;
// D:
if(z < k && z > 0) {
} else {
timeDelay[nActivatedPads-1] = 0.;
}
+ padId[nActivatedPads-1] = 4;
}
} // end D
} // end C
} else {
timeDelay[nActivatedPads-1] = 0.;
}
+ padId[nActivatedPads-1] = 5;
// F:
} else {
timeDelay[nActivatedPads-1] = 0.;
}
+ padId[nActivatedPads-1] = 6;
}
} // end F
} // end E
Int_t dummy = -1;
Int_t detectorIndex[5] = {-1, -1, -1, -1, -1};
+ Int_t digit[2];
+ //Int_t track = -1;
+ //Int_t last = -1;
Int_t indexDDL = 0;
Int_t iRawData = 0;
detectorIndex[3] = detectorIndex[4];//padz
detectorIndex[4] = dummy;//padx
+ digit[0] = tofRawDatum->GetTOF();
+ digit[1] = tofRawDatum->GetTOT();
+
dummy = detectorIndex[3];
detectorIndex[3] = detectorIndex[4];//padx
detectorIndex[4] = dummy;//padz
{
/* apply correction */
- Int_t ddl, chain, tdc, channel, hptdc, pbCh, feaIndex, sector, padx, trm, icIndex, sectorStrip;
+ Int_t ddl, chain, tdc, channel, hptdc, pbCh, feaIndex, sector, plate, padx, trm, icIndex, sectorStrip;
Double_t slewing;
switch (corr) {
return GetCalibPar(kLeftFEAchDelayPar, pbCh);
case kFEAdelayCorr:
sector = (Int_t)GetCalibMap(kSector, index);
+ plate = (Int_t)GetCalibMap(kPlate, index);
sectorStrip = (Int_t)GetCalibMap(kSectorStrip, index);
padx = (Int_t)GetCalibMap(kPadX, index);
feaIndex = padx / 12 + 4 * sectorStrip + 364 * sector;
Float_t hits[14];
Int_t vol[5];
Int_t sector, plate, padx, padz, strip;
- Int_t copy, i;
+ Int_t copy, padzid, padxid, stripid, i;
Int_t *idtmed = fIdtmed->GetArray()-499;
Float_t incidenceAngle;
// getting information about hit volumes
+ padzid=TVirtualMC::GetMC()->CurrentVolOffID(1,copy);
padz=copy;
padz--;
+ padxid=TVirtualMC::GetMC()->CurrentVolOffID(0,copy);
padx=copy;
padx--;
+ stripid=TVirtualMC::GetMC()->CurrentVolOffID(4,copy);
strip=copy;
strip--;