// //
///////////////////////////////////////////////////////////////////////////////
-#include <Riostream.h>
+//#include <Riostream.h>
-#include <TFile.h>
+//#include <TFile.h>
#include <TGeometry.h>
-#include <TMath.h>
+//#include <TMath.h>
#include <TNode.h>
-#include <TParticle.h>
-#include <TRandom.h>
+//#include <TParticle.h>
+//#include <TRandom.h>
#include <TTUBE.h>
-#include <TVirtualMC.h>
+//#include <TVirtualMC.h>
#include "AliLog.h"
#include "AliMC.h"
#include "AliRun.h"
#include "TClonesArray.h"
#include "AliT0.h"
-#include "AliT0Loader.h"
+//#include "AliT0Loader.h"
#include "AliT0digit.h"
#include "AliT0hit.h"
#include "AliT0Digitizer.h"
#include "AliT0RawData.h"
#include "AliT0RecPoint.h"
-#include "AliT0Parameters.h"
+//#include "AliT0Parameters.h"
#include "AliLog.h"
ClassImp(AliT0)
//_____________________________________________________________________________
AliT0::~AliT0() {
+ //destructor
if (fHits) {
fHits->Delete();
delete fHits;
//_____________________________________________________________________________
void AliT0::ResetHits()
{
+ //
+ //reset hits
+ //
AliDetector::ResetHits();
}
#include <AliDetector.h>
#include <TTree.h>
-#include <TClonesArray.h>
#include "AliT0RecPoint.h"
#include "AliT0digit.h"
#include "AliT0Trigger.h"
class TDirectory;
class TFile;
class AliESD;
+
+
R__EXTERN TDirectory * gDirectory;
virtual void Raw2Digits() {}
protected:
- Int_t fIdSens; // Sensetive Cherenkov photocathode
- AliT0digit *fDigits;
- AliT0RecPoint *fRecPoints;
+ Int_t fIdSens; // Sensetive Cherenkov photocathode
+ AliT0digit *fDigits; // pointer to T0digits
+ AliT0RecPoint *fRecPoints; // pointer to T0 RecPoints
private:
AliT0(const AliT0&);
///////////////////////////////////////////////////////////////////////////////
// //
-// class for T0 calibration TM-AC-AM_6-02-2006 //
+// class for T0 calibration TM--AM_6-02-2006 //
// //
///////////////////////////////////////////////////////////////////////////////
#include "AliT0CalibData.h"
#include "AliT0LookUpValue.h"
+#include "AliT0LookUpKey.h"
#include "AliLog.h"
#include <Riostream.h>
-#include <string>
+//#include <string>
ClassImp(AliT0CalibData)
//________________________________________________________________
void AliT0CalibData::PrintLookup(Option_t*, Int_t iTRM, Int_t iTDC, Int_t iChannel) const
{
-
+ // print lookup table
+
AliT0LookUpKey* lookkey= new AliT0LookUpKey();
AliT0LookUpValue* lookvalue= new AliT0LookUpValue();
+ printf("Number Of TRMs in setup %i\n",GetNumberOfTRMs());
- cout<<" Number Of TRMs in setup "<<GetNumberOfTRMs()<<endl;
iTRM=0; iTDC=0; Int_t chain=0; iChannel=0;
for (Int_t ik=0; ik<105; ik++){
printf(" AliT0CalibData::PrintLookup ::start GetValue %i %i %i %i\n",iTRM, iTDC,chain, iChannel);
lookkey = (AliT0LookUpKey*) fLookup.GetValue((TObject*)lookvalue);
- cout<<" lookkey "<< lookkey<<endl;
// TString name= lookkey->GetChannelName();
// cout<<name.Data()<<endl;
if (lookkey)
{
TString name= lookkey->GetChannelName();
- cout<<" lookup KEY!!! "<<name.Data()<<" "<<lookkey->GetKey()<<" VALUE "<<lookvalue->GetTRM()<<" "
+ /* cout<<" lookup KEY!!! "<<name.Data()<<" "<<lookkey->GetKey()<<" VALUE "<<lookvalue->GetTRM()<<" "
<<lookvalue->GetTDC()<<" "
<< lookvalue->GetChain()<<" "
- <<lookvalue->GetChannel()<<endl;
+ <<lookvalue->GetChannel()<<endl;*/
}
}
void AliT0CalibData::ReadAsciiLookup(const Char_t *filename)
{
+ // read lookup table from ascii file
+
Int_t key, trm, tdc, chain, channel;
if(filename == 0){
if(lookup)
{
lookup>>ntrms;
- cout<<" !!!!!!! ntrms "<<ntrms<<endl;
// fNumberOfTRMs=ntrms;
SetNumberOfTRMs(ntrms);
while(!lookup.eof())
lookvalue->SetChannel(channel);
lookkey->SetKey(key);
lookkey->SetChannelName(varname);
- cout<<"lookup "<<varname<<" "<<key<<" "<<trm<<" "<<chain<<" "<<tdc<<" "<<channel<<endl;
fLookup.Add((TObject*)lookvalue,(TObject*)lookkey);
Int_t AliT0CalibData::GetChannel(Int_t trm, Int_t tdc, Int_t chain, Int_t channel)
{
+ // read number of channel according physical addres
+
AliT0LookUpKey * lookkey;//= new AliT0LookUpKey();
AliT0LookUpValue * lookvalue= new AliT0LookUpValue(trm,tdc,chain,channel);
////////////////////////////////////////////////
#include "TNamed.h"
-#include "TF1.h"
-#include "AliT0CalibData.h"
#include "TMap.h"
-#include "TGraph.h"
-#include "TString.h"
-#include "TObjArray.h"
-#include "AliT0.h"
-#include "AliT0LookUpValue.h"
class AliT0CalibData: public TNamed {
#include "TBranch.h"
#include "AliT0RawReader.h"
#include "TGLabel.h"
-#include <iostream.h>
+//#include <iostream.h>
#include "AliT0CalibLaserData.h"
#include "AliCDBManager.h"
#include "AliRawReader.h"
-#include "AliRawReaderDate.h"
+#include "AliRawReaderRoot.h"
#include "AliT0LookUpValue.h"
+#include "AliT0LookUpKey.h"
#include "AliT0Parameters.h"
#include "AliT0RawReader.h"
if(lookkey){
Int_t key=lookkey->GetKey();
names[key]=lookkey->GetChannelName();
- // cout<<lookkey->GetKey()<<" "<<lookkey->GetChannelName()<<" trm "<<lookvalue->GetTRM()<<" tdc "<<lookvalue->GetTDC()<<" chain "<<lookvalue->GetChain()<<" channel "<<lookvalue->GetChannel()<<endl;
hChannel[key] = new TH1F(names[key].Data(),names[key].Data(),30000,0,30000);
// hitsname="xHits" + names[key];
// hNumHits[key] = new TH1F(hitsname.Data(),hitsname.Data(),50,-0.25,24.25);
Char_t filename[13];
sprintf(filename,"t0%i.raw",fRunNumber);
- AliRawReader *reader = new AliRawReaderDate(filename);
+ AliRawReader *reader = new AliRawReaderRoot(filename);
+ // // AliRawReader *reader = new AliRawReaderFile();
// AliRawReader *reader = new AliRawReaderFile();
- reader->LoadEquipmentIdsMap("T0map.txt");
+ reader->LoadEquipmentIdsMap("T0map.txt");
// reader->RequireHeader(kFALSE);
reader->RequireHeader(kTRUE);
AliT0RawReader *start = new AliT0RawReader(reader);
**************************************************************************/
/* $Id$ */
-
-#include <Riostream.h>
+/***********************************************************************
+ * this class doing calibration during reconstruction
+ * 2 steps:
+ * - equalizing channels
+ * - applying walk corrections
+ *
+ * Alla.Maevskaya@cern.ch
+ *
+ **********************************************************************/
+
+//#include <Riostream.h>
#include "AliLog.h"
#include "AliT0Parameters.h"
#include "AliT0Calibrator.h"
-#include <TArrayI.h>
+//#include <TArrayI.h>
#include <TGraph.h>
#include <TH1F.h>
fChannelWidth(0),
fWalk(0)
{
+ //constructor
+
AliT0Parameters* param = AliT0Parameters::Instance();
param->Init();
* See cxx source for full Copyright notice */
/* $Id$ */
+/* $Id$ */
+////////////////////////////////////////////////
+// class for T0 calibration during reconstruction //
+////////////////////////////////////////////////
+
-#include "AliT0CalibData.h"
#include "TNamed.h"
class AliT0Calibrator: public TNamed
public:
AliT0Calibrator();
- AliT0Calibrator( const AliT0Calibrator& );
- AliT0Calibrator& operator=(const AliT0Calibrator&);
+ AliT0Calibrator( const AliT0Calibrator&r );
+ AliT0Calibrator& operator=(const AliT0Calibrator&r);
virtual ~AliT0Calibrator() {};
// Int_t EquivalizeChannel(Int_t ipmt) ;
protected:
- Int_t fTimeDelayCFD[24];
- Float_t fChannelWidth ;
- TObjArray fWalk;
+ Int_t fTimeDelayCFD[24]; //CFD[i]-CFD[0]
+ Float_t fChannelWidth ; //channel width
+ TObjArray fWalk; //walk correction function
ClassDef(AliT0Calibrator, 1) // class for the T0 reconstruction
/* $Id$ */
+/******************************************************************
+ * Produde digits from hits
+ * digits is TObject and includes
+ * We are writing array if C & A TDC
+ * C & A ADC (will need for slow simulation)
+ * TOF first particle C & A
+ * mean time and time difference (vertex position)
+ *
+ * Alla.Maevskaya@cern.ch
+ ****************************************************************/
+
+
#include <TArrayI.h>
-#include <TDirectory.h>
-#include <TError.h>
#include <TFile.h>
#include <TGraph.h>
#include <TH1F.h>
#include "AliT0hit.h"
#include "AliT0digit.h"
#include "AliRunDigitizer.h"
-#include <AliDetector.h>
#include "AliRun.h"
#include <AliLoader.h>
#include <AliRunLoader.h>
#include <stdlib.h>
-#include <Riostream.h>
-#include <Riostream.h>
#include "AliT0Parameters.h"
-#include "AliCDBLocal.h"
-#include "AliCDBStorage.h"
-#include "AliCDBManager.h"
-#include "AliCDBEntry.h"
ClassImp(AliT0Digitizer)
#define ALIT0DIGITIZER_H
/* Copyright(c) 1998-2000, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
+/******************************************************************
+ * Produde digits from hits
+ * Alla.Maevskaya@cern.ch
+ ********************************************************************/
#include <AliDigitizer.h>
-#include <AliLoader.h>
-#include <AliRunLoader.h>
#include "AliT0Parameters.h"
#include <AliRunDigitizer.h>
virtual ~AliT0Digitizer();
virtual Bool_t Init();
TClonesArray *Hits() const {return fHits;}
- TArrayI *timeCFD() {return ftimeCFD;}
- TArrayI *timeLED() {return ftimeLED;}
+ TArrayI *TimeCFD() {return ftimeCFD;}
+ TArrayI *TimeLED() {return ftimeLED;}
TArrayI * ADC() {return fADC;}
- TArrayI * ADC0() {return fADC0;}
+ TArrayI * ADC0() {return fADC0;}
// Do the main work
void Exec (Option_t* /*option=0*/) ;
private:
- AliT0 *fT0; //!
- TClonesArray *fHits ; //! List of hits
- AliT0digit *fdigits ; //! digits
- TArrayI *ftimeCFD ; //! array of CFD signal
- TArrayI *ftimeLED ; //! array of (LED-GFD) time (amplitude)
- TArrayI *fADC ;//! array of QTC signals (main amplitude)
- TArrayI *fADC0 ;//! array of QTC signals (main amplitude)
- Int_t fSumMult; // multiplicity
- TObjArray fAmpLED; //pmt registration effeicincy
-
- AliT0Parameters *fParam; //pointer to T0 parameters class
+ AliT0 *fT0; //!
+ TClonesArray *fHits; //! List of hits
+ AliT0digit *fdigits; //! digits
+ TArrayI *ftimeCFD; //! array of CFD signal
+ TArrayI *ftimeLED; //! array of (LED-GFD) time (amplitude)
+ TArrayI *fADC; //! array of QTC signals (main amplitude)
+ TArrayI *fADC0; //! array of QTC signals (main amplitude)
+ Int_t fSumMult; // multiplicity
+ TObjArray fAmpLED; //pmt registration effeicincy
+
+ AliT0Parameters *fParam; //pointer to T0 parameters class
AliT0Digitizer(const AliT0Digitizer&);
--- /dev/null
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * *
+ * Author: The ALICE Off-line Project. *
+ * Contributors are mentioned in the code where appropriate. *
+ * *
+ * Permission to use, copy, modify and distribute this software and its *
+ * documentation strictly for non-commercial purposes is hereby granted *
+ * without fee, provided that the above copyright notice appears in all *
+ * copies and that both the copyright notice and this permission notice *
+ * appear in the supporting documentation. The authors make no claims *
+ * about the suitability of this software for any purpose. It is *
+ * provided "as is" without express or implied warranty. *
+ **************************************************************************/
+/*************************************************************************
+ * class for logical adress of chanells:
+ * can be call by nubmer or by name
+ *
+ * Alla.Maevskaya@cern.ch
+ ************************************************************************/
+
+#include "AliT0LookUpKey.h"
+
+ClassImp(AliT0LookUpKey)
+
+ AliT0LookUpKey::AliT0LookUpKey():
+ TObject(),
+ fKey(0),
+ fName("")
+ {
+
+ }
+
+//--------------------------------------------------------------------------------------
+ AliT0LookUpKey::AliT0LookUpKey(Int_t key):
+ TObject(),
+ fKey(key),
+ fName("")
+ {
+
+ }
+
+//--------------------------------------------------------------------------------------
+ AliT0LookUpKey::AliT0LookUpKey(TString name):
+ TObject(),
+ fKey(),
+ fName(name)
+ {
+
+ }
+//________________________________________________________________
+AliT0LookUpKey::AliT0LookUpKey(const AliT0LookUpKey& o) :
+ TObject(),
+ fKey(),
+ fName("")
+
+{
+// copy constructor
+ ((AliT0LookUpKey&) o).Copy(*this);
+}
+//--------------------------------------------------------------------------------------
+
+Bool_t AliT0LookUpKey:: IsEqual(const TObject* obj) const
+{
+ Int_t k;
+// printf("IsEqual\n");
+ k=((AliT0LookUpKey*)obj)->GetKey();
+ if (k==fKey) return kTRUE; else return kFALSE;
+}
+//--------------------------------------------------------------------------------------
+void AliT0LookUpKey::Print(Option_t *) const
+{
+ printf(" AliT0LookUpKey key %i name %s\n",fKey,fName.Data());
+
+}
--- /dev/null
+#ifndef ALIT0LOOKUPKEY_H
+#define ALIT0LOOKUPKEY_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+#include "TObject.h"
+#include "TString.h"
+
+class AliT0LookUpKey: public TObject
+{
+ public:
+ AliT0LookUpKey();
+ AliT0LookUpKey(Int_t key);
+ AliT0LookUpKey(TString name);
+ AliT0LookUpKey& operator= (const AliT0LookUpKey &) { return *this;};
+ AliT0LookUpKey(const AliT0LookUpKey &o);
+ virtual ~AliT0LookUpKey() {};
+ Int_t GetKey() const {return fKey;};
+ void SetKey(Int_t n) {fKey=n;};
+ TString GetChannelName() {return fName;};
+ void SetChannelName(TString name) {fName = name;};
+ virtual Bool_t IsEqual(const TObject *obj) const;
+ void Print(Option_t* opt= "") const;
+ virtual ULong_t Hash() const {return 10000*fKey;}
+ // virtual ULong_t Hash(void) const {return TString::Hash(this, sizeof(*this));};
+ // virtual void Clear(void) {fKey=0;}
+ protected:
+ Int_t fKey; //logical channel number
+ TString fName; //logical channel name
+
+ ClassDef(AliT0LookUpKey,1) //Hits for detector T0
+};
+
+
+#endif
* provided "as is" without express or implied warranty. *
**************************************************************************/
#include "AliT0LookUpValue.h"
-#include "iostream.h"
+//#include "iostream.h"
ClassImp(AliT0LookUpValue)
printf("AliT0LookUpValue TRM %i, TDC %i, chain %i channel %i\n",fTRM,fTDC,fChain,fChannel);
}
//--------------------------------------------------------------------------------------
-
-ClassImp(AliT0LookUpKey)
-
- AliT0LookUpKey::AliT0LookUpKey():
- TObject(),
- fKey(0),
- fName("")
- {
-
- }
-
-//--------------------------------------------------------------------------------------
- AliT0LookUpKey::AliT0LookUpKey(Int_t key):
- TObject(),
- fKey(key),
- fName("")
- {
-
- }
-
-//--------------------------------------------------------------------------------------
- AliT0LookUpKey::AliT0LookUpKey(TString name):
- TObject(),
- fKey(),
- fName(name)
- {
-
- }
-//--------------------------------------------------------------------------------------
-
-Bool_t AliT0LookUpKey:: IsEqual(const TObject* obj) const
-{
- Int_t k;
-// printf("IsEqual\n");
- k=((AliT0LookUpKey*)obj)->GetKey();
- if (k==fKey) return kTRUE; else return kFALSE;
-}
-//--------------------------------------------------------------------------------------
-void AliT0LookUpKey::Print(Option_t *) const
-{
- printf(" AliT0LookUpKey key %i name %s\n",fKey,fName.Data());
-
-}
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
#include "TObject.h"
-#include "TMap.h"
class AliT0LookUpValue: public TObject
{
AliT0LookUpValue();
AliT0LookUpValue(Int_t trm, Int_t tdc, Int_t chain, Int_t channel );
+ AliT0LookUpValue(const AliT0LookUpValue &o): TObject(),
+ fTRM(-1),
+ fTDC(-1),
+ fChain(-1),
+ fChannel(-1)
+ { ((AliT0LookUpValue&) o).Copy(*this);}
+ AliT0LookUpValue& operator= (const AliT0LookUpValue & ) { return *this;};
+ virtual ~AliT0LookUpValue() {};
+
virtual Bool_t IsEqual(const TObject* obj) const ;
virtual ULong_t Hash() const {return (ULong_t) 1000000*fTRM+100000*fTDC+1000*fChannel;}
// virtual ULong_t Hash(void) const {return TString::Hash(this, sizeof(*this));};
ClassDef(AliT0LookUpValue,1) //Hits for detector T0
};
-class AliT0LookUpKey: public TObject
-{
- public:
- AliT0LookUpKey();
- AliT0LookUpKey(Int_t key);
- AliT0LookUpKey(TString name);
- Int_t GetKey() const {return fKey;};
- void SetKey(Int_t n) {fKey=n;};
- TString GetChannelName() {return fName;};
- void SetChannelName(TString name) {fName = name;};
- virtual Bool_t IsEqual(const TObject *obj) const;
- void Print(Option_t* opt= "") const;
- virtual ULong_t Hash() const {return 10000*fKey;}
- // virtual ULong_t Hash(void) const {return TString::Hash(this, sizeof(*this));};
- // virtual void Clear(void) {fKey=0;}
- protected:
- Int_t fKey; //logical channel number
- TString fName; //logical channel name
-
- ClassDef(AliT0LookUpKey,1) //Hits for detector T0
-};
-
#endif
#include "AliT0CalibWalk.h"
#include "AliT0CalibTimeEq.h"
#include "AliT0LookUpValue.h"
+#include "AliT0LookUpKey.h"
#include <AliCDBManager.h>
#include <AliCDBEntry.h>
-#include <AliCDBStorage.h>
#include <TMath.h>
-#include <TSystem.h>
-#include <Riostream.h>
#include <TGeoManager.h>
-#include <TGeoMatrix.h>
#include <TGeoPhysicalNode.h>
#include <AliGeomManager.h>
// for switching to this one should write
// AliT0RawReader myrawreader(rawReader);
// myrawreader.SetOnlineMode(kTRUE);
-cout<<" AliT0Parameters::InitIfOnline() "<<endl;
- if (fIsInit) return;
+
+ if (fIsInit) return;
//standart configuration (used for simulation)
//Int_t trm=0; Int_t tdc=0; Int_t chain=0; Int_t channel=0;
// configuration for test Jun07.
TGraph *AliT0Parameters::GetAmpLEDRec(Int_t ipmt) const
{
+ // get walk correction by LED-CFD vs CFD graph
if (!fSlewCorr) {
AliError("No slewing correction is available!");
return (TGraph*)fAmpLEDRec.At(ipmt);
TGraph *AliT0Parameters::GetWalk(Int_t ipmt) const
{
+ // get walk correction by QTC vs CFD
if (!fSlewCorr) {
AliError("No walk correction is available!");
return (TGraph*)fWalk.At(ipmt);
Float_t AliT0Parameters::GetWalkVal(Int_t ipmt, Float_t mv) const
{
- if (!fSlewCorr) {
+ // get walk correction by QTC vs CFD
+ if (!fSlewCorr) {
return ((TGraph*)fWalk.At(ipmt))->Eval(mv);
}
return fgSlewCorr -> GetWalkVal(ipmt, mv) ;
void
AliT0Parameters::SetPMTeff(Int_t ipmt)
{
+ // PMT quantum efficiency
Float_t lambda[50];
Float_t eff[50 ] = {0, 0, 0.23619, 0.202909, 0.177913,
0.175667, 0.17856, 0.190769, 0.206667, 0.230286,
Int_t
AliT0Parameters::GetChannel(Int_t trm, Int_t tdc, Int_t chain, Int_t channel)
{
+ // get logical number of channel according physical address
if (fgLookUp) {
AliT0LookUpValue key(trm,tdc,chain,channel);
//__________________________________________________________________
TMap *AliT0Parameters::GetMapLookup()
{
+ // get LookUp Table
+
if (!fgLookUp){
cout<<" No look up table in OCDB";
return 0;
void SetPMTeff(Int_t ipmt);
void SetTimeDelayTVD(Float_t r=150) { fTimeDelayTVD = r; };
- Float_t GetTimeDelayTVD() { return fTimeDelayTVD; }
+ const Float_t GetTimeDelayTVD() { return fTimeDelayTVD; }
// Get `Fixed' various parameters
// //
///////////////////////////////////////////////////////////////////////////////
-#include <Riostream.h>
-#include <TTree.h>
+//#include <Riostream.h>
+//#include <TTree.h>
#include <TMap.h>
#include "AliT0.h"
#include "AliT0RawData.h"
#include "AliRunLoader.h"
#include "AliDAQ.h"
#include "AliT0LookUpValue.h"
+#include "AliT0LookUpKey.h"
ClassImp(AliT0RawData)
void AliT0RawData::WriteTrailer(UInt_t slot, Int_t word1, UInt_t word2, UInt_t word3)
{
+//Write a (dummy or real) DDL Chain data trailer
UInt_t word;
UInt_t baseWord=0;
//---------------------------------------------------------------------------------------
void AliT0RawData::FillTime(Int_t ch, Int_t iTDC, Int_t time)
{
+ // put all time fields thother in 1 word
+
UInt_t word;
UInt_t baseWord=0;
protected:
- Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
- UInt_t fBuffer[512]; // buffer for writing rawdata
- Int_t fIndex; //number of 32 words to be stored into the output file
- Int_t fEventNumber; // current event number
- TArrayI * fTimeCFD; //TDC on the each PMT
- TArrayI * fADC1; //QTC (ADC) on the each PMT
- TArrayI * fTimeLED; // TDC with amplified signal
- TArrayI * fADC0; //QTC amplified
- AliFstream* fFile; //logical name of the I/O file
- UInt_t fDataHeaderPos;//Data header position
- UInt_t fDRMDataHeaderPos;//Data DRM header position
- UInt_t fTRMDataHeaderPos;//Data TRM header position
- AliT0digit *fDigits; //! The T0 digits manager
+ Int_t fVerbose; //Verbose level (0:no msg, 1:msg, 2:digits in txt files)
+ UInt_t fBuffer[512]; // buffer for writing rawdata
+ Int_t fIndex; //number of 32 words to be stored into the output file
+ Int_t fEventNumber; // current event number
+ TArrayI * fTimeCFD; //TDC on the each PMT
+ TArrayI * fADC1; //QTC (ADC) on the each PMT
+ TArrayI * fTimeLED; // TDC with amplified signal
+ TArrayI * fADC0; //QTC amplified
+ AliFstream* fFile; //logical name of the I/O file
+ UInt_t fDataHeaderPos; //Data header position
+ UInt_t fDRMDataHeaderPos; //Data DRM header position
+ UInt_t fTRMDataHeaderPos; //Data TRM header position
+ AliT0digit *fDigits; //! The T0 digits manager
AliT0Parameters *fParam; // pointer to T0parameters
- TMap fLookUp;
+ TMap fLookUp; // LookUp Table
ClassDef(AliT0RawData,2) // T0 raw data class
//
// T0
// Class for reading T0 RAW data in TOF data format
+// Alla.Maevskaya@cern.ch
//
+//____________________________________________________________________
+
#include "AliT0RawReader.h"
#include "AliT0Parameters.h"
#include "AliBitPacking.h"
#include "TBits.h"
-#include <Riostream.h>
-#include "TMath.h"
-#include "TH1F.h"
-#include "TArrayI.h"
+//#include <Riostream.h>
#include "AliLog.h"
ClassImp(AliT0RawReader)
{
//
}
-/*
-AliT0RawReader::AliT0RawReader(const AliT0RawReader& o): TTask(o),
- fRawReader(rawReader),
- fData(NULL),
- fPosition(0)
-{
- //
-}
-*/
Bool_t AliT0RawReader::Next()
Int_t numberOfWordsInTRM=0, iTRM=0;
Int_t tdcTime, koef,hit=0;
Int_t koefhits[110];
- Int_t trm_chain_header = 0x00000000;
- Int_t trm_chain_trailer = 0x10000000;
+ Int_t trmChainHeader = 0x00000000;
+ Int_t trmChainTrailer = 0x10000000;
Int_t filler = 0x70000000;
Bool_t correct=kTRUE;
} while (fRawReader->GetDataSize() == 0);
fPosition = 0;
- cout.setf( ios_base::hex, ios_base::basefield );
+ // cout.setf( ios_base::hex, ios_base::basefield );
//DRM header
for (Int_t i=0; i<6; i++) {
break;
}
}
- // cout<<" fNTRM "<<fNTRM<<endl;
- for (Int_t ntrm=0; ntrm< fNTRM; ntrm++)
+ for (Int_t ntrm=0; ntrm< fNTRM; ntrm++)
{
//TRMheader
word = GetNextWord();
//chain header
word = GetNextWord();
// cout<<" chain header "<<word<<endl;
- uu = word & trm_chain_header;
- if(uu != trm_chain_header)
+ uu = word & trmChainHeader;
+ if(uu != trmChainHeader)
{
AliWarning(Form(" !!!! wrong CHAIN 0 header %x!!!!", word));
fRawReader->AddMajorErrorLog(kWrongChain0Header,Form("w=%x",word));
word = GetNextWord();
// cout<<" next "<<word<<endl;
tdcTime = AliBitPacking::UnpackWord(word,31,31);
- // for (; tdcTime==1; tdcTime)
while(tdcTime==1)
{
// cout<<" packed "<<word<<endl;
}
// cout<<" chain trailer "<<word<<endl;
- uu = word&trm_chain_trailer;
- if(uu != trm_chain_trailer )
+ uu = word&trmChainTrailer;
+ if(uu != trmChainTrailer )
{
AliWarning(Form(" !!!! wrong CHAIN 0 trailer %x !!!!", word));
fRawReader->AddMajorErrorLog(kWrongChain0Trailer,Form("w=%x",word));
AliWarning(Form(" !!!! wrong DRM GLOBAL trailer %x!!!!", word));
fRawReader->AddFatalErrorLog(kWrongDRMTrailer,Form("w=%x",word));
}
- cout.setf( ios_base::dec, ios_base::basefield );
-
+ // cout.setf( ios_base::dec, ios_base::basefield );
+
return kTRUE;
}
//_____________________________________________________________________________
* See cxx source for full Copyright notice */
/* $Id$ */
+/***********************************************************************
+class for T0 Digits object
+***********************************************************************/
#include <TObject.h>
class TClonesArray;
class TArrayI;
SRCS= AliT0.cxx AliT0digit.cxx AliT0Trigger.cxx \
AliT0CalibData.cxx AliT0CalibTimeEq.cxx AliT0CalibWalk.cxx \
- AliT0Parameters.cxx AliT0LookUpValue.cxx \
+ AliT0Parameters.cxx AliT0LookUpValue.cxx AliT0LookUpKey.cxx \
AliT0Align.cxx AliT0QAChecker.cxx
HDRS= $(SRCS:.cxx=.h)