#include "AliLog.h"
//#include "AliRawDataHeader.h"
#include "AliRawDataHeaderSim.h"
+#include "AliFstream.h"
#include "AliTOFDDLRawData.h"
#include "AliTOFDigitMap.h"
#include "AliTOFdigit.h"
#include "AliTOFGeometry.h"
#include "AliTOFRawStream.h"
-#include "AliFstream.h"
+//#include "AliTOFCableLengthMap.h"
extern TRandom *gRandom;
AliTOFDDLRawData::AliTOFDDLRawData():
fVerbose(0),
fIndex(-1),
- fPackedAcquisition(kTRUE),
+ fPackedAcquisition(kFALSE),
fFakeOrphaneProduction(kFALSE),
fMatchingWindow(8192),
fTOFdigitMap(new AliTOFDigitMap()),
fTOFdigitArray(0x0),
- fTOFrawStream(new AliTOFRawStream())
+ fTOFrawStream(new AliTOFRawStream()),
+ fTOFCableLengthMap(new AliTOFCableLengthMap())
{
//Default constructor
}
TObject(source),
fVerbose(0),
fIndex(-1),
- fPackedAcquisition(kTRUE),
+ fPackedAcquisition(kFALSE),
fFakeOrphaneProduction(kFALSE),
fMatchingWindow(8192),
fTOFdigitMap(new AliTOFDigitMap()),
fTOFdigitArray(0x0),
- fTOFrawStream(new AliTOFRawStream())
+ fTOFrawStream(new AliTOFRawStream()),
+ fTOFCableLengthMap(new AliTOFCableLengthMap())
{
//Copy Constructor
this->fIndex=source.fIndex;
this->fTOFdigitMap=source.fTOFdigitMap;
this->fTOFdigitArray=source.fTOFdigitArray;
this->fTOFrawStream=source.fTOFrawStream;
+ this->fTOFCableLengthMap=source.fTOFCableLengthMap;
return;
}
this->fTOFdigitMap=source.fTOFdigitMap;
this->fTOFdigitArray=source.fTOFdigitArray;
this->fTOFrawStream=source.fTOFrawStream;
+ this->fTOFCableLengthMap=source.fTOFCableLengthMap;
return *this;
}
{
delete fTOFdigitMap;
delete fTOFrawStream;
+ delete fTOFCableLengthMap;
}
//----------------------------------------------------------------------------
Int_t AliTOFDDLRawData::RawDataTOF(TBranch* branch)
GetDigits();
+ //if (!fPackedAcquisition) fMatchingWindow = 2097152;//AdC
+
Int_t jj = -1;
Int_t iDDL = -1;
Int_t nDDL = -1;
fIndex++;
buf[fIndex]=baseWord;
+ // DRM status header 4
+ baseWord=0;
+ word = 1; // 0001 -> DRM data are coming from the VME slot number 1
+ AliBitPacking::PackWord(word,baseWord, 0, 3);
+ word = 0; // temperature
+ AliBitPacking::PackWord(word,baseWord, 4,13);
+ word = 0; // zero
+ AliBitPacking::PackWord(word,baseWord, 14,14);
+ word = 0; // ACK
+ AliBitPacking::PackWord(word,baseWord, 15,15);
+ word = 0; // Sens AD
+ AliBitPacking::PackWord(word,baseWord, 16,18);
+ word = 0; // zero
+ AliBitPacking::PackWord(word,baseWord, 19,19);
+ word = 0; // reserved for future use
+ AliBitPacking::PackWord(word,baseWord, 20,27);
+ word = 4; // 0100 -> DRM header ID
+ AliBitPacking::PackWord(word,baseWord,28,31);
+ fIndex++;
+ buf[fIndex]=baseWord;
+
// DRM status header 3
baseWord=0;
word = 1; // 0001 -> DRM data are coming from the VME slot number 1
AliBitPacking::PackWord(word,baseWord, 0, 3);
- word = 0; // TTC event counter
- AliBitPacking::PackWord(word,baseWord, 4,27);
+ word = 0; // L0 BCID
+ AliBitPacking::PackWord(word,baseWord, 4,15);
+ word = 0; // Run Time info
+ AliBitPacking::PackWord(word,baseWord, 16,27);
word = 4; // 0100 -> DRM header ID
AliBitPacking::PackWord(word,baseWord,28,31);
fIndex++;
word = 0; //
AliBitPacking::PackWord(word,baseWord,15,15);
word = 0; // fault ID
- AliBitPacking::PackWord(word,baseWord,16,27);
+ AliBitPacking::PackWord(word,baseWord,16,26);
+ word = 0; // RTO
+ AliBitPacking::PackWord(word,baseWord,27,27);
word = 4; // 0100 -> DRM header ID
AliBitPacking::PackWord(word,baseWord,28,31);
fIndex++;
word = 1; // LHC clock status: 1/0
AliBitPacking::PackWord(word,baseWord,15,15);
+ word = 0; // Vers ID
+ AliBitPacking::PackWord(word,baseWord,16,20);
+ word = 0; // DRMH size
+ AliBitPacking::PackWord(word,baseWord,21,24);
word = 0; // reserved for future use
- AliBitPacking::PackWord(word,baseWord,16,27);
+ AliBitPacking::PackWord(word,baseWord,25,27);
word = 4; // 0100 -> DRM header ID
AliBitPacking::PackWord(word,baseWord,28,31);
fIndex++;
digs->GetPadx() !=volume[3] ||
digs->GetPadz() !=volume[4]) AliWarning(" --- ERROR --- ");
- timeOfFlight = (Int_t)(digs->GetTdc());
+ timeOfFlight = (Int_t)(digs->GetTdc())
+ /*+
+ fTOFCableLengthMap->GetCableTimeShiftBin(nDDL, nTRM, iChain, nTDC)*/;
- if (timeOfFlight>=fMatchingWindow) continue;
+ //if (timeOfFlight>=fMatchingWindow+1000) continue; // adc
+ if (timeOfFlight>=fMatchingWindow) continue; // adc
//numberOfMeasuresPerChannel++;
if (fPackedAcquisition) {
- for (Int_t jj=0; jj<=localIndex; jj++) {
+ for (jj=0; jj<=localIndex; jj++) {
fIndex++;
buf[fIndex] = localBuffer[jj];
localBuffer[jj] = 0;
AliInfo(Form(" In the TOF DDL %2i, TRM %2i, TDC %2i, chain %1i, the maximum number of t.o.f. good measurements per channel is %2i",
nDDL, nTRM, iChain, nTDC, iCH, maxMeasuresPerChannelInTDC));
*/
- for (Int_t jj=0; jj<=localIndex; jj++) {
+ for (jj=0; jj<=localIndex; jj++) {
fIndex++;
buf[fIndex] = localBuffer[jj];
localBuffer[jj] = 0;