//
//
- calib->CreateSimCalArrays();
- calib->ReadSimParOnlineFromCDB("TOF/Calib", -1); // use AliCDBManager's number
- calib->ReadSimParOfflineFromCDB("TOF/Calib", -1); // use AliCDBManager's number
+ calib->CreateCalArrays();
+ calib->ReadSimHistoFromCDB("TOF/Calib", -1); // use AliCDBManager's number
+ calib->ReadParOfflineFromCDB("TOF/Calib", -1); // use AliCDBManager's number
}
//---------------------------------------------------------------------
void AliTOFDigitizer::DecalibrateTOFSignal( AliTOFcalib *calib){
// Read Calibration parameters from the CDB
- TObjArray * calOnline= calib->GetTOFSimCalArrayOnline();
- TObjArray * calOffline= calib->GetTOFSimCalArrayOffline();
+ TObjArray * calOffline= calib->GetTOFCalArrayOffline();
- AliDebug(2,Form("Size of array for Online Calibration = %i",calOnline->GetEntries()));
AliDebug(2,Form("Size of array for Offline Calibration = %i",calOffline->GetEntries()));
// Initialize Quantities to Simulate ToT Spectra
//decalibrated TOF Digits likely to be simulated....
Int_t index = AliTOFGeometry::GetIndex(detId); // The channel index
- AliTOFChannelOnline *calChannelOnline = (AliTOFChannelOnline *)calOnline->At(index); //retrieve the info for time delay
AliTOFChannelOffline *calChannelOffline = (AliTOFChannelOffline *)calOffline->At(index); //retrieve the info for time slewing
- Double_t timedelay = (Double_t)calChannelOnline->GetDelay(); //The global channel delay, ns
Double_t par[6]; // time slewing parameters
//check whether we actually ask for miscalibration
- if(timedelay!=0)misCalibPars=kTRUE;
for (Int_t j = 0; j<6; j++){
par[j]=(Double_t)calChannelOffline->GetSlewPar(j);
if(par[j]!=0)misCalibPars=kTRUE;
}
- AliDebug(2,Form(" Calib Pars = %f, %f, %f, %f, %f, %f ",par[0],par[1],par[2],par[3],par[4],par[5]));
+ AliDebug(2,Form(" Calib Pars = %f (0-th parameter for time slewing + time delay), %f, %f, %f, %f, %f ",par[0],par[1],par[2],par[3],par[4],par[5]));
+
// Now generate Realistic ToT distribution from TestBeam Data.
// Tot is in ns, assuming a Matching Window of 10 ns.
AliDebug(2,Form(" Time before miscalibration (ps) %e: ",dig->GetTdc()*(Double_t)AliTOFGeometry::TdcBinWidth()));
// add slewing effect
timeCorr=par[0] + tToT*(par[1] +tToT*(par[2] +tToT*(par[3] +tToT*(par[4] +tToT*par[5]))));
- AliDebug(2,Form(" The Time slewing (ns): %f: ",timeCorr));
- AliDebug(2,Form(" The Time delay (ns): %f: ",timedelay));
+ AliDebug(2,Form(" The Time slewing + delay (ns): %f: ",timeCorr));
// add global time shift
- timeCorr = timeCorr + timedelay;
- AliDebug(2,Form(" The Time Slewing + delay (ns): %f: ",timeCorr));
//convert to ps
timeCorr*=1E3;
Double_t timeMis = (Double_t)(dig->GetTdc())*(Double_t)AliTOFGeometry::TdcBinWidth();
/*
$Log$
-Revision 1.17 2007/10/18 09:12:22 zampolli
-New naming of online calibration directory
-
Revision 1.16 2007/10/08 10:13:26 zampolli
First Run and Last Run members added, infinite validity of calib obj implemented.
fNChannels(-1),
fTOFCalOnline(0x0),
fTOFCalOffline(0x0),
- fTOFSimCalOnline(0x0),
- fTOFSimCalOffline(0x0),
fTOFSimToT(0x0),
fkValidity(0x0),
fTree(0x0),
fNChannels(calib.fNChannels),
fTOFCalOnline(0x0),
fTOFCalOffline(0x0),
- fTOFSimCalOnline(0x0),
- fTOFSimCalOffline(0x0),
fTOFSimToT(calib.fTOFSimToT),
fkValidity(calib.fkValidity),
fTree(calib.fTree),
fTOFCalOnline->AddAt(calChOnline,iarray);
fTOFCalOffline->AddAt(calChOffline,iarray);
- AliTOFChannelOnline * simCalChOnline = (AliTOFChannelOnline*)calib.fTOFSimCalOnline->At(iarray);
- AliTOFChannelOffline * simCalChOffline = (AliTOFChannelOffline*)calib.fTOFSimCalOffline->At(iarray);
- fTOFSimCalOnline->AddAt(simCalChOnline,iarray);
- fTOFSimCalOffline->AddAt(simCalChOffline,iarray);
}
}
AliTOFChannelOffline * calChOffline = (AliTOFChannelOffline*)calib.fTOFCalOffline->At(iarray);
this->fTOFCalOnline->AddAt(calChOnline,iarray);
this->fTOFCalOffline->AddAt(calChOffline,iarray);
- AliTOFChannelOnline * simCalChOnline = (AliTOFChannelOnline*)calib.fTOFSimCalOnline->At(iarray);
- AliTOFChannelOffline * simCalChOffline = (AliTOFChannelOffline*)calib.fTOFSimCalOffline->At(iarray);
- this->fTOFSimCalOnline->AddAt(simCalChOnline,iarray);
- this->fTOFSimCalOffline->AddAt(simCalChOffline,iarray);
}
return *this;
}
//fTOFCalOffline->Clear();
delete fTOFCalOffline;
}
- if (fTOFSimCalOnline){
- //fTOFSimCalOnline->Clear();
- delete fTOFSimCalOnline;
- }
- if (fTOFSimCalOffline){
- //fTOFSimCalOffline->Clear();
- delete fTOFSimCalOffline;
- }
}
if (fTree!=0x0) delete fTree;
}
}
}
//_____________________________________________________________________________
-void AliTOFcalib::CreateSimCalArrays(){
-
- // creating arrays for simulation online/offline calibration objs
-
- fTOFSimCalOnline = new TObjArray(fNChannels);
- fTOFSimCalOffline = new TObjArray(fNChannels);
- fTOFSimCalOnline->SetOwner();
- fTOFSimCalOffline->SetOwner();
- for (Int_t iarray = 0; iarray<fNChannels; iarray++){
- AliTOFChannelOnline * simCalChOnline = new AliTOFChannelOnline();
- AliTOFChannelOffline * simCalChOffline = new AliTOFChannelOffline();
- fTOFSimCalOnline->AddAt(simCalChOnline,iarray);
- fTOFSimCalOffline->AddAt(simCalChOffline,iarray);
- }
-}
-//_____________________________________________________________________________
void AliTOFcalib::WriteParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun)
{
//Write calibration parameters to the CDB
}
//_____________________________________________________________________________
-void AliTOFcalib::WriteSimParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, TObjArray *calOnline){
- //Write Sim miscalibration parameters to the CDB
-
- fTOFSimCalOnline=calOnline;
- AliCDBManager *man = AliCDBManager::Instance();
- AliCDBMetaData *md = new AliCDBMetaData();
- md->SetResponsible("Chiara Zampolli");
- Char_t *sel1 = "SimParOnline" ;
- Char_t out[100];
- sprintf(out,"%s/%s",sel,sel1);
- AliCDBId id1(out,minrun,maxrun);
- man->Put(fTOFSimCalOnline,id1,md);
- delete md;
-}
-//_____________________________________________________________________________
-void AliTOFcalib::WriteSimParOfflineOnCDB(Char_t *sel, const Char_t *validity, Int_t minrun, Int_t maxrun, TObjArray *calOffline, TH1F *histo){
+void AliTOFcalib::WriteSimHistoOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, TH1F *histo){
//Write Sim miscalibration parameters to the CDB
fTOFSimToT=histo;
- fTOFSimCalOffline=calOffline;
AliCDBManager *man = AliCDBManager::Instance();
- AliCDBMetaData *md = new AliCDBMetaData();
- md->SetResponsible("Chiara Zampolli");
- md->SetComment(validity);
- Char_t *sel1 = "SimParOffline" ;
+ Char_t *sel1 = "SimHisto" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- AliCDBId id1(out,minrun,maxrun);
- man->Put(fTOFSimCalOffline,id1,md);
- Char_t *sel2 = "SimHisto" ;
- sprintf(out,"%s/%s",sel,sel2);
AliCDBMetaData *mdhisto = new AliCDBMetaData();
mdhisto->SetResponsible("Chiara Zampolli");
- AliCDBId id2(out,minrun,maxrun);
- man->Put(fTOFSimToT,id2,mdhisto);
- delete md;
+ AliCDBId id(out,minrun,maxrun);
+ man->Put(fTOFSimToT,id,mdhisto);
delete mdhisto;
}
//_____________________________________________________________________________
-void AliTOFcalib::ReadSimParOnlineFromCDB(Char_t *sel, Int_t nrun)
-{
- //Read miscalibration parameters from the CDB
- AliCDBManager *man = AliCDBManager::Instance();
-
- // The Slewing Pars
-
- Char_t *sel1 = "SimParOnline" ;
- Char_t out[100];
- sprintf(out,"%s/%s",sel,sel1);
- if (!man->Get(out,nrun)) {
- AliFatal("Exiting, no CDB object (SimParOnline) found!!!");
- exit(0);
- }
- AliCDBEntry *entry1 = man->Get(out,nrun);
- if(!entry1->GetObject()){
- AliFatal("Exiting, no CDB object (SimParOnline) found!!!");
- exit(0);
- }
- TObjArray *cal =(TObjArray*)entry1->GetObject();
- fTOFSimCalOnline=cal;
-
-}
-//_____________________________________________________________________________
-void AliTOFcalib::ReadSimParOfflineFromCDB(Char_t *sel, Int_t nrun)
+Bool_t AliTOFcalib::ReadSimHistoFromCDB(Char_t *sel, Int_t nrun)
{
//Read miscalibration parameters from the CDB
AliCDBManager *man = AliCDBManager::Instance();
- // The Slewing Pars
+ // The Tot Histo
- Char_t *sel1 = "SimParOffline" ;
+ Char_t *sel1 = "SimHisto" ;
Char_t out[100];
sprintf(out,"%s/%s",sel,sel1);
- if (!man->Get(out,nrun)) {
- AliFatal("Exiting, no CDB object (SimParOffline) found!!!");
- exit(0);
- }
- AliCDBEntry *entry1 = man->Get(out,nrun);
- if(!entry1->GetObject()){
- AliFatal("Exiting, no CDB object (SimParOffline) found!!!");
- exit(0);
- }
- TObjArray *cal =(TObjArray*)entry1->GetObject();
- AliCDBMetaData *md = (AliCDBMetaData*)entry1->GetMetaData();
- fkValidity = md->GetComment();
- fTOFSimCalOffline=cal;
-
- // The Tot Histo
-
- Char_t *sel2 = "SimHisto" ;
- sprintf(out,"%s/%s",sel,sel2);
if (!man->Get(out,nrun)) {
AliFatal("Exiting, no CDB object (SimHisto) found!!!");
exit(0);
}
- AliCDBEntry *entry2 = man->Get(out,nrun);
- if(!entry2->GetObject()){
+ AliCDBEntry *entry = man->Get(out,nrun);
+ if(!entry->GetObject()){
AliFatal("Exiting, no CDB object (SimHisto) found!!!");
exit(0);
}
- TH1F *histo =(TH1F*)entry2->GetObject();
+ TH1F *histo =(TH1F*)entry->GetObject();
fTOFSimToT=histo;
}
//_____________________________________________________________________________
AliTOFcalib& operator=(const AliTOFcalib & calib); // assignment operator
virtual ~AliTOFcalib() ; // dtor
void CreateCalArrays();
- void CreateSimCalArrays();
TObjArray * GetTOFCalArrayOnline() const {return fTOFCalOnline;}
TObjArray * GetTOFCalArrayOffline() const {return fTOFCalOffline;}
- TObjArray * GetTOFSimCalArrayOnline() const {return fTOFSimCalOnline;}
- TObjArray * GetTOFSimCalArrayOffline() const {return fTOFSimCalOffline;}
TH1F * GetTOFSimToT() const {return fTOFSimToT;}
TTree * GetTOFCalibTree() const {return fTree;}
const char * GetOfflineValidity() const {return fkValidity;}
void SetOfflineValidity(const char* validity) {fkValidity = validity;}
Int_t NChannels()const{return fNChannels;}
// Methods to retrieve/write parameters from/on CDB
- void WriteSimParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, TObjArray *cal);
- void WriteSimParOfflineOnCDB(Char_t *sel, const Char_t * validity, Int_t minrun, Int_t maxrun, TObjArray *cal, TH1F *histo);
- void ReadSimParOnlineFromCDB(Char_t *sel, Int_t nrun);
- void ReadSimParOfflineFromCDB(Char_t *sel, Int_t nrun);
+ void WriteSimHistoOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, TH1F *histo);
void WriteParOnlineOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun);
void WriteParOfflineOnCDB(Char_t *sel, const Char_t *validity, Int_t minrun, Int_t maxrun);
void WriteParOnlineOnCDB(Char_t *sel);
void WriteParOfflineOnCDB(Char_t *sel, const Char_t *validity);
+ Bool_t ReadSimHistoFromCDB(Char_t *sel, Int_t nrun);
Bool_t ReadParOnlineFromCDB(Char_t *sel, Int_t nrun);
Bool_t ReadParOfflineFromCDB(Char_t *sel, Int_t nrun);
void WriteRecParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun, AliTOFRecoParam *param);
Int_t fNChannels; // number of TOF channels
TObjArray *fTOFCalOnline; // array of AliTOFChannels storing calib parameters
TObjArray *fTOFCalOffline; // array of AliTOFChannels storing calib parameters
- TObjArray *fTOFSimCalOnline; // array of AliTOFChannels storing calib parameters
- TObjArray *fTOFSimCalOffline; // array of AliTOFChannels storing calib parameters
TH1F *fTOFSimToT; // histo with realistic ToT signal from TB Data
const char *fkValidity; // validity for offline calibration object
TTree *fTree; // tree for TOF calibration
Int_t fFirstRun; // first run for calibration obj validity
Int_t fLastRun; // last run for calib obj validity
- ClassDef(AliTOFcalib,3);
+ ClassDef(AliTOFcalib,4);
};
#endif // AliTOFcalib_H
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage("local://$ALICE");
AliTOFcalib *tofcalib = new AliTOFcalib();
- tofcalib->CreateSimCalArrays();
- TObjArray *tofCalOnline = (TObjArray*) tofcalib->GetTOFSimCalArrayOnline();
- TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFSimCalArrayOffline();
+ tofcalib->CreateCalArrays();
+ TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFCalArrayOffline();
TH1F *hToT= new TH1F(); //"empty" ToT histo as a default for ideal
- tofcalib->WriteSimParOnlineOnCDB("TOF/Calib",0,AliCDBRunRange::Infinity(),tofCalOnline);
- tofcalib->WriteSimParOfflineOnCDB("TOF/Calib","valid",0,AliCDBRunRange::Infinity(),tofCalOffline,hToT);
+ tofcalib->WriteParOfflineOnCDB("TOF/Calib","valid",0,AliCDBRunRange::Infinity());
+ tofcalib->WriteSimHistoOnCDB("TOF/Calib",0,AliCDBRunRange::Infinity(),hToT);
}
// Create TOF Calibration Object for miscalibrated detector
// and write it on CDB
AliTOFcalib *tofcalib = new AliTOFcalib();
- tofcalib->CreateSimCalArrays();
- TObjArray *tofCalOnline = (TObjArray*) tofcalib->GetTOFSimCalArrayOnline();
- TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFSimCalArrayOffline();
+ tofcalib->CreateCalArrays();
+ TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFCalArrayOffline();
// Input data for decalibration
TFile f("$ALICE_ROOT/TOF/data/spectrum.root","READ");
// Slewing parameters (same for all channels)
Float_t par[6] = {0.,0.,0.,0.,0.,0.};
+ Float_t kpar=0;
for(Int_t i =0;i<6;i++){
par[i]=fit->GetParameter(i);
+ kpar=par[0];
cout << " Slewing parameters=" << par[i] << endl;
}
TRandom *rnd = new TRandom(4357);
Int_t nChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
for (Int_t ipad = 0 ; ipad<nChannels; ipad++){
- AliTOFChannelOnline *calChannelOnline = (AliTOFChannelOnline*)tofCalOnline->At(ipad);
AliTOFChannelOffline *calChannelOffline = (AliTOFChannelOffline*)tofCalOffline->At(ipad);
delay=rnd->Gaus(meanDelay,sigmaDelay);
- calChannelOnline->SetDelay(delay);
+ par[0]=kpar+delay;
calChannelOffline->SetSlewPar(par);
}
- tofcalib->WriteSimParOnlineOnCDB("TOF/Calib",0,AliCDBRunRange::Infinity(),tofCalOnline);
- tofcalib->WriteSimParOfflineOnCDB("TOF/Calib","valid",0,AliCDBRunRange::Infinity(),tofCalOffline,hToT);
+ tofcalib->WriteParOfflineOnCDB("TOF/Calib","valid",0,AliCDBRunRange::Infinity());
+ tofcalib->WriteSimHistoOnCDB("TOF/Calib",0,AliCDBRunRange::Infinity(),hToT);
f.Close();
}
// Create TOF Calibration Object for miscalibrated detector
// and write it on CDB
AliTOFcalib *tofcalib = new AliTOFcalib();
- tofcalib->CreateSimCalArrays();
- TObjArray *tofCalOnline = (TObjArray*) tofcalib->GetTOFSimCalArrayOnline();
- TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFSimCalArrayOffline();
+ tofcalib->CreateCalArrays();
+ TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFCalArrayOffline();
// Input data for decalibration
TFile f("$ALICE_ROOT/TOF/data/spectrumScaled.root","READ");
// Slewing parameters (same for all channels)
Float_t par[6] = {0.,0.,0.,0.,0.,0.};
+ Float_t kpar=0;
for(Int_t i =0;i<6;i++){
par[i]=fit->GetParameter(i);
+ kpar=par[0];
cout << " Slewing parameter " <<i<<" =" << par[i] << endl;
}
TRandom *rnd = new TRandom(4357);
Int_t nChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
for (Int_t ipad = 0 ; ipad<nChannels; ipad++){
- AliTOFChannelOnline *calChannelOnline = (AliTOFChannelOnline*)tofCalOnline->At(ipad);
AliTOFChannelOffline *calChannelOffline = (AliTOFChannelOffline*)tofCalOffline->At(ipad);
delay=rnd->Gaus(meanDelay,sigmaDelay);
- calChannelOnline->SetDelay(delay);
+ par[0]=kpar+delay;
calChannelOffline->SetSlewPar(par);
}
- tofcalib->WriteSimParOnlineOnCDB("TOF/Calib",0,AliCDBRunRange::Infinity(),tofCalOnline);
- tofcalib->WriteSimParOfflineOnCDB("TOF/Calib","valid",0,AliCDBRunRange::Infinity(),tofCalOffline,hToT);
+ tofcalib->WriteParOfflineOnCDB("TOF/Calib","valid",0,AliCDBRunRange::Infinity());
+ tofcalib->WriteSimHistoOnCDB("TOF/Calib",0,AliCDBRunRange::Infinity(),hToT);
f.Close();
}
+++ /dev/null
-void CreateIdealOfflineCalibPars(){
- // Create TOF Dummy Offline Calibration Object for reconstruction
- // and write it on CDB
- AliTOFcalib *tofcalib = new AliTOFcalib();
- tofcalib->CreateCalArrays();
- TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFCalArrayOffline();
- // Write the dummy offline calibration object on CDB
-
- AliCDBManager *man = AliCDBManager::Instance();
- man->SetDefaultStorage("local://$ALICE");
- tofcalib->WriteParOfflineOnCDB("TOF/Calib","ideal");
- return;
-}
+++ /dev/null
-void CreateIdealOnlineCalibPars(){
- // Create TOF Dummy Offline Calibration Object for reconstruction
- // and write it on CDB
- AliTOFcalib *tofcalib = new AliTOFcalib();
- tofcalib->CreateCalArrays();
- TObjArray *tofCalOnline = (TObjArray*) tofcalib->GetTOFCalArrayOnline();
- // Write the dummy offline calibration object on CDB
-
- AliCDBManager *man = AliCDBManager::Instance();
- man->SetDefaultStorage("local://$ALICE");
- Int_t nChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
- for (Int_t ipad = 0 ; ipad<nChannels; ipad++){
- AliTOFChannelOnline *calChannelOnline = (AliTOFChannelOnline*)tofCalOnline->At(ipad);
- Float_t delay = 0.;
- calChannelOnline->SetDelay(delay);
- }
- tofcalib->WriteParOnlineOnCDB("TOF/Calib");
- return;
-}
+++ /dev/null
-void CreateOfflineCalibPars(){
- // Create TOF Offline Calibration Object for reconstruction
- // and write it on CDB
- AliTOFcalib *tofcalib = new AliTOFcalib();
- tofcalib->CreateCalArrays();
- TObjArray *tofCalOffline = (TObjArray*) tofcalib->GetTOFCalArrayOffline();
-
- TFile f("$ALICE_ROOT/TOF/data/spectrumScaled.root","READ");
-
- TH1F *hTimeToTFit= (TH1F*)f.Get("hTimeToTScaled");
- TF1 *fit=hTimeToTFit->GetFunction("pol5");
-
- // Slewing parameters (same for all channels)
-
- Float_t delay=0.;
- Float_t meanDelay=0.3;
- Float_t sigmaDelay=0.08;
- TRandom *rnd = new TRandom(4357);
-
- Float_t par[6] = {0.,0.,0.,0.,0.,0.};
- for(Int_t i =0;i<6;i++){
- par[i]=fit->GetParameter(i);
- cout << " Slewing parameter " <<i<<" =" << par[i] << endl;
- }
-
-
- Int_t nChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
-
- for (Int_t ipad = 0 ; ipad<nChannels; ipad++){
- AliTOFChannelOffline *calChannelOffline = (AliTOFChannelOffline*)tofCalOffline->At(ipad);
- delay = rnd->Gaus(meanDelay,sigmaDelay);
- par[0]+=delay.; // adding time delay
- calChannelOffline->SetSlewPar(par);
- }
- // Write the valid offline calibration object on CDB
-
- AliCDBManager *man = AliCDBManager::Instance();
- man->SetDefaultStorage("local://$ALICE");
- tofcalib->WriteParOfflineOnCDB("TOF/Calib","valid");
- f.Close();
- return;
-
-}
+++ /dev/null
-void CreateOnlineCalibPars(){
- // Create TOF Offline Calibration Object for reconstruction
- // and write it on CDB
- AliTOFcalib *tofcalib = new AliTOFcalib();
- tofcalib->CreateCalArrays();
- TObjArray *tofCalOnline = (TObjArray*) tofcalib->GetTOFCalArrayOnline();
- // Write the offline calibration object on CDB
-
- AliCDBManager *man = AliCDBManager::Instance();
- man->SetDefaultStorage("local://$ALICE");
- Int_t nChannels = AliTOFGeometry::NSectors()*(2*(AliTOFGeometry::NStripC()+AliTOFGeometry::NStripB())+AliTOFGeometry::NStripA())*AliTOFGeometry::NpadZ()*AliTOFGeometry::NpadX();
- Float_t delay=0.;
- Float_t meanDelay=0.3;
- Float_t sigmaDelay=0.08;
- TRandom *rnd = new TRandom(4357);
- for (Int_t ipad = 0 ; ipad<nChannels; ipad++){
- AliTOFChannelOnline *calChannelOnline = (AliTOFChannelOnline*)tofCalOnline->At(ipad);
- delay = rnd->Gaus(meanDelay,sigmaDelay);
- calChannelOnline->SetDelay(delay);
- }
- tofcalib->WriteParOnlineOnCDB("TOF/Calib");
- return;
-}