// Checks the quality assurance.
// By comparing with reference data
// Skeleton for T0
+//---------------------------------------------
+//checkig without reference data:
+//for RAW QA all histograms should have approximatly the same
+//number of entries as RefPoint
+//for Rec Points checks
+// - amplitude measured by 2 methos
+// - online and offline T0 measurements
+// for ESD quality of reconstruction ( and measurements):
+// RMS of vertex and T0 less than 75ps
+//
+// Alla.Maevskaya@cern.ch
//...
// --- ROOT system ---
// Super-basic check on the QA histograms on the input list:
// look whether they are empty!
- cout<<" GetAliTaskName "<<AliQA::GetAliTaskName(index)<<" index "<<index<<endl;
-
Double_t test = 10.0 ;
-
+
Int_t count = 0 ;
Double_t nent[200], nentraw[200];
TString hname[200];
while ( (hdata = dynamic_cast<TH1 *>(next())) ) {
if (hdata) {
nent[count] = hdata->GetEntries();
- cname = hdata->GetName();
- hname[count] = cname;
+ cname = hdata->GetName();
+ hname[count] = cname;
AliDebug(10,Form("count %i %s -> %f",count, hname[count].Data(),nent[count])) ;
-
if(index==2){
if(count>23 && count<48)fhRecLEDAmp[count-24] = hdata;
if(count>47 && count<72)fhRecQTC[count-48] = hdata;
if(index==3){
- printf(" check ESD count %i \n",count);
if(count==0) fhESDMean = hdata;
if(count==1) fhESDVertex = hdata;
if(count>1){
test = 0.5; //upper limit value to set kWARNING flag for a task
}
else {
-
if(index == 2){
+ //rec points
if ( TMath::Abs(fhRecMean->GetMean() - fhOnlineMean->GetMean()) > 5)
AliWarning(Form("rec mean %f -> online mean %f",fhRecMean->GetMean(), fhOnlineMean->GetMean())) ;
Double_t meanLED, meanQTC;
if (index == 0) {
- Int_t realNumber = Int_t(nent[0]);
+ //raw data
+ Float_t realNumber = Float_t(nent[0]);
for (Int_t i=77; i<count; i++)
{
Double_t diff = TMath::Abs(nent[i]-realNumber);
if (diff > 0.1*realNumber )
- AliWarning(Form("Problem in Number of entried in hist %s is %f\n",hname[i].Data() , nent[i])) ;
+ AliWarning(Form("Problem in Number of entried in hist %s is %f number of RefPoints %f\n",hname[i].Data() , nent[i],realNumber )) ;
}
}
if (index == 3) {
+ //ESD
Double_t rmsMeanTime = fhESDMean->GetRMS();
if (rmsMeanTime>3)
AliWarning(Form("Mean time with bad resolution, RMS= %f",rmsMeanTime)) ;
void AliT0QADataMakerRec::InitESDs()
{
//create ESDs histograms in ESDs subdir
- printf(" !!!!! AliT0QADataMakerESD::InitESD() started\n");
+
TH1F *fhESDMean = new TH1F("hESDmean"," ESD mean",100,2400,2500);
Add2ESDsList(fhESDMean, 0) ;
TH1F * fhESDVertex = new TH1F("hESDvertex","EAD vertex",100,-50,50);
Add2ESDsList(fhESDVertex, 1) ;
- printf(" !!!!!! AliT0QADataMakerRec::InitESD() ended\n");
}
GetRawsData(0) -> Fill( allData[0][0]);
allData[0][0] = allData[0][0] - 7000;
if (type == 8) shift=76;
- if (type == 10) shift=0;
+ if (type == 7) shift=0;
for (Int_t ik = 0; ik<12; ik++){
for (Int_t iHt=0; iHt<5; iHt++){
}
- if(type == 10)
+ if(type == 7)
{
- GetRawsData(73)->Fill(allData[49][0]-allData[0][0]);
- GetRawsData(74)->Fill(allData[50][0]-allData[0][0]);
- GetRawsData(75)->Fill(allData[51][0]-allData[0][0]);
- GetRawsData(76)->Fill(allData[52][0]-allData[0][0]);
+ for (Int_t iHt=0; iHt<5; iHt++) {
+ GetRawsData(73)->Fill(allData[49][iHt]-allData[0][0]);
+ GetRawsData(74)->Fill(allData[50][iHt]-allData[0][0]);
+ GetRawsData(75)->Fill(allData[51][iHt]-allData[0][0]);
+ GetRawsData(76)->Fill(allData[52][iHt]-allData[0][0]);
+ }
}
if(type == 8)
{
- GetRawsData(149)->Fill(allData[49][0]-allData[0][0]);
- GetRawsData(150)->Fill(allData[50][0]-allData[0][0]);
- GetRawsData(151)->Fill(allData[51][0]-allData[0][0]);
- GetRawsData(152)->Fill(allData[52][0]-allData[0][0]);
- /* cout<<" and "<<allData[49][0]-allData[0][0]<<
+ for (Int_t iHt=0; iHt<5; iHt++) {
+ GetRawsData(149)->Fill(allData[49][iHt]-allData[0][0]);
+ GetRawsData(150)->Fill(allData[50][iHt]-allData[0][0]);
+ GetRawsData(151)->Fill(allData[51][iHt]-allData[0][0]);
+ GetRawsData(152)->Fill(allData[52][iHt]-allData[0][0]);
+ /* cout<<" and "<<allData[49][0]-allData[0][0]<<
" vertex "<<allData[50][0]-allData[0][0]<<
" ORA "<<allData[51][0]-allData[0][0]<<
" ORC "<<allData[52][0]-allData[0][0]<<endl;*/
-
- GetRawsData(153)->Fill(allData[53][0]-allData[54][0]);
- if(allData[55][0]) GetRawsData(154)->Fill(allData[53][0]-allData[54][0]);
- if(allData[55][0]) GetRawsData(155)->Fill(allData[53][0]-allData[54][0]);
-
+
+ GetRawsData(153)->Fill(allData[53][iHt]-allData[54][iHt]);
+ if(allData[55][iHt]) GetRawsData(154)->Fill(allData[53][iHt]-allData[54][iHt]);
+ if(allData[55][iHt]) GetRawsData(155)->Fill(allData[53][iHt]-allData[54][iHt]);
+ }
}
delete start;
}
{
//fills QA histos for clusters
- // printf(" !!!!! AliT0QADataMakerRec::MakeRecPoints() started\n");
AliT0RecPoint* frecpoints= new AliT0RecPoint ();
if (!frecpoints) {
AliError("Reconstruct Fill ESD >> no recpoints found");
}
GetRecPointsData(72) ->Fill(frecpoints->GetOnlineMean());
GetRecPointsData(73) ->Fill(frecpoints->GetMeanTime());
- // printf(" !!!!! AliT0QADataMakerRec::MakeRecPoints() end\n");
}
void AliT0QADataMakerRec::MakeESDs(AliESDEvent * esd)
{
//fills QA histos for ESD
- printf(" !!!!! AliT0QADataMakerRec::MakeESD() started\n");
GetESDsData(0) -> Fill(esd->GetT0());
GetESDsData(1)-> Fill(esd->GetT0zVertex());