//______________________________________________________________________________________________
AliTRDPreprocessor::AliTRDPreprocessor(AliShuttleInterface *shuttle)
- :AliPreprocessor("TRD", shuttle)
+ :AliPreprocessor("TRD", shuttle),
+ fResult(0),
+ fVdriftHLT(0)
{
//
// Constructor
// Process DCS and calibration part for HLT
//
- UInt_t result = 0;
+ fResult = 0;
//
// DCS
//
+ ProcessDCS(dcsAliasMap);
+
+ //
+ // Process the calibration data for the HLT and DAQ part
+ //
+
+ TString runType = GetRunType();
+ printf("runtype %s\n",(const char*)runType);
+
+
+ if (strcmp(runType, "PEDESTAL") == 0){
+ ExtractPedestals();
+ }
+
+ if (strcmp(runType, "PHYSICS") == 0){
+ printf("test\n");
+ //if(GetRunParameter("HLTStatus")==1) ExtractHLT();
+ ExtractHLT();
+ ExtractDriftVelocityDAQ();
+ }
+ printf("result is %d\n",fResult);
+ return fResult;
+
+}
+
+
+//______________________________________________________________________________
+void AliTRDPreprocessor::ProcessDCS(TMap * dcsAliasMap)
+{
+
AliCDBMetaData metaData;
metaData.SetBeamPeriod(0);
metaData.SetResponsible("Wilfried Monange/Raphaelle Bailhache");
TObjArray * list = AliTRDSensorArray::GetList ();
if (list == 0x0) {
- Log ("Error during AliTRDSensorArray::GetList");
- Log ("DCS will not be processing");
- }else {
-
- Int_t nEntries = list->GetEntries ();
- Log (Form ("%d alias loaded", nEntries));
+ Log ("Error during AliTRDSensorArray::GetList");
+ Log ("DCS will not be processing");
+ return;
+ }
+
+ Int_t nEntries = list->GetEntries ();
+ Log (Form ("%d alias loaded", nEntries));
- Bool_t * results = new Bool_t [nEntries];
- Int_t * nGraph = new Int_t [nEntries];
+ Bool_t * results=new Bool_t [nEntries];
+ Int_t * nGraph=new Int_t [nEntries];
- for (Int_t iAlias = 0; iAlias < nEntries; iAlias++) {
+ for (Int_t iAlias = 0; iAlias < nEntries; iAlias++) {
- AliTRDSensorArray * oneTRDDCS = (AliTRDSensorArray *)list->At (iAlias);
+ AliTRDSensorArray * oneTRDDCS = (AliTRDSensorArray *)list->At (iAlias);
- oneTRDDCS->SetStartTime (TTimeStamp (fStartTime));
- oneTRDDCS->SetEndTime (TTimeStamp (fEndTime));
+ oneTRDDCS->SetStartTime (TTimeStamp (fStartTime));
+ oneTRDDCS->SetEndTime (TTimeStamp (fEndTime));
- Log (Form("Processing DCS : \"%s\"",
- oneTRDDCS->GetStoreName ().Data ()));
+ Log (Form("Processing DCS : \"%s\"", oneTRDDCS->GetStoreName ().Data ()));
- TMap * map = oneTRDDCS->ExtractDCS (dcsAliasMap);
+ TMap * map;
+
+ map=oneTRDDCS->ExtractDCS (dcsAliasMap);
- nGraph [iAlias] = map->GetEntries ();
+ nGraph [iAlias] = map->GetEntries ();
- if (nGraph [iAlias] == 0) {
- Log("No TGraph for this dcsDatapointAlias : not stored");
- results [iAlias] = kFALSE;
- result |= kEStoreRefDCS;
- continue;
- }
+ if (nGraph [iAlias] == 0) {
+ Log("No TGraph for this dcsDatapointAlias : not stored");
+ results [iAlias] = kFALSE;
+ continue;
+ }
- oneTRDDCS->SetGraph (map);
-
- results [iAlias] = Store("Calib",
- oneTRDDCS->GetStoreName ().Data (),
- oneTRDDCS,
- &metaData,
- 0,
- kTRUE);
+ oneTRDDCS->SetGraph(map);
+ results[iAlias]=Store("Calib", oneTRDDCS->GetStoreName().Data(), oneTRDDCS, &metaData, 0, kTRUE);
+ delete map;
+
+ //results [iAlias] = StoreReferenceData("Calib", oneTRDDCS->GetStoreName ().Data (), oneTRDDCS, &metaData);
+
+
+ if (!results[iAlias]) {
+ AliError("Problem during StoreRef DCS");
+ fResult|=kEStore;
+ }
+
+
+ //BEGIN TEST (should not be removed ...)
+ /*
+ oneTRDDCS->ClearGraph();
+ oneTRDDCS->ClearFit();
+ oneTRDDCS->SetDiffCut2 (0.1);
+ map=oneTRDDCS->ExtractDCS (dcsAliasMap);
+ oneTRDDCS->SetGraph (map);
+ Store("Calib", ("cut_"+oneTRDDCS->GetStoreName()).Data(), oneTRDDCS, &metaData, 0, kTRUE);
+ delete map;
+
+
+ if(iAlias==1 || iAlias==19) continue;
+
+ oneTRDDCS->ClearGraph();
+ oneTRDDCS->ClearFit();
+ oneTRDDCS->SetDiffCut2(0);
+ map=oneTRDDCS->ExtractDCS(dcsAliasMap);
+ oneTRDDCS->MakeSplineFit(map);
+ Store("Calib", ("fit_"+oneTRDDCS->GetStoreName()).Data() , oneTRDDCS, &metaData, 0, kTRUE);
+ delete map;
+
+
+ oneTRDDCS->ClearGraph();
+ oneTRDDCS->ClearFit();
+ oneTRDDCS->SetDiffCut2 (0.1);
+ map=oneTRDDCS->ExtractDCS (dcsAliasMap);
+ oneTRDDCS->MakeSplineFit(map);
+ Store("Calib", ("cutfit_"+oneTRDDCS->GetStoreName()).Data() , oneTRDDCS, &metaData, 0, kTRUE);
+ delete map;
+ */
+ //END TEST
+
+
+
+ }
- /*
- results [iAlias] = StoreReferenceData("Calib",
- oneTRDDCS->GetStoreName ().Data (),
- oneTRDDCS,
- &metaData);
- */
- if (!results [iAlias]) {
- AliError("Problem during StoreRef DCS");
- result |= kEStoreRefDCS;
- }
-
- delete map;
-
- /*
- //BEGIN TEST
- oneTRDDCS->SetDiffCut2 (0.1);
- map = oneTRDDCS->ExtractDCS (dcsAliasMap);
- oneTRDDCS->SetGraph (map);
-
- StoreReferenceData("Calib",
- (oneTRDDCS->GetStoreName ()+"Cut").Data(),
- oneTRDDCS, &metaData);
- delete map;
- //END TEST
- */
+ Log (" Summury of DCS :\n");
+ Log (Form("%30s %10s %10s", "dcsDatapointAlias", "Stored ?", "# graph"));
+ for (Int_t iAlias = 0; iAlias < nEntries; iAlias++) {
+ AliTRDSensorArray * oneTRDDCS = (AliTRDSensorArray *)list->At (iAlias);
+ Log (Form ("%30s %10s %4d",
+ oneTRDDCS->GetStoreName ().Data (),
+ results[iAlias] ? "ok" : "X",
+ nGraph [iAlias]));
+ }
+ Log ("*********** End of DCS **********");
+
+ delete results;
+ delete nGraph;
+
+
+}
+
+//______________________________________________________________________________________________
+void AliTRDPreprocessor::ExtractPedestals()
+{
+ //
+ // Pedestal running on LDCs at the DAQ
+ //
+
+ // Init a AliTRDCalibPadStatus
+ AliTRDCalibPadStatus calPedSum = AliTRDCalibPadStatus();
+
+ AliCDBMetaData metaData;
+ metaData.SetBeamPeriod(0);
+ metaData.SetResponsible("Raphaelle Bailhache");
+ metaData.SetComment("TRD calib test");
+
+ // Sum the contributions of the LDCs
+ TList * listpad = GetFileSources(kDAQ,"PADSTATUS");
+ if (listpad) {
+
+ // loop through all files from LDCs
+
+ UInt_t index = 0;
+ while (listpad->At(index)!=NULL) {
+ TObjString* fileNameEntry = (TObjString*) listpad->At(index);
+ if (fileNameEntry != NULL) {
+ TString fileName = GetFile(kDAQ, "PADSTATUS",
+ fileNameEntry->GetString().Data());
+ if(fileName.Length() !=0){
+ TFile *f = TFile::Open(fileName);
+ AliTRDCalibPadStatus *calPed;
+ f->GetObject("calibpadstatus",calPed);
+
+ if(calPed){
+
+ // analyse
+ calPed->AnalyseHisto();
+
+ // store as reference data
+ TString name("PadStatus");
+ name += (Int_t)index;
+ if(!StoreReferenceData("DAQData",(const char *)name,(TObject *) calPed,&metaData)){
+ Log(Form("Error storing AliTRDCalibPadStatus object %d as reference data",(Int_t)index));
+ fResult |= kEStore;
+ }
+
+
+ // Add to the calPedSum
+ for (Int_t idet=0; idet<540; idet++) {
+ AliTRDCalROC *rocMean = calPed->GetCalRocMean(idet, kFALSE);
+ if ( rocMean ) calPedSum.SetCalRocMean(rocMean,idet);
+ AliTRDCalROC *rocRMS = calPed->GetCalRocRMS(idet, kFALSE);
+ if ( rocRMS ) calPedSum.SetCalRocRMS(rocRMS,idet);
+ }// det loop
+
+ } // calPed
}
-
- Log (" Summury of DCS :\n");
- Log (Form("%30s %10s %10s", "dcsDatapointAlias", "Stored ?", "# graph"));
- for (Int_t iAlias = 0; iAlias < nEntries; iAlias++) {
- AliTRDSensorArray * oneTRDDCS = (AliTRDSensorArray *)list->At (iAlias);
- Log (Form ("%30s %10s %4d",
- oneTRDDCS->GetStoreName ().Data (),
- results[iAlias] ? "ok" : "X",
- nGraph [iAlias]));
+ else{
+ Log(Form("Error by retrieving the file %d for the pedestal",(Int_t)index));
+ fResult |= kEGetFileDAQ;
}
- Log ("*********** End of DCS **********");
-
- delete results;
- delete nGraph;
+ }// fileNameEntry length
+ ++index;
+ }// while (list)
+ Log(Form("%d elements found in the list for the pedestal",(Int_t)index));
+ if(index==0){
+ fResult |= kEEmptyListDAQ;
+ }
+ //
+ // Store pedestal entry to OCDB
+ //
+
+
+ // Create Pad Status
+ AliTRDCalPadStatus *calPadStatus = calPedSum.CreateCalPadStatus();
+ AliCDBMetaData md3;
+ md3.SetObjectClassName("AliTRDCalPadStatus");
+ md3.SetResponsible("Raphaelle Bailhache");
+ md3.SetBeamPeriod(1);
+ md3.SetComment("TRD calib test");
+ if(!Store("Calib","PadStatus" ,(TObject *)calPadStatus, &md3, 0, kTRUE)){
+ Log("Error storing the pedestal");
+ fResult |= kEStore;
+ }
+ delete listpad;
+ }
+ else {
+ Log("No list found for the PEDESTRAL Run");
+ fResult |= kEGetFileDAQ;
}
+
+}
+//______________________________________________________________________________________________
+void AliTRDPreprocessor::ExtractDriftVelocityDAQ()
+{
//
- // Process the calibration data for the HLT part
+ // Drift velocity DA running on monitoring servers at the DAQ
//
- // Objects for HLT and DAQ zusammen
+
+ // Objects for HLT and DAQ zusammen
AliTRDCalibraFit *calibra = AliTRDCalibraFit::Instance();
- Bool_t hltVdrifthisto = kFALSE;
+ AliCDBMetaData metaData;
+ metaData.SetBeamPeriod(0);
+ metaData.SetResponsible("Raphaelle Bailhache");
+ metaData.SetComment("TRD calib test");
// Store the infos for the detector
- AliCDBMetaData *md1= new AliCDBMetaData();
- md1->SetObjectClassName("AliTRDCalDet");
- md1->SetResponsible("Raphaelle Bailhache");
- md1->SetBeamPeriod(0);
- md1->SetComment("TRD calib test");
+ AliCDBMetaData md1;
+ md1.SetObjectClassName("AliTRDCalDet");
+ md1.SetResponsible("Raphaelle Bailhache");
+ md1.SetBeamPeriod(0);
+ md1.SetComment("TRD calib test");
// Store the infos for the pads
- AliCDBMetaData *md2= new AliCDBMetaData();
- md2->SetObjectClassName("AliTRDCalPad");
- md2->SetResponsible("Raphaelle Bailhache");
- md2->SetBeamPeriod(0);
- md2->SetComment("TRD calib test");
-
- //
- // Process the calibration data for the HLT part
- //
+ AliCDBMetaData md2;
+ md2.SetObjectClassName("AliTRDCalPad");
+ md2.SetResponsible("Raphaelle Bailhache");
+ md2.SetBeamPeriod(0);
+ md2.SetComment("TRD calib test");
- // How long does it take for the HLT part?
- TStopwatch timer;
- timer.Start();
- //Run type
- TString runType = GetRunType();
- Log(Form("Run type for run %d: %s", fRun, runType.Data()));
- if (strcmp(runType, "PHYSICS") != 0){
- Log("Nothing to do for HLT!");
- }
- else{
- // note that the parameters are returned as character strings!
- const char* nEvents = GetRunParameter("totalEvents");
- if (nEvents) {
- Log(Form("Number of events for run %d: %s",fRun, nEvents));
- } else {
- Log(Form("Number of events not put in logbook!"));
- }
- // Take the file from the HLT file exchange server
- TList *filesourceshlt = GetFileSources(kHLT,"GAINDRIFTPRF");
- if (!filesourceshlt) {
- Log(Form("No sources found for GAINDRIFTPRF for run %d !",fRun));
- result |= kEListFileHLT;
- }
- else{
- if (filesourceshlt->GetSize() != 1) {
- Log(Form("More than one source found for GAINDRIFTPRF for run %d!",fRun));
- filesourceshlt->Print();
- result |= kEListFileHLT;
- }
- else {
-
- //Debug mode
- //calibra->SetDebugLevel(2); //Debug
-
- // Loop over the files taken from the HLT
- TIter iter(filesourceshlt);
- TObjString *sourcehlt;
- while ((sourcehlt = dynamic_cast<TObjString *> (iter.Next()))) {
-
- TString filenamehlt = GetFile(kHLT,"GAINDRIFTPRF",sourcehlt->GetName());
- if (filenamehlt.Length() == 0) {
- Log(Form("Error retrieving file from source %d failed!", sourcehlt->GetName()));
- result |= kEOpenFileHLT;
- }
- else{
-
- // Init some things
- TH2I *histogain = 0x0; // Histogram taken from HLT for gain factor
- TProfile2D *histodriftvelocity = 0x0; // Profile taken from HLT for drift velocity and time0
- TProfile2D *histoprf = 0x0; // Profile taken from HLT for prf
-
-
- // Take the histos
- TFile *filehlt = TFile::Open(filenamehlt);
- histogain = (TH2I *) filehlt->Get("CH2d");
- histogain->SetDirectory(0);
- if (!histogain) {
- Log("Error retrieving 2D histos for gain failed!");
- result |= kETakeHistoHLT;
- }
- histodriftvelocity = (TProfile2D *) filehlt->Get("PH2d");
- histodriftvelocity->SetDirectory(0);
- if (!histodriftvelocity) {
- Log("Error retrieving 2D Profile for average pulse height failed!");
- result |= kETakeHistoHLT;
- }
- histoprf = (TProfile2D *) filehlt->Get("PRF2d");
- histoprf->SetDirectory(0);
- if (!histoprf) {
- Log("Error retrieving 2D Profile for Pad Response Function failed!");
- result |= kETakeHistoHLT;
- }
- filehlt->Close();
+
+ // Take the file from the DAQ file exchange server
+ TList *listdaq = GetFileSources(kDAQ,"VDRIFT");
+ if (listdaq) {
+ if(listdaq->GetSize() ==1){
+ TObjString* fileNameEntry = (TObjString*) listdaq->At(0);
+ if(fileNameEntry != NULL){
+ TString fileName = GetFile(kDAQ, "VDRIFT",
+ fileNameEntry->GetString().Data());
+ if(fileName.Length() !=0){
+ TFile *filedaq = TFile::Open(fileName);
+ TProfile2D *histodriftvelocity = (TProfile2D *) filedaq->Get("PH2d");
+ if (histodriftvelocity) {
- // try to fit them and store
- if (histogain) {
- if(!StoreReferenceData("HLTData","Gain",(TObject *) histogain,&metaData)){
- Log("Error storing 2D histos for gain as reference data");
- result |= kEStoreHistoHLT;
- }
- Log("Take the CH reference data. Now we will try to fit\n");
- calibra->SetMinEntries(100); // If there is less than 100 entries in the histo: no fit
- calibra->AnalyseCH(histogain);
- Int_t nbtg = 6*4*18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb0(0))
- + 6* 18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb2(0));
- Int_t nbfit = calibra->GetNumberFit();
- Int_t nbE = calibra->GetNumberEnt();
- if ((nbtg > 0) &&
- (nbfit >= 0.95*nbE)) {
- TObjArray object = calibra->GetVectorFit();
- AliTRDCalDet *objgaindet = calibra->CreateDetObjectGain(&object,calibra->GetScaleFitFactor(),kTRUE);
- TObject *objgainpad = calibra->CreatePadObjectGain();
- if(!Store("Calib","ChamberGainFactor",(TObject *) objgaindet ,md1,0,kTRUE)){
- Log("Error storing the calibration object for the chamber gain");
- result |= kEStoreCalHLT;
- }
- if(!Store("Calib","LocalGainFactor" ,(TObject *) objgainpad ,md2,0,kTRUE)){
- Log("Error storing the calibration object for the local gain factor");
- result |= kEStoreCalHLT;
- }
- }
- else{
- Log("Not enough statistics for the gain");
- result |= kEFitHistoHLT;
- }
- calibra->ResetVectorFit();
+ // store as reference data
+ if(!StoreReferenceData("DAQData","VdriftT0",(TObject *) histodriftvelocity,&metaData)){
+ Log("Error storing 2D Profile for vdrift from the DAQ");
+ fResult |= kEStore;
}
-
- if (histodriftvelocity) {
- if(!StoreReferenceData("HLTData","VdriftT0",(TObject *) histodriftvelocity,&metaData)){
- Log("Error storing 2D Profile for average pulse height as reference data");
- result |= kEStoreHistoHLT;
- }
+
+ // analyse
+ if(!fVdriftHLT){
Log("Take the PH reference data. Now we will try to fit\n");
- calibra->SetMinEntries(100*20); // If there is less than 2000
+ calibra->SetMinEntries(2000); // If there is less than 2000
calibra->AnalysePH(histodriftvelocity);
+
Int_t nbtg = 6*4*18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb0(1))
+ 6* 18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb2(1));
Int_t nbfit = calibra->GetNumberFit();
- Int_t nbE = calibra->GetNumberEnt();
+ Int_t nbE = calibra->GetNumberEnt();
+
+ // if enough statistics store the results
if ((nbtg > 0) &&
(nbfit >= 0.95*nbE)) {
- TObjArray object = calibra->GetVectorFit();
+ // create the cal objects
+ TObjArray object = calibra->GetVectorFit();
AliTRDCalDet *objdriftvelocitydet = calibra->CreateDetObjectVdrift(&object,kTRUE);
- TObject *objdriftvelocitypad = calibra->CreatePadObjectVdrift();
+ TObject *objdriftvelocitypad = calibra->CreatePadObjectVdrift();
object = calibra->GetVectorFit2();
- AliTRDCalDet *objtime0det = calibra->CreateDetObjectT0(&object,kTRUE);
- TObject *objtime0pad = calibra->CreatePadObjectT0();
- if(!Store("Calib","ChamberVdrift" ,(TObject *) objdriftvelocitydet,md1,0,kTRUE)){
- Log("Error storing the calibration object for the chamber vdrift");
- result |= kEStoreCalHLT;
- }
- if(!Store("Calib","ChamberT0" ,(TObject *) objtime0det ,md1,0,kTRUE)){
- Log("Error storing the calibration object for the chamber t0");
- result |= kEStoreCalHLT;
+ AliTRDCalDet *objtime0det = calibra->CreateDetObjectT0(&object,kTRUE);
+ TObject *objtime0pad = calibra->CreatePadObjectT0();
+ calibra->ResetVectorFit();
+ // store
+ if(!Store("Calib","ChamberVdrift" ,(TObject *) objdriftvelocitydet,&md1,0,kTRUE)){
+ Log("Error storing the calibration object for the chamber vdrift (DAQ)");
+ fResult |= kEStore;
}
- if(!Store("Calib","LocalVdrift" ,(TObject *) objdriftvelocitypad,md2,0,kTRUE)){
- Log("Error storing the calibration object for the local drift velocity");
- result |= kEStoreCalHLT;
+ if(!Store("Calib","ChamberT0" ,(TObject *) objtime0det ,&md1,0,kTRUE)){
+ Log("Error storing the calibration object for the chamber t0 (DAQ)");
+ fResult |= kEStore;
}
- if(!Store("Calib","LocalT0" ,(TObject *) objtime0pad ,md2,0,kTRUE)){
- Log("Error storing the calibration object for the local time0");
- result |= kEStoreCalHLT;
+ if(!Store("Calib","LocalVdrift" ,(TObject *) objdriftvelocitypad,&md2,0,kTRUE)){
+ Log("Error storing the calibration object for the local drift velocity (DAQ)");
+ fResult |= kEStore;
}
- hltVdrifthisto = kTRUE;
- }
- else{
- Log("Not enough statistics for the average pulse height");
- result |= kEFitHistoHLT;
- }
- calibra->ResetVectorFit();
- }
-
- if (histoprf) {
- if(!StoreReferenceData("HLTData","PRF",(TObject *) histoprf,&metaData)){
- Log("Error storing the 2D Profile for Pad Response Function as reference data");
- result |= kEStoreHistoHLT;
- }
- Log("Take the PRF reference data. Now we will try to fit\n");
- calibra->SetMinEntries(100*20); // If there is less than 2000
- calibra->AnalysePRFMarianFit(histoprf);
- Int_t nbtg = 6*4*18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb0(2))
- + 6* 18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb2(2));
- Int_t nbfit = calibra->GetNumberFit();
- Int_t nbE = calibra->GetNumberEnt();
- if ((nbtg > 0) &&
- (nbfit >= 0.95*nbE)) {
- TObjArray object = calibra->GetVectorFit();
- TObject *objPRFpad = calibra->CreatePadObjectPRF(&object);
- if(!Store("Calib","PRFWidth" ,(TObject *) objPRFpad ,md2,0,kTRUE)){
- Log("Error storing the calibration object for the Pad Response Function");
- result |= kEStoreCalHLT;
+ if(!Store("Calib","LocalT0" ,(TObject *) objtime0pad ,&md2,0,kTRUE)){
+ Log("Error storing the calibration object for the local time0 (DAQ)");
+ fResult |= kEStore;
}
}
else{
- Log("Not enough statistics for the Pad Response Function");
- result |= kEFitHistoHLT;
+ Log("Not enough statistics for the average pulse height (DAQ)");
}
- calibra->ResetVectorFit();
- }
- } // if HLT openfile
- } // while iter list
- } // if HLT size of tlist
- } //if HLT tlist
- delete filesourceshlt;
- } //if run type physics
- // time
- timer.Stop();
- timer.Print();
-
+ } // analyse
+ } // histo here
+ }
+ else{
+ Log("Error retrieving the file vdrift (DAQ)");
+ if(!fVdriftHLT) fResult |= kEGetFileDAQ;
+ }
+ }// if fileNameEntry
+ } // size DAQ list
+ else{
+ Log(Form("Problem on the size of the list: %d (DAQ)",listdaq->GetSize()));
+ if(!fVdriftHLT) fResult |= kEEmptyListDAQ;
+ }
+ delete listdaq;
+ }
+ else{
+ Log("No list found for vdrift (DAQ)");
+ if(!fVdriftHLT){
+ fResult |= kEGetFileDAQ;
+ }
+ }
+
+}
+//______________________________________________________________________________________________
+void AliTRDPreprocessor::ExtractHLT()
+{
//
- // Process the calibration data for the DAQ part
+ // Gain, vdrift and PRF calibration running on HLT
+ // return kFALSE if NULL pointer to the list
//
- // How long does it take for the DAQ part?
- timer.Reset();
- timer.Start();
-
- // Take the file from the DAQ file exchange server
- TList *filesourcesdaq = GetFileSources(kDAQ,"PADSTATUSVDRIFT");
- if (!filesourcesdaq) {
- Log(Form("No sources found for GAINDRIFTPRF for run %d !",fRun));
- result |= kEListFileDAQ;
- }
- else{
- if (filesourcesdaq->GetSize() != 1) {
- Log(Form("More than one source found for PADSTATUSVDRIFT for run %d!",fRun));
- filesourcesdaq->Print();
- result |= kEListFileDAQ;
- }
- else{
- // Loop over the files taken from the DAQ
- TIter iter(filesourcesdaq);
- TObjString *sourcedaq;
- while ((sourcedaq = dynamic_cast<TObjString *> (iter.Next()))) {
-
- TString filenamedaq = GetFile(kDAQ,"PADSTATUSVDRIFT",sourcedaq->GetName());
- if (filenamedaq.Length() == 0) {
- Log(Form("Error retrieving file from source %d failed!", sourcedaq->GetName()));
- result |= kEOpenFileDAQ;
- }
- else {
+
+ // Objects for HLT and DAQ zusammen
+ AliTRDCalibraFit *calibra = AliTRDCalibraFit::Instance();
+ AliCDBMetaData metaData;
+ metaData.SetBeamPeriod(0);
+ metaData.SetResponsible("Raphaelle Bailhache");
+ metaData.SetComment("TRD calib test");
+ // Store the infos for the detector
+ AliCDBMetaData md1;
+ md1.SetObjectClassName("AliTRDCalDet");
+ md1.SetResponsible("Raphaelle Bailhache");
+ md1.SetBeamPeriod(0);
+ md1.SetComment("TRD calib test");
+ // Store the infos for the pads
+ AliCDBMetaData md2;
+ md2.SetObjectClassName("AliTRDCalPad");
+ md2.SetResponsible("Raphaelle Bailhache");
+ md2.SetBeamPeriod(0);
+ md2.SetComment("TRD calib test");
- // Init some things
- TProfile2D *histodriftvelocity = 0x0; // Profile taken from DAQ for drift velocity and time0
- AliTRDCalibPadStatus *calibpadstatus = 0x0; // AliTRDCalibPadStatus from DAQ for pad status
+
+ // Take the file from the HLT file exchange server
+ TList *listhlt = GetFileSources(kHLT,"GAINDRIFTPRF");
+ if (listhlt) {
+ if (listhlt->GetSize() == 1) {
+ TObjString* fileNameEntry = (TObjString*) listhlt->At(0);
+ if(fileNameEntry != NULL){
+ TString fileName = GetFile(kHLT, "GAINDRIFTPRF",
+ fileNameEntry->GetString().Data());
+ if(fileName.Length() !=0){
+ // Take the file
+ TFile *filehlt = TFile::Open(fileName);
+
- // Take the histos
- Bool_t something = kFALSE;
- TFile *filedaq = TFile::Open(filenamedaq);
- calibpadstatus = (AliTRDCalibPadStatus *) filedaq->Get("calibpadstatus");
- if (!calibpadstatus) {
- Log("No pedetral run!");
- }
- else something = kTRUE;
- histodriftvelocity = (TProfile2D *) filedaq->Get("PH2d");
- if (!histodriftvelocity) {
- Log("No Vdrift TProfile2D!");
- }
- else{
- histodriftvelocity->SetDirectory(0);
- }
- if(histodriftvelocity) something = kTRUE;
- if(!something){
- Log("Error DAQ, nothing in the file!");
- result |= kETakeObjectDAQ;
- }
-
- // try to fit and store reference data
- if(calibpadstatus){
- calibpadstatus->AnalyseHisto();
- if(!StoreReferenceData("DAQData","PadStatus",(TObject *) calibpadstatus,&metaData)){
- Log("Error storing AliTRDCalibPadStatus object as reference data");
- result |= kEStoreRefDAQ;
+ // gain
+ TH2I *histogain = (TH2I *) filehlt->Get("CH2d");
+ histogain->SetDirectory(0);
+ if (histogain) {
+ // store the reference data
+ if(!StoreReferenceData("HLTData","Gain",(TObject *) histogain,&metaData)){
+ Log("Error storing 2D histos for gain");
+ fResult |= kEStore;
}
- AliTRDCalPadStatus *calPadStatus = calibpadstatus->CreateCalPadStatus();
- AliCDBMetaData *md3= new AliCDBMetaData();
- md3->SetObjectClassName("AliTRDCalPadStatus");
- md3->SetResponsible("Raphaelle Bailhache");
- md3->SetBeamPeriod(1);
- md3->SetComment("TRD calib test");
- if(!Store("Calib","PadStatus" ,(TObject *)calPadStatus, md3, 0, kTRUE)){
- Log("Error storing the calibration object for the chamber vdrift");
- result |= kEStoreCalDAQ;
+ // analyse
+ Log("Take the CH reference data. Now we will try to fit\n");
+ calibra->SetMinEntries(1000); // If there is less than 1000 entries in the histo: no fit
+ calibra->AnalyseCH(histogain);
+ Int_t nbtg = 6*4*18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb0(0))
+ + 6* 18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb2(0));
+ Int_t nbfit = calibra->GetNumberFit();
+ Int_t nbE = calibra->GetNumberEnt();
+ // enough statistics
+ if ((nbtg > 0) &&
+ (nbfit >= 0.95*nbE)) {
+ // create the cal objects
+ TObjArray object = calibra->GetVectorFit();
+ AliTRDCalDet *objgaindet = calibra->CreateDetObjectGain(&object,calibra->GetScaleFitFactor(),kTRUE);
+ TObject *objgainpad = calibra->CreatePadObjectGain();
+ // store them
+ if(!Store("Calib","ChamberGainFactor",(TObject *) objgaindet ,&md1,0,kTRUE)){
+ Log("Error storing the calibration object for the chamber gain");
+ fResult |= kEStore;
+ }
+ if(!Store("Calib","LocalGainFactor" ,(TObject *) objgainpad ,&md2,0,kTRUE)){
+ Log("Error storing the calibration object for the local gain factor");
+ fResult |= kEStore;
+ }
}
- }
+ calibra->ResetVectorFit();
+ }// if histogain
+
+
+
+ // vdrift
+ fVdriftHLT = kFALSE;
+ TProfile2D *histodriftvelocity = (TProfile2D *) filehlt->Get("PH2d");
+ histodriftvelocity->SetDirectory(0);
if (histodriftvelocity) {
- if(!StoreReferenceData("DAQData","VdriftT0",(TObject *) histodriftvelocity,&metaData)){
- Log("Error storing 2D Profile for average pulse height as reference data");
- result |= kEStoreRefDAQ;
+ // store the reference data
+ if(!StoreReferenceData("HLTData","VdriftT0",(TObject *) histodriftvelocity,&metaData)){
+ Log("Error storing 2D Profile for average pulse height (HLT)");
+ fResult |= kEStore;
}
- if(!hltVdrifthisto){
- Log("Take the PH reference data. Now we will try to fit\n");
- calibra->SetMinEntries(100*20); // If there is less than 2000
- calibra->AnalysePH(histodriftvelocity);
- Int_t nbtg = 6*4*18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb0(1))
- + 6* 18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb2(1));
- Int_t nbfit = calibra->GetNumberFit();
- Int_t nbE = calibra->GetNumberEnt();
- if ((nbtg > 0) &&
- (nbfit >= 0.95*nbE)) {
- TObjArray object = calibra->GetVectorFit();
- AliTRDCalDet *objdriftvelocitydet = calibra->CreateDetObjectVdrift(&object,kTRUE);
- TObject *objdriftvelocitypad = calibra->CreatePadObjectVdrift();
- object = calibra->GetVectorFit2();
- AliTRDCalDet *objtime0det = calibra->CreateDetObjectT0(&object,kTRUE);
- TObject *objtime0pad = calibra->CreatePadObjectT0();
- calibra->ResetVectorFit();
- if(!Store("Calib","ChamberVdrift" ,(TObject *) objdriftvelocitydet,md1,0,kTRUE)){
- Log("Error storing the calibration object for the chamber vdrift");
- result |= kEStoreCalDAQ;
- }
- if(!Store("Calib","ChamberT0" ,(TObject *) objtime0det ,md1,0,kTRUE)){
- Log("Error storing the calibration object for the chamber t0");
- result |= kEStoreCalDAQ;
- }
- if(!Store("Calib","LocalVdrift" ,(TObject *) objdriftvelocitypad,md2,0,kTRUE)){
- Log("Error storing the calibration object for the local drift velocity");
- result |= kEStoreCalDAQ;
- }
- if(!Store("Calib","LocalT0" ,(TObject *) objtime0pad ,md2,0,kTRUE)){
- Log("Error storing the calibration object for the local time0");
- result |= kEStoreCalDAQ;
- }
+ // analyse
+ Log("Take the PH reference data. Now we will try to fit\n");
+ calibra->SetMinEntries(1000*20); // If there is less than 20000
+ calibra->AnalysePH(histodriftvelocity);
+ Int_t nbtg = 6*4*18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb0(1))
+ + 6* 18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb2(1));
+ Int_t nbfit = calibra->GetNumberFit();
+ Int_t nbE = calibra->GetNumberEnt();
+ // enough statistics
+ if ((nbtg > 0) &&
+ (nbfit >= 0.95*nbE)) {
+ // create the cal objects
+ TObjArray object = calibra->GetVectorFit();
+ AliTRDCalDet *objdriftvelocitydet = calibra->CreateDetObjectVdrift(&object,kTRUE);
+ TObject *objdriftvelocitypad = calibra->CreatePadObjectVdrift();
+ object = calibra->GetVectorFit2();
+ AliTRDCalDet *objtime0det = calibra->CreateDetObjectT0(&object,kTRUE);
+ TObject *objtime0pad = calibra->CreatePadObjectT0();
+ // store them
+ if(!Store("Calib","ChamberVdrift" ,(TObject *) objdriftvelocitydet,&md1,0,kTRUE)){
+ Log("Error storing the calibration object for the chamber vdrift (HLT)");
+ fResult |= kEStore;
}
- else{
- Log("Not enough statistics for the average pulse height");
- result |= kEFitObjectDAQ;
+ if(!Store("Calib","ChamberT0" ,(TObject *) objtime0det ,&md1,0,kTRUE)){
+ Log("Error storing the calibration object for the chamber t0 (HLT)");
+ fResult |= kEStore;
}
+ if(!Store("Calib","LocalVdrift" ,(TObject *) objdriftvelocitypad,&md2,0,kTRUE)){
+ Log("Error storing the calibration object for the local drift velocity (HLT)");
+ fResult |= kEStore;
+ }
+ if(!Store("Calib","LocalT0" ,(TObject *) objtime0pad ,&md2,0,kTRUE)){
+ Log("Error storing the calibration object for the local time0 (HLT)");
+ fResult |= kEStore;
+ }
+ fVdriftHLT = kTRUE;
}
- }
- filedaq->Close();
- }// if DAQ open file
- } // while iter DAQ list
- } // size DAQ list
- } // tlist
- delete filesourcesdaq;
- // time
- timer.Stop();
- timer.Print();
+ calibra->ResetVectorFit();
+ }// if TProfile2D
+
+
+ // prf
+ TProfile2D *histoprf = (TProfile2D *) filehlt->Get("PRF2d");
+ histoprf->SetDirectory(0);
+ if (histoprf) {
+ // store reference data
+ if(!StoreReferenceData("HLTData","PRF",(TObject *) histoprf,&metaData)){
+ Log("Error storing the 2D Profile for Pad Response Function");
+ fResult |= kEStore;
+ }
+ // analyse
+ Log("Take the PRF reference data. Now we will try to fit\n");
+ calibra->SetMinEntries(600); // If there is less than 20000
+ calibra->AnalysePRFMarianFit(histoprf);
+ Int_t nbtg = 6*4*18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb0(2))
+ + 6* 18*((Int_t) ((AliTRDCalibraMode *)calibra->GetCalibraMode())->GetDetChamb2(2));
+ Int_t nbfit = calibra->GetNumberFit();
+ Int_t nbE = calibra->GetNumberEnt();
+ // enough statistics
+ if ((nbtg > 0) &&
+ (nbfit >= 0.95*nbE)) {
+ // create cal pad objects
+ TObjArray object = calibra->GetVectorFit();
+ TObject *objPRFpad = calibra->CreatePadObjectPRF(&object);
+ // store them
+ if(!Store("Calib","PRFWidth" ,(TObject *) objPRFpad ,&md2,0,kTRUE)){
+ Log("Error storing the calibration object for the Pad Response Function");
+ fResult |= kEStore;
+ }
+ }
+ calibra->ResetVectorFit();
+ }// if PRF
+ }
+ else{
+ Log("Error retrieving the file (HLT)");
+ fResult |= kEGetFileHLT;
+ }
+ } // fileNameEntry
+ } // if HLT size of tlist
+ else{
+ Log(Form("Problem on the size of the list: %d (HLT)",listhlt->GetSize()));
+ fResult |= kEEmptyListHLT;
+ }
+ delete listhlt;
+ } //if HLT tlist
+ else{
+ Log("No list found for the HLT");
+ fResult |= kEGetFileHLT;
+ }
- return result;
-
}
//Test reference data gain HLT
//***************************
Int_t ErrorRefDataGainHLT = 0;
- AliCDBEntry* entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/HLTData/Gain", 12);
+ AliCDBEntry* entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/HLTData/Gain", 8);
if(!entry) ErrorRefDataGainHLT = 1;
else{
TH2I *histogainhlt = (TH2I *) entry->GetObject();
//***************************
Int_t ErrorRefDataVdriftT0HLT = 0;
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/HLTData/VdriftT0", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/HLTData/VdriftT0", 8);
if(!entry) ErrorRefDataVdriftT0HLT = 1;
else{
TProfile2D *histovdriftt0hlt = (TProfile2D *) entry->GetObject();
//***************************
Int_t ErrorRefDataPRFHLT = 0;
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/HLTData/PRF", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/HLTData/PRF", 8);
if(!entry) ErrorRefDataPRFHLT = 1;
else{
TProfile2D *histoprfhlt = (TProfile2D *) entry->GetObject();
//Test reference data PadStatus DAQ
//***************************
Int_t ErrorRefDataPadStatus = 0;
- if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/DAQData/PadStatus", 12);
- if(!entry) ErrorRefDataPadStatus = 1;
- else{
- AliTRDCalibPadStatus *calpadstatus = (AliTRDCalibPadStatus *) entry->GetObject();
- if(!calpadstatus) ErrorRefDataPadStatus = 2;
- else{
- //Make the AliTRDCalDet correspondant
- AliTRDCalDet *calDet = new AliTRDCalDet("dummy","dummy for mean");
- for(Int_t k = 0; k < 540; k++){
- calDet->SetValue(k,10.0);
- }
- //Make the AliTRDCalPad correspondant
- AliTRDCalPad *calPad1 = new AliTRDCalPad("meanpad","dummy for mean");
- AliTRDCalPad *calPad2 = new AliTRDCalPad("squarespad","dummy for squares");
- AliTRDCalROC *calROC1 = 0x0;
- AliTRDCalROC *calROC2 = 0x0;
- for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det)
- {
- AliTRDCalROC *calROC11 = calPad1->GetCalROC(det);
- AliTRDCalROC *calROC22 = calPad2->GetCalROC(det);
- calROC1 = calpadstatus->GetCalRocMean(det,kTRUE);
- calROC2 = calpadstatus->GetCalRocRMS(det,kTRUE);
- for(Int_t k = 0; k < calROC22->GetNchannels(); k++){
- calROC11->SetValue(k,calROC1->GetValue(k));
- calROC22->SetValue(k,calROC2->GetValue(k));
+ Int_t nbsm = 0;
+
+ for(Int_t k = 0; k < 18; k++){
+
+ TString padstatus("TRD/DAQData/PadStatus");
+ padstatus += k;
+
+ if(entry) delete entry;
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get((const char*)padstatus, 8);
+ if(entry){
+ AliTRDCalibPadStatus *calpadstatus = (AliTRDCalibPadStatus *) entry->GetObject();
+ if(!calpadstatus) ErrorRefDataPadStatus = 2;
+ else{
+ //Make the AliTRDCalDet correspondant
+ AliTRDCalDet calDet = AliTRDCalDet("dummy","dummy for mean");
+ for(Int_t l = 0; l < 540; l++){
+ calDet.SetValue(l,10.0);
+ }
+
+ //Make the AliTRDCalPad correspondant
+ AliTRDCalPad calPad1 = AliTRDCalPad("meanpad","dummy for mean");
+ AliTRDCalPad calPad2 = AliTRDCalPad("squarespad","dummy for squares");
+ AliTRDCalROC *calROC1 = 0x0;
+ AliTRDCalROC *calROC2 = 0x0;
+ for (Int_t det=0; det<AliTRDgeometry::kNdet; ++det)
+ {
+ AliTRDCalROC *calROC11 = calPad1.GetCalROC(det);
+ AliTRDCalROC *calROC22 = calPad2.GetCalROC(det);
+ calROC1 = calpadstatus->GetCalRocMean(det,kTRUE);
+ calROC2 = calpadstatus->GetCalRocRMS(det,kTRUE);
+ for(Int_t k = 0; k < calROC22->GetNchannels(); k++){
+ calROC11->SetValue(k,calROC1->GetValue(k));
+ calROC22->SetValue(k,calROC2->GetValue(k));
+ }
+ }
+ TCanvas *cpadstatusm = new TCanvas((const char*)padstatus,(const char*)padstatus,50,50,600,800);
+ cpadstatusm->Divide(3,2);
+ cpadstatusm->cd(1);
+ ((TH2F *)calPad1.MakeHisto2DSmPl(k,0,&calDet,0,9.0,11.0,-1))->Draw("colz");
+ cpadstatusm->cd(2);
+ ((TH2F *)calPad1.MakeHisto2DSmPl(k,1,&calDet,0,9.0,11.0,-1))->Draw("colz");
+ cpadstatusm->cd(3);
+ ((TH2F *)calPad1.MakeHisto2DSmPl(k,2,&calDet,0,9.0,11.0,-1))->Draw("colz");
+ cpadstatusm->cd(4);
+ ((TH2F *)calPad1.MakeHisto2DSmPl(k,3,&calDet,0,9.0,11.0,-1))->Draw("colz");
+ cpadstatusm->cd(5);
+ ((TH2F *)calPad1.MakeHisto2DSmPl(k,4,&calDet,0,9.0,11.0,-1))->Draw("colz");
+ cpadstatusm->cd(6);
+ ((TH2F *)calPad1.MakeHisto2DSmPl(k,5,&calDet,0,9.0,11.0,-1))->Draw("colz");
+
+ padstatus += 1982;
+
+ TCanvas *cpadstatusrms = new TCanvas((const char*)padstatus,(const char*)padstatus,50,50,600,800);
+ cpadstatusrms->Divide(3,2);
+ cpadstatusrms->cd(1);
+ ((TH2F *)calPad2.MakeHisto2DSmPl(k,0,&calDet,0,0.2,2.0,-1))->Draw("colz");
+ cpadstatusrms->cd(2);
+ ((TH2F *)calPad2.MakeHisto2DSmPl(k,1,&calDet,0,0.2,2.0,-1))->Draw("colz");
+ cpadstatusrms->cd(3);
+ ((TH2F *)calPad2.MakeHisto2DSmPl(k,2,&calDet,0,0.2,2.0,-1))->Draw("colz");
+ cpadstatusrms->cd(4);
+ ((TH2F *)calPad2.MakeHisto2DSmPl(k,3,&calDet,0,0.2,2.0,-1))->Draw("colz");
+ cpadstatusrms->cd(5);
+ ((TH2F *)calPad2.MakeHisto2DSmPl(k,4,&calDet,0,0.2,2.0,-1))->Draw("colz");
+ cpadstatusrms->cd(6);
+ ((TH2F *)calPad2.MakeHisto2DSmPl(k,5,&calDet,0,0.2,2.0,-1))->Draw("colz");
+ nbsm++;
}
}
- TCanvas *cpadstatusm = new TCanvas("cpadstatusm","cpadstatusm",50,50,600,800);
- cpadstatusm->Divide(3,2);
- cpadstatusm->cd(1);
- ((TH2F *)calPad1->MakeHisto2DSmPl(1,0,calDet,0,9.0,11.0,-1))->Draw("colz");
- cpadstatusm->cd(2);
- ((TH2F *)calPad1->MakeHisto2DSmPl(1,1,calDet,0,9.0,11.0,-1))->Draw("colz");
- cpadstatusm->cd(3);
- ((TH2F *)calPad1->MakeHisto2DSmPl(1,2,calDet,0,9.0,11.0,-1))->Draw("colz");
- cpadstatusm->cd(4);
- ((TH2F *)calPad1->MakeHisto2DSmPl(1,3,calDet,0,9.0,11.0,-1))->Draw("colz");
- cpadstatusm->cd(5);
- ((TH2F *)calPad1->MakeHisto2DSmPl(1,4,calDet,0,9.0,11.0,-1))->Draw("colz");
- cpadstatusm->cd(6);
- ((TH2F *)calPad1->MakeHisto2DSmPl(1,5,calDet,0,9.0,11.0,-1))->Draw("colz");
-
- TCanvas *cpadstatusrms = new TCanvas("cpadstatusrrms","cpadstatusrms",50,50,600,800);
- cpadstatusrms->Divide(3,2);
- cpadstatusrms->cd(1);
- ((TH2F *)calPad2->MakeHisto2DSmPl(1,0,calDet,0,0.2,2.0,-1))->Draw("colz");
- cpadstatusrms->cd(2);
- ((TH2F *)calPad2->MakeHisto2DSmPl(1,1,calDet,0,0.2,2.0,-1))->Draw("colz");
- cpadstatusrms->cd(3);
- ((TH2F *)calPad2->MakeHisto2DSmPl(1,2,calDet,0,0.2,2.0,-1))->Draw("colz");
- cpadstatusrms->cd(4);
- ((TH2F *)calPad2->MakeHisto2DSmPl(1,3,calDet,0,0.2,2.0,-1))->Draw("colz");
- cpadstatusrms->cd(5);
- ((TH2F *)calPad2->MakeHisto2DSmPl(1,4,calDet,0,0.2,2.0,-1))->Draw("colz");
- cpadstatusrms->cd(6);
- ((TH2F *)calPad2->MakeHisto2DSmPl(1,5,calDet,0,0.2,2.0,-1))->Draw("colz");
- }
}
+ printf("there is %d with Padstatus reference entries\n",nbsm);
+ if(nbsm==0) ErrorRefDataPadStatus = 1;
+
//Test reference data vdriftt0 DAQ
//***************************
Int_t ErrorRefDataVdriftT0DAQ = 0;
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/DAQData/VdriftT0", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainRefStorage())->Get("TRD/DAQData/VdriftT0", 8);
if(!entry) ErrorRefDataVdriftT0DAQ = 1;
else{
TProfile2D *histovdriftt0daq = (TProfile2D *) entry->GetObject();
AliTRDCalPad *calPad = 0x0;
Int_t ErrorGainPad = 0;
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/LocalGainFactor", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/LocalGainFactor", 8);
if(!entry) ErrorGainPad++;
else{
calPad = (AliTRDCalPad *) entry->GetObject();
Int_t ErrorVdriftPad = 0;
if(entry) delete entry;
if(calPad) delete calPad;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/LocalVdrift", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/LocalVdrift", 8);
if(!entry) ErrorVdriftPad++;
else{
calPad = (AliTRDCalPad *) entry->GetObject();
Int_t ErrorT0Pad = 0;
if(entry) delete entry;
if(calPad) delete calPad;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/LocalT0", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/LocalT0", 8);
if(!entry) ErrorT0Pad++;
else{
calPad = (AliTRDCalPad *) entry->GetObject();
//********
Int_t ErrorPRFWidthPad = 0;
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/PRFWidth", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/PRFWidth", 8);
if(!entry) ErrorPRFWidthPad++;
else{
AliTRDCalPad *calPadPrf = (AliTRDCalPad *) entry->GetObject();
//Padstatus
//********
Int_t ErrorPadStatusPad = 0;
+
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/PadStatus", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/PadStatus", 8);
if(!entry) ErrorPadStatusPad++;
else{
AliTRDCalPadStatus *calPadStatus = (AliTRDCalPadStatus *) entry->GetObject();
if(!calPadStatus) ErrorPadStatusPad++;
else{
- TCanvas *cpadstatus = new TCanvas("cpadstatus","cpadstatus",50,50,600,800);
- cpadstatus->Divide(3,2);
- cpadstatus->cd(1);
- ((TH2F *)calPadStatus->MakeHisto2DSmPl(1,0))->Draw("colz");
- cpadstatus->cd(2);
- ((TH2F *)calPadStatus->MakeHisto2DSmPl(1,1))->Draw("colz");
- cpadstatus->cd(3);
- ((TH2F *)calPadStatus->MakeHisto2DSmPl(1,2))->Draw("colz");
- cpadstatus->cd(4);
- ((TH2F *)calPadStatus->MakeHisto2DSmPl(1,3))->Draw("colz");
- cpadstatus->cd(5);
- ((TH2F *)calPadStatus->MakeHisto2DSmPl(1,4))->Draw("colz");
- cpadstatus->cd(6);
- ((TH2F *)calPadStatus->MakeHisto2DSmPl(1,5))->Draw("colz");
+ for(Int_t k = 0; k < 18; k++){
+
+ TString padstatus("PadStatus");
+ padstatus += k;
+
+ TCanvas *cpadstatus = new TCanvas((const char*)padstatus,(const char*)padstatus,50,50,600,800);
+ cpadstatus->Divide(3,2);
+ cpadstatus->cd(1);
+ ((TH2F *)calPadStatus->MakeHisto2DSmPl(k,0))->Draw("colz");
+ cpadstatus->cd(2);
+ ((TH2F *)calPadStatus->MakeHisto2DSmPl(k,1))->Draw("colz");
+ cpadstatus->cd(3);
+ ((TH2F *)calPadStatus->MakeHisto2DSmPl(k,2))->Draw("colz");
+ cpadstatus->cd(4);
+ ((TH2F *)calPadStatus->MakeHisto2DSmPl(k,3))->Draw("colz");
+ cpadstatus->cd(5);
+ ((TH2F *)calPadStatus->MakeHisto2DSmPl(k,4))->Draw("colz");
+ cpadstatus->cd(6);
+ ((TH2F *)calPadStatus->MakeHisto2DSmPl(k,5))->Draw("colz");
+ }
}
}
//******
Int_t ErrorGainDetector = 0;
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/ChamberGainFactor", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/ChamberGainFactor", 8);
if(!entry) ErrorGainDetector++;
else{
AliTRDCalDet *objectg = (AliTRDCalDet *) entry->GetObject();
//******
Int_t ErrorVdriftDetector = 0;
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/ChamberVdrift", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/ChamberVdrift", 8);
if(!entry) ErrorVdriftDetector++;
else{
AliTRDCalDet *objectv = (AliTRDCalDet *) entry->GetObject();
//******
Int_t ErrorT0Detector = 0;
if(entry) delete entry;
- entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/ChamberT0", 12);
+ entry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TRD/Calib/ChamberT0", 8);
if(!entry) ErrorT0Detector++;
else{
AliTRDCalDet *objectt = (AliTRDCalDet *) entry->GetObject();