ClassImp(AliGlobalQADataMaker)
//____________________________________________________________________________
-void AliGlobalQADataMaker::EndOfDetectorCycle(AliQA::TASKINDEX_t task, TObjArray * list)
+void AliGlobalQADataMaker::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArray ** list)
{
//Detector specific actions at end of cycle
// do the QA checking
- AliQAChecker::Instance()->Run(AliQA::kGLOBAL, task, list) ;
+ AliQAChecker::Instance()->Run(AliQAv1::kGLOBAL, task, list) ;
}
//____________________________________________________________________________
// This function books the histograms of *track*residuals*
// as a part of global QA
//------------------------------------------------------
- Char_t *name[]={
+ const Char_t *name[]={
"SPD1 residuals Y","SPD1 residuals Z",
"SPD2 residuals Y","SPD2 residuals Z",
"SDD1 residuals Y","SDD1 residuals Z",
//------------------------------------------------------
{// Cluster related QA
- Char_t *name[]={
+ const Char_t *name[]={
"Fraction of the assigned clusters in ITS",
"Fraction of the assigned clusters in TPC",
"Fraction of the assigned clusters in TRD"
}
{// Track related QA
- Char_t *name[]={
+ const Char_t *name[]={
"Track azimuthal distribution (rad)", // kTrk0
"Track pseudo-rapidity distribution", // kTrk1
"TPC: track momentum distribution (GeV)", // kTrk2
"TPC-ITS track-matching probability", // kTrk5
"TPC-TOF track-matching probability" // kTrk6
};
- Add2ESDsList(new TH1F(name[0],name[0],100,-0.02,6.30),kTrk0);
+ Add2ESDsList(new TH1F(name[0],name[0],100, 0.,TMath::TwoPi()),kTrk0);
Add2ESDsList(new TH1F(name[1],name[1],100,-2.00,2.00),kTrk1);
Add2ESDsList(new TH1F(name[2],name[2],50, 0.20,5.00),kTrk2);
Add2ESDsList(new TH1F(name[3],name[3],50, 0.20,5.00),kTrk3);
}
{// V0 related QA
- Char_t *name[]={
- "K0s mass (GeV)",
- "Lambda0 + Lambda0Bar mass (GeV)"
+ const Char_t *name[]={
+ "On-the-fly K0s mass (GeV)",
+ "Offline K0s mass (GeV)",
+ "On-the-fly Lambda0 + Lambda0Bar mass (GeV)",
+ "Offline Lambda0 + Lambda0Bar mass (GeV)"
};
- Add2ESDsList(new TH1F(name[0],name[0],50, 0.4477,0.5477),kV0s0);
- Add2ESDsList(new TH1F(name[1],name[1],50, 1.0657,1.1657),kV0s1);
+ Add2ESDsList(new TH1F(name[0],name[0],50, 0.4477,0.5477),kK0on);
+ Add2ESDsList(new TH1F(name[1],name[1],50, 0.4477,0.5477),kK0off);
+ Add2ESDsList(new TH1F(name[2],name[2],50, 1.0657,1.1657),kL0on);
+ Add2ESDsList(new TH1F(name[3],name[3],50, 1.0657,1.1657),kL0off);
}
{// PID related QA
- Char_t *name[]={
+ const Char_t *name[]={
"ITS: dEdx (ADC) for particles with momentum 0.4 - 0.5 (GeV)",
"TPC: dEdx (ADC) for particles with momentum 0.4 - 0.5 (GeV)",
"TOF: tracking - measured (ps)"
// This function fills the ESD QA histograms
// as a part of global QA
//-----------------------------------------------------------
+ // Check id histograms already created for this Event Specie
+ if ( ! GetESDsData(kClr0) )
+ InitESDs() ;
+
const AliESDEvent *esd=event;
Int_t ntrk=esd->GetNumberOfTracks() ;
if (track->IsOn(AliESDtrack::kTPCrefit)) {
Int_t n =track->GetTPCNcls();
Int_t nf=track->GetTPCNclsF(); // number of crossed TPC pad rows
- if (nf>0) GetESDsData(kClr1)->Fill(Float_t(n)/nf);
+ if (nf>0) {
+ Double_t val = n*1.0/nf;
+ GetESDsData(kClr1)->Fill(val);
+ }
}
if (track->IsOn(AliESDtrack::kTRDrefit)) {
if (TMath::Abs(y)<0.9) {
GetESDsData(kTrk2)->Fill(p);
if (track->IsOn(AliESDtrack::kITSrefit)) GetESDsData(kTrk3)->Fill(p);
- if (track->IsOn(AliESDtrack::kTOFout)) GetESDsData(kTrk4)->Fill(p);
+ //if (track->IsOn(AliESDtrack::kTOFout)) GetESDsData(kTrk4)->Fill(p);
+ if (track->GetTOFsignal()>0) GetESDsData(kTrk4)->Fill(p);
}
}
}
v0.ChangeMassHypothesis(kK0Short);
mass=v0.GetEffMass();
- GetESDsData(kV0s0)->Fill(mass);
+ if (v0.GetOnFlyStatus())
+ GetESDsData(kK0on)->Fill(mass);
+ else
+ GetESDsData(kK0off)->Fill(mass);
v0.ChangeMassHypothesis(kLambda0);
mass=v0.GetEffMass();
- GetESDsData(kV0s1)->Fill(mass);
+ if (v0.GetOnFlyStatus())
+ GetESDsData(kL0on)->Fill(mass);
+ else
+ GetESDsData(kL0off)->Fill(mass);
v0.ChangeMassHypothesis(kLambda0Bar);
mass=v0.GetEffMass();
- GetESDsData(kV0s1)->Fill(mass);
+ if (v0.GetOnFlyStatus())
+ GetESDsData(kL0on)->Fill(mass);
+ else
+ GetESDsData(kL0off)->Fill(mass);
}
}