#include "VZERO/AliVZEROConst.h"
void MakeVZEROCalibEntryPbPbNew(Int_t run, Int_t outputRun, const char *inputCDB = "raw://", const char *outputCDB = "local://$ALICE_ROOT/OCDB/VZERO/PbPb", Float_t mipperadc = 1./3.){
AliCDBManager *man = AliCDBManager::Instance();
man->SetDefaultStorage(inputCDB);
man->SetRun(run);
AliCDBEntry *entry = man->Get("VZERO/Calib/Data");
AliVZEROCalibData *calibdaorg = (AliVZEROCalibData*)entry->GetObject();
calibdaorg->GetMIPperADC(0);
AliVZEROCalibData *calibda = new AliVZEROCalibData(*calibdaorg);
Float_t *a = calibdaorg->GetPMGainsA();
Float_t *b = calibdaorg->GetPMGainsB();
for (Int_t i = 0; i < 64; ++i) {
Float_t nPhPerMIP = (i < 32) ? 6950 : 33690;
Float_t hv = TMath::Exp((TMath::Log(kChargePerADC/(mipperadc*nPhPerMIP*calibdaorg->GetLightYields(i)*0.18*TMath::Qe()))-a[i])/b[i]);
calibda->SetMeanHV(hv,i);
}
for (Int_t i = 0; i < 64; ++i) {
Float_t mip = (i < 32) ? 6950 : 33690;
printf("%d %.1f %.1f %.1f %.1f %.1f %.1f %.1f %f\n",
i,
calibdaorg->GetMeanHV(i),
1./calibdaorg->GetMIPperADC(i),
mip*calibdaorg->GetLightYields(i)*0.18*TMath::Qe()*calibdaorg->GetGain(i)/0.6e-12,
calibda->GetMeanHV(i),
1./calibda->GetMIPperADC(i),
mip*calibda->GetLightYields(i)*0.18*TMath::Qe()*calibda->GetGain(i)/0.6e-12,
calibda->GetMIPperADC(i)/calibdaorg->GetMIPperADC(i),
calibda->GetDiscriThr(i));
}
for (Int_t i = 0; i < 64; ++i) {
printf("Channel = %d %d V\n",
i,TMath::Nint(calibda->GetMeanHV(i)));
}
// Creation of the object VZERO Calibration as a MetaData
AliCDBMetaData *md= new AliCDBMetaData(); // metaData describing the object
md->SetResponsible("Brigitte Cheynis");
md->SetBeamPeriod(0);
md->SetAliRootVersion(gSystem->Getenv("ARVERSION"));
md->SetComment("Pb-Pb VZERO Calibration from RAW OCDB");
AliCDBId id("VZERO/Calib/Data",outputRun,outputRun);
man->SetDefaultStorage(outputCDB);
AliCDBStorage *storLoc = man->GetDefaultStorage();
storLoc->Put(calibda, id, md);
}
MakeVZEROCalibEntryPbPbNew.C:1 MakeVZEROCalibEntryPbPbNew.C:2 MakeVZEROCalibEntryPbPbNew.C:3 MakeVZEROCalibEntryPbPbNew.C:4 MakeVZEROCalibEntryPbPbNew.C:5 MakeVZEROCalibEntryPbPbNew.C:6 MakeVZEROCalibEntryPbPbNew.C:7 MakeVZEROCalibEntryPbPbNew.C:8 MakeVZEROCalibEntryPbPbNew.C:9 MakeVZEROCalibEntryPbPbNew.C:10 MakeVZEROCalibEntryPbPbNew.C:11 MakeVZEROCalibEntryPbPbNew.C:12 MakeVZEROCalibEntryPbPbNew.C:13 MakeVZEROCalibEntryPbPbNew.C:14 MakeVZEROCalibEntryPbPbNew.C:15 MakeVZEROCalibEntryPbPbNew.C:16 MakeVZEROCalibEntryPbPbNew.C:17 MakeVZEROCalibEntryPbPbNew.C:18 MakeVZEROCalibEntryPbPbNew.C:19 MakeVZEROCalibEntryPbPbNew.C:20 MakeVZEROCalibEntryPbPbNew.C:21 MakeVZEROCalibEntryPbPbNew.C:22 MakeVZEROCalibEntryPbPbNew.C:23 MakeVZEROCalibEntryPbPbNew.C:24 MakeVZEROCalibEntryPbPbNew.C:25 MakeVZEROCalibEntryPbPbNew.C:26 MakeVZEROCalibEntryPbPbNew.C:27 MakeVZEROCalibEntryPbPbNew.C:28 MakeVZEROCalibEntryPbPbNew.C:29 MakeVZEROCalibEntryPbPbNew.C:30 MakeVZEROCalibEntryPbPbNew.C:31 MakeVZEROCalibEntryPbPbNew.C:32 MakeVZEROCalibEntryPbPbNew.C:33 MakeVZEROCalibEntryPbPbNew.C:34 MakeVZEROCalibEntryPbPbNew.C:35 MakeVZEROCalibEntryPbPbNew.C:36 MakeVZEROCalibEntryPbPbNew.C:37 MakeVZEROCalibEntryPbPbNew.C:38 MakeVZEROCalibEntryPbPbNew.C:39 MakeVZEROCalibEntryPbPbNew.C:40 MakeVZEROCalibEntryPbPbNew.C:41 MakeVZEROCalibEntryPbPbNew.C:42 MakeVZEROCalibEntryPbPbNew.C:43 MakeVZEROCalibEntryPbPbNew.C:44 MakeVZEROCalibEntryPbPbNew.C:45 MakeVZEROCalibEntryPbPbNew.C:46 MakeVZEROCalibEntryPbPbNew.C:47 MakeVZEROCalibEntryPbPbNew.C:48 MakeVZEROCalibEntryPbPbNew.C:49 MakeVZEROCalibEntryPbPbNew.C:50 MakeVZEROCalibEntryPbPbNew.C:51 MakeVZEROCalibEntryPbPbNew.C:52 MakeVZEROCalibEntryPbPbNew.C:53 MakeVZEROCalibEntryPbPbNew.C:54 MakeVZEROCalibEntryPbPbNew.C:55