X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDCalibTask.cxx;h=7215e996659650ad7d5bf28a1e9b9fec69e56cdd;hb=d69a6b4191b9e7f10737c95a585f0ced0eb98893;hp=39962c3f8b6714dc4e1d7f43795c062e001a6805;hpb=c11059187b0994a2d3657e18351bd071a52814b8;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDCalibTask.cxx b/TRD/AliTRDCalibTask.cxx index 39962c3f8b6..7215e996659 100644 --- a/TRD/AliTRDCalibTask.cxx +++ b/TRD/AliTRDCalibTask.cxx @@ -53,7 +53,7 @@ using namespace std; #include "AliESDVertex.h" #include "AliESDEvent.h" #include "AliESDfriend.h" -#include "AliESDCentrality.h" +#include "AliCentrality.h" #include "AliESDInputHandler.h" #include "AliESDtrack.h" #include "AliESDfriendTrack.h" @@ -91,6 +91,7 @@ ClassImp(AliTRDCalibTask) fListHist(0), fTRDCalibraFillHisto(0), fNEvents(0), + fNEventsInput(0), fNbTRDTrack(0), fNbTRDTrackOffline(0), fNbTRDTrackStandalone(0), @@ -133,10 +134,13 @@ ClassImp(AliTRDCalibTask) fNbMaxCluster(2), fOfflineTracks(kFALSE), fStandaloneTracks(kFALSE), + fFirstRunGain(-1), fVersionGainUsed(-1), fSubVersionGainUsed(-1), + fFirstRunGainLocal(-1), fVersionGainLocalUsed(-1), fSubVersionGainLocalUsed(-1), + fFirstRunVdrift(-1), fVersionVdriftUsed(-1), fSubVersionVdriftUsed(-1), fCalDetGain(0x0), @@ -174,6 +178,7 @@ AliTRDCalibTask::~AliTRDCalibTask() // Pointeur if(fNEvents) delete fNEvents; + if(fNEventsInput) delete fNEventsInput; if(fNbTRDTrack) delete fNbTRDTrack; if(fNbTRDTrackOffline) delete fNbTRDTrackOffline; if(fNbTRDTrackStandalone) delete fNbTRDTrackStandalone; @@ -275,6 +280,8 @@ void AliTRDCalibTask::UserCreateOutputObjects() if(fVector2d) fListHist->Add((TObject *) fTRDCalibraFillHisto->GetCalibraVector()); //calibra vector fNEvents = new TH1I("NEvents","NEvents", 2, 0, 2); fListHist->Add(fNEvents); + fNEventsInput = new TH1I("NEventsInput","NEventsInput", 2, 0, 2); + fListHist->Add(fNEventsInput); // absolute gain calibration even without AliESDfriend Int_t nBinsPt = 25; @@ -401,6 +408,8 @@ void AliTRDCalibTask::UserCreateOutputObjects() delete [] binLimLogPt; delete [] binLimPt; + PostData(1,fListHist); + //cout << "AliTRDCalibTask::UserCreateOutputObjects() OUT" << endl; } @@ -414,21 +423,20 @@ void AliTRDCalibTask::UserExec(Option_t *) //cout << "AliTRDCalibTask::Exec() IN" << endl; // Init Versions and subversions used - if((fVersionGainUsed==-1) || (fSubVersionGainUsed==-1) || (fVersionGainLocalUsed==-1) || (fSubVersionGainLocalUsed==-1) || (fVersionVdriftUsed==-1) || (fSubVersionVdriftUsed==-1)) { + if((fFirstRunGain==-1) || (fVersionGainUsed==-1) || (fSubVersionGainUsed==-1) || (fFirstRunGainLocal==-1) || (fVersionGainLocalUsed==-1) || (fSubVersionGainLocalUsed==-1) || (fFirstRunVdrift==-1) || (fVersionVdriftUsed==-1) || (fSubVersionVdriftUsed==-1)) { if(!SetVersionSubversion()) { - fVersionGainUsed=0; - fSubVersionGainUsed=0; - fVersionGainLocalUsed=0; - fSubVersionGainLocalUsed=0; - fVersionVdriftUsed=0; - fSubVersionVdriftUsed=0; + PostData(1, fListHist); + return; } } if(fCounter==0) { + fTRDCalibraFillHisto->SetFirstRunGain(fFirstRunGain); // Gain Used fTRDCalibraFillHisto->SetVersionGainUsed(fVersionGainUsed); // Gain Used fTRDCalibraFillHisto->SetSubVersionGainUsed(fSubVersionGainUsed); // Gain Used + fTRDCalibraFillHisto->SetFirstRunGainLocal(fFirstRunGainLocal); // Gain Used fTRDCalibraFillHisto->SetVersionGainLocalUsed(fVersionGainLocalUsed); // Gain Used fTRDCalibraFillHisto->SetSubVersionGainLocalUsed(fSubVersionGainLocalUsed); // Gain Used + fTRDCalibraFillHisto->SetFirstRunVdrift(fFirstRunVdrift); // Vdrift Used fTRDCalibraFillHisto->SetVersionVdriftUsed(fVersionVdriftUsed); // Vdrift Used fTRDCalibraFillHisto->SetSubVersionVdriftUsed(fSubVersionVdriftUsed); // Vdrift Used fTRDCalibraFillHisto->InitCalDet(); @@ -449,6 +457,8 @@ void AliTRDCalibTask::UserExec(Option_t *) //printf("Counter %d\n",fCounter); fCounter++; + fNEventsInput->Fill(1); + //cout << "maxEvent = " << fMaxEvent << endl; //if(fCounter%100==0) cout << "fCounter = " << fCounter << endl; if((fMaxEvent != 0) && (fMaxEvent < fCounter)) { @@ -538,7 +548,7 @@ void AliTRDCalibTask::UserExec(Option_t *) } if(fDebug > 0) { // Centrality - AliESDCentrality *esdCentrality = fESD->GetCentrality(); + AliCentrality *esdCentrality = fESD->GetCentrality(); Float_t centrality = esdCentrality->GetCentralityPercentile("V0M"); //Float_t centralityb = esdCentrality->GetCentralityPercentile("CL1"); fNbGoodTracks->Fill(nGoodParticles,centrality); @@ -584,6 +594,11 @@ void AliTRDCalibTask::UserExec(Option_t *) PostData(1, fListHist); return; } + + if(fESDfriend->TestSkipBit()) { + PostData(1, fListHist); + return; + } //printf("has friends\n"); @@ -1093,6 +1108,7 @@ void AliTRDCalibTask::AddTask(const AliTRDCalibTask * calibTask) { if(!listcalibTask) return; TH1I *nEvents = (TH1I *) listcalibTask->FindObject("NEvents"); + TH1I *nEventsInput = (TH1I *) listcalibTask->FindObject("NEventsInput"); TH2F *absoluteGain = (TH2F *) listcalibTask->FindObject("AbsoluteGain"); TH1F *trdTrack = (TH1F *) listcalibTask->FindObject("TRDTrack"); @@ -1128,6 +1144,7 @@ void AliTRDCalibTask::AddTask(const AliTRDCalibTask * calibTask) { // + TH1I *inEventsInput = (TH1I *) fListHist->FindObject("NEventsInput"); TH1I *inEvents = (TH1I *) fListHist->FindObject("NEvents"); TH2F *iabsoluteGain = (TH2F *) fListHist->FindObject("AbsoluteGain"); @@ -1164,6 +1181,18 @@ void AliTRDCalibTask::AddTask(const AliTRDCalibTask * calibTask) { // Add + + if(nEventsInput) { + if(inEventsInput) { + inEventsInput->Add(nEventsInput); + //printf("Add Events\n"); + } + else { + //printf("Create new Events\n"); + inEventsInput = new TH1I(*nEventsInput); + fListHist->Add(inEventsInput); + } + } if(nEvents) { if(inEvents) { @@ -1420,16 +1449,19 @@ Bool_t AliTRDCalibTask::SetVersionSubversion(){ if(os->GetString().Contains("TRD/Calib/ChamberGainFactor")){ // Get Old gain calibration AliCDBId *id=AliCDBId::MakeFromString(os->GetString()); + fFirstRunGain = id->GetFirstRun(); fVersionGainUsed = id->GetVersion(); fSubVersionGainUsed = id->GetSubVersion(); } else if(os->GetString().Contains("TRD/Calib/ChamberVdrift")){ // Get Old drift velocity calibration AliCDBId *id=AliCDBId::MakeFromString(os->GetString()); + fFirstRunVdrift = id->GetFirstRun(); fVersionVdriftUsed = id->GetVersion(); fSubVersionVdriftUsed = id->GetSubVersion(); } else if(os->GetString().Contains("TRD/Calib/LocalGainFactor")){ // Get Old drift velocity calibration AliCDBId *id=AliCDBId::MakeFromString(os->GetString()); + fFirstRunGainLocal = id->GetFirstRun(); fVersionGainLocalUsed = id->GetVersion(); fSubVersionGainLocalUsed = id->GetSubVersion(); } @@ -1438,7 +1470,15 @@ Bool_t AliTRDCalibTask::SetVersionSubversion(){ //printf("VersionGain %d, SubversionGain %d, VersionLocalGain %d, Subversionlocalgain %d, Versionvdrift %d, Subversionvdrift %d\n",fVersionGainUsed,fSubVersionGainUsed,fVersionGainLocalUsed,fSubVersionGainLocalUsed,fVersionVdriftUsed,fSubVersionVdriftUsed); // Check - if((fVersionGainUsed < 0) || (fVersionGainLocalUsed < 0) || (fSubVersionGainUsed < 0) || (fSubVersionGainLocalUsed < 0) || (fVersionVdriftUsed < 0) || (fSubVersionVdriftUsed < 0)) { + if((fFirstRunGain < 0) || + (fFirstRunGainLocal < 0) || + (fFirstRunVdrift < 0) || + (fVersionGainUsed < 0) || + (fVersionGainLocalUsed < 0) || + (fSubVersionGainUsed < 0) || + (fSubVersionGainLocalUsed < 0) || + (fVersionVdriftUsed < 0) || + (fSubVersionVdriftUsed < 0)) { AliError("No recent calibration found"); return kFALSE; }