#ifndef ALIANALYSISTASKTOFQAID_CXX
#define ALIANALYSISTASKTOFQAID_CXX
#include "TChain.h"
#include "TTree.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TProfile.h"
#include "TCanvas.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliVEvent.h"
#include "AliVTrack.h"
#include "AliESDEvent.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"
#include "AliESDInputHandler.h"
#include "AliMCEventHandler.h"
#include "AliESDpid.h"
#include "AliTOFPIDParams.h"
#include "AliCDBManager.h"
#include "AliTOFcalib.h"
#include "AliTOFT0maker.h"
#include "AliTOFT0v1.h"
#include "AliAnalysisTaskTOFqaID.h"
#include "AliAnalysisFilter.h"
#include "AliESDtrackCuts.h"
#include "AliLog.h"
#include "AliTOFRawStream.h"
#include "AliTOFGeometry.h"
ClassImp(AliAnalysisTaskTOFqaID)
AliAnalysisTaskTOFqaID::AliAnalysisTaskTOFqaID() :
fRunNumber(0),
fESD(0x0),
fMCevent(0x0),
fTrackFilter(0x0),
fVertex(0x0),
fESDpid(new AliESDpid()),
fTOFHeader(0x0),
fEnableAdvancedCheck(kFALSE),
fEnableChargeSplit(kFALSE),
fExpTimeBinWidth(24.4),
fExpTimeRangeMin(-25010.),
fExpTimeRangeMax(25010.),
fExpTimeSmallRangeMin(-5002.),
fExpTimeSmallRangeMax(5002.),
fnExpTimeBins(1),
fnExpTimeSmallBins(1),
fMyTimeZeroTOF(1e20),
fMyTimeZeroTOFsigma(1e20),
fMyTimeZeroTOFtracks(-1),
fIsMC(kFALSE),
fSelectedPdg(0),
fP(1e10),
fPt(1e10),
fEta(1e10),
fPhi(1e10),
fTPCOuterPhi(1e10),
fL(1e10),
fMatchingMomCut(0.0),
fMatchingEtaCut(1e10),
fTof(1e10),
fHlist(0x0),
fHlistTimeZero(0x0),
fHlistPID(0x0),
fHlistTRD(0x0),
fHlistTrigger(0x0)
{
for (Int_t j=0;j<3;j++ ) {
if (j<3) {
fT0[j]=0.0;
fNTOFtracks[j]=0;
}
fSigmaSpecie[j]=0.0;
fTrkExpTimes[j]=0.0;
fThExpTimes[j]=0.0;
}
}
AliAnalysisTaskTOFqaID::AliAnalysisTaskTOFqaID(const char *name) :
AliAnalysisTaskSE(name),
fRunNumber(0),
fESD(0x0),
fMCevent(0x0),
fTrackFilter(0x0),
fVertex(0x0),
fESDpid(new AliESDpid()),
fTOFHeader(0x0),
fEnableAdvancedCheck(kFALSE),
fEnableChargeSplit(kFALSE),
fExpTimeBinWidth(24.4),
fExpTimeRangeMin(-25010.),
fExpTimeRangeMax(25010.),
fExpTimeSmallRangeMin(-5002.),
fExpTimeSmallRangeMax(5002.),
fnExpTimeBins(1),
fnExpTimeSmallBins(1),
fMyTimeZeroTOF(1e20),
fMyTimeZeroTOFsigma(1e20),
fMyTimeZeroTOFtracks(-1),
fIsMC(kFALSE),
fSelectedPdg(0),
fP(1e10),
fPt(1e10),
fEta(1e10),
fPhi(1e10),
fTPCOuterPhi(1e10),
fL(1e10),
fMatchingMomCut(1.0),
fMatchingEtaCut(0.8),
fTof(1e10),
fHlist(0x0),
fHlistTimeZero(0x0),
fHlistPID(0x0),
fHlistTRD(0x0),
fHlistTrigger(0x0)
{
Info("AliAnalysisTaskTOFqaID","Calling Constructor");
for (Int_t j=0;j<5;j++ ) {
if (j<3){
fT0[j]=0.0;
fNTOFtracks[j]=0;
}
fSigmaSpecie[j]=0.0;
fTrkExpTimes[j]=0.0;
fThExpTimes[j]=0.0;
}
DefineInput(0, TChain::Class());
DefineOutput(1, TList::Class());
DefineOutput(2, TList::Class());
DefineOutput(3, TList::Class());
DefineOutput(4, TList::Class());
DefineOutput(5, TList::Class());
}
AliAnalysisTaskTOFqaID::AliAnalysisTaskTOFqaID(const AliAnalysisTaskTOFqaID& copy)
: AliAnalysisTaskSE(),
fRunNumber(copy.fRunNumber),
fESD(copy.fESD),
fMCevent(copy.fMCevent),
fTrackFilter(copy.fTrackFilter),
fVertex(copy.fVertex),
fESDpid(copy.fESDpid),
fTOFHeader(copy.fTOFHeader),
fEnableAdvancedCheck(copy.fEnableAdvancedCheck),
fEnableChargeSplit(copy.fEnableChargeSplit),
fExpTimeBinWidth(copy.fExpTimeBinWidth),
fExpTimeRangeMin(copy.fExpTimeRangeMin),
fExpTimeRangeMax(copy.fExpTimeRangeMax),
fExpTimeSmallRangeMin(copy.fExpTimeSmallRangeMin),
fExpTimeSmallRangeMax(copy.fExpTimeSmallRangeMax),
fnExpTimeBins(copy.fnExpTimeBins),
fnExpTimeSmallBins(copy.fnExpTimeSmallBins),
fMyTimeZeroTOF(copy.fMyTimeZeroTOF),
fMyTimeZeroTOFsigma(copy.fMyTimeZeroTOFsigma),
fMyTimeZeroTOFtracks(copy.fMyTimeZeroTOFtracks),
fIsMC(copy.fIsMC),
fSelectedPdg(copy.fSelectedPdg),
fP(copy.fP),
fPt(copy.fPt),
fEta(copy.fEta),
fPhi(copy.fPhi),
fTPCOuterPhi(copy.fTPCOuterPhi),
fL(copy.fL),
fMatchingMomCut(copy.fMatchingMomCut),
fMatchingEtaCut(copy.fMatchingEtaCut),
fTof(copy.fTof),
fHlist(copy.fHlist),
fHlistTimeZero(copy.fHlistTimeZero),
fHlistPID(copy.fHlistPID),
fHlistTRD(copy.fHlistTRD),
fHlistTrigger(copy.fHlistTrigger)
{
for (Int_t j=0;j<5;j++ ) {
if (j<3) {
fT0[j]=copy.fT0[j];
fNTOFtracks[j]=copy.fNTOFtracks[j];
}
fSigmaSpecie[j]=copy.fSigmaSpecie[j];
fTrkExpTimes[j]=copy.fTrkExpTimes[j];
fThExpTimes[j]=copy.fThExpTimes[j];
}
}
AliAnalysisTaskTOFqaID& AliAnalysisTaskTOFqaID::operator=(const AliAnalysisTaskTOFqaID& copy)
{
if (this!=©) {
AliAnalysisTaskSE::operator=(copy) ;
fRunNumber=copy.fRunNumber;
fESD=copy.fESD;
fMCevent=copy.fMCevent;
fTrackFilter=copy.fTrackFilter;
fVertex=copy.fVertex;
fESDpid=copy.fESDpid;
fTOFHeader=copy.fTOFHeader;
fEnableAdvancedCheck=copy.fEnableAdvancedCheck;
fEnableChargeSplit=copy.fEnableChargeSplit;
fExpTimeBinWidth=copy.fExpTimeBinWidth;
fExpTimeRangeMin=copy.fExpTimeRangeMin;
fExpTimeRangeMax=copy.fExpTimeRangeMax;
fExpTimeSmallRangeMin=copy.fExpTimeSmallRangeMin;
fExpTimeSmallRangeMax=copy.fExpTimeSmallRangeMax;
fnExpTimeBins=copy.fnExpTimeBins;
fnExpTimeSmallBins=copy.fnExpTimeSmallBins;
fMyTimeZeroTOF=copy.fMyTimeZeroTOF;
fMyTimeZeroTOFsigma=copy.fMyTimeZeroTOFsigma;
fMyTimeZeroTOFtracks=copy.fMyTimeZeroTOFtracks;
for (Int_t j=0;j<5;j++ ) {
if (j<3) {
fT0[j]=copy.fT0[j];
fNTOFtracks[j]=copy.fNTOFtracks[j];
}
fSigmaSpecie[j]=copy.fSigmaSpecie[j];
fTrkExpTimes[j]=copy.fTrkExpTimes[j];
fThExpTimes[j]=copy.fThExpTimes[j];
}
fIsMC=copy.fIsMC;
fSelectedPdg=copy.fSelectedPdg;
fP=copy.fP;
fPt=copy.fPt;
fEta=copy.fEta;
fPhi=copy.fPhi;
fTPCOuterPhi=copy.fTPCOuterPhi;
fL=copy.fL;
fMatchingMomCut=copy.fMatchingMomCut;
fMatchingEtaCut=copy.fMatchingEtaCut;
fTof=copy.fTof;
fHlist=copy.fHlist;
fHlistTimeZero=copy.fHlistTimeZero;
fHlistPID=copy.fHlistPID;
fHlistTRD=copy.fHlistTRD;
fHlistTrigger=copy.fHlistTrigger;
}
return *this;
}
AliAnalysisTaskTOFqaID::~AliAnalysisTaskTOFqaID() {
Info("~AliAnalysisTaskTOFqaID","Calling Destructor");
if (fESDpid) delete fESDpid;
if (fTOFHeader) delete fTOFHeader;
if (fVertex) delete fVertex;
if (fTrackFilter) delete fTrackFilter;
if (AliAnalysisManager::GetAnalysisManager()->IsProofMode()) return;
if (fHlist) {
delete fHlist;
fHlist = 0;
}
if (fHlistTimeZero) {
delete fHlistTimeZero;
fHlistTimeZero = 0;
}
if (fHlistPID){
delete fHlistPID;
fHlistPID = 0;
}
if (fHlistTRD){
delete fHlistTRD;
fHlistTRD = 0;
}
if (fHlistTrigger){
delete fHlistTrigger;
fHlistTrigger = 0;
}
}
void AliAnalysisTaskTOFqaID::UserCreateOutputObjects()
{
AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
if (!man) AliFatal("Analysis manager needed");
AliInputEventHandler *inputHandler=dynamic_cast<AliInputEventHandler*>(man->GetInputEventHandler());
if (!inputHandler) AliFatal("Input handler needed");
fESDpid=(AliESDpid*)inputHandler->GetPIDResponse();
if (!fESDpid) AliError("PIDResponse object was not created");
Info("CreateOutputObjects","CreateOutputObjects (TList) of task %s", GetName());
OpenFile(1);
if (!fHlist) fHlist = new TList();
fHlist->SetOwner(kTRUE);
fHlist->SetName("base");
if (!fHlistTimeZero) fHlistTimeZero = new TList();
fHlistTimeZero->SetOwner(kTRUE);
fHlistTimeZero->SetName("startTime");
if (!fHlistPID) fHlistPID = new TList();
fHlistPID->SetOwner(kTRUE);
fHlistPID->SetName("pid");
if (!fHlistTRD) fHlistTRD = new TList();
fHlistTRD->SetOwner(kTRUE);
fHlistTRD->SetName("TRD");
if (!fHlistTrigger) fHlistTrigger = new TList();
fHlistTrigger->SetOwner(kTRUE);
fHlistTrigger->SetName("trigger");
if (fExpTimeRangeMax<fExpTimeRangeMin) {
SetExpTimeHistoRange(-25010.,25010.);
}
fnExpTimeBins = TMath::Nint((fExpTimeRangeMax - fExpTimeRangeMin)/fExpTimeBinWidth);
fExpTimeRangeMax=fExpTimeRangeMin+fnExpTimeBins*fExpTimeBinWidth;
if (fExpTimeSmallRangeMax<fExpTimeSmallRangeMin) {
SetExpTimeHistoSmallRange(-5002.,5002.);
}
fnExpTimeSmallBins = TMath::Nint((fExpTimeSmallRangeMax - fExpTimeSmallRangeMin)/fExpTimeBinWidth);
fExpTimeSmallRangeMax=fExpTimeSmallRangeMin+fnExpTimeSmallBins*fExpTimeBinWidth;
AddStartTimeHisto(fHlistTimeZero,"");
if (fEnableChargeSplit) {
AddTofBaseHisto(fHlist, 1, "");
AddTofBaseHisto(fHlist, -1, "");
} else {
AddTofBaseHisto(fHlist, 0, "");
}
if (fEnableChargeSplit) {
AddMatchingEffHisto(fHlist, 1, "");
AddMatchingEffHisto(fHlist, -1, "");
} else {
AddMatchingEffHisto(fHlist, 0, "");
}
if (fEnableChargeSplit) {
AddPidHisto(fHlistPID, 1, "");
AddPidHisto(fHlistPID, -1, "");
} else {
AddPidHisto(fHlistPID, 0, "");
}
if (fEnableAdvancedCheck) {
AddTrdHisto();
}
AddTofTrgHisto("");
PostData(1, fHlist);
PostData(2, fHlistTimeZero);
PostData(3, fHlistPID);
PostData(4, fHlistTRD);
PostData(5, fHlistTrigger);
}
void AliAnalysisTaskTOFqaID::UserExec(Option_t *)
{
fESD=(AliESDEvent*)InputEvent();
if (!fESD) {
AliError("fESD event not available");
return;
}
if (!fESDpid) {
AliError("PID object fESDpid not available");
return;
}
AliPIDResponse::EStartTimeType_t startTimeMethodDefault = AliPIDResponse::kBest_T0;
if (fESDpid->GetTOFPIDParams()) {
startTimeMethodDefault = ((AliTOFPIDParams *)fESDpid->GetTOFPIDParams())->GetStartTimeMethod();
}
if (fIsMC) {
AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
if (!mcH) {
AliError("Cannot get MCeventHandler");
return;
} else {
fMCevent = (AliMCEvent *) mcH->MCEvent();
if (!fMCevent) {
AliError("Trying to retrieve an invalid MC event.");
return;
}
}
}
Int_t runNb = fESD->GetRunNumber();
if (runNb>0) fRunNumber = runNb;
for (Int_t j=0;j<3;j++){fNTOFtracks[j]=0;}
if (!IsEventSelected(fESD)) return;
fESDpid->SetTOFResponse(fESD,AliESDpid::kTOF_T0);
AliDebug(3, Form("Momentum cut for eta and phi distributions set: Pt>%3.2f", fMatchingMomCut));
if (!fTrackFilter){
AliInfo("No track filter found, skipping the track loop");
return;
}
for (Int_t iTracks = 0; iTracks < fESD->GetNumberOfTracks(); iTracks++) {
AliESDtrack* track = fESD->GetTrack(iTracks);
if (!track) {
AliInfo(Form("Cannot receive track %d", iTracks));
continue;
}
if (!fTrackFilter->IsSelected(track)) continue;
if ( fIsMC &&
(!SelectMCspecies(fMCevent, track))) {
AliDebug(4, Form("MC tracks selection: Track=%i label=%i Not Accepted", iTracks, track->GetLabel()));
continue;
}
fEta=track->Eta();
if (TMath::Abs(fEta)>fMatchingEtaCut) continue;
fP = track->P();
fPt = track->Pt();
fPhi = track->Phi()*TMath::RadToDeg();
fTPCOuterPhi = GetPhiAtTPCouterRadius(track);
fL = track->GetIntegratedLength();
track->GetIntegratedTimes(fTrkExpTimes);
Int_t charge = 0;
if (fEnableChargeSplit) charge = track->Charge();
FillPrimaryTrkHisto(charge,"");
if (IsTPCTOFMatched(track)) {
fTof=track->GetTOFsignal()*1E-3;
fNTOFtracks[0]++;
if (charge>0) fNTOFtracks[1]++;
if (charge<0) fNTOFtracks[2]++;
FillTofBaseHisto(track, charge,"");
FillMatchedTrkHisto(charge,"");
FillPidHisto(track, charge, "");
}
if (fEnableAdvancedCheck) FillTrdHisto(track, charge);
}
FillStartTimeHisto("");
if (fEnableChargeSplit) {
((TH1F*)fHlist->FindObject("hTOFmulti_pos"))->Fill(fNTOFtracks[1]);
((TH1F*)fHlist->FindObject("hTOFmulti_neg"))->Fill(fNTOFtracks[2]);
} else {
((TH1F*)fHlist->FindObject("hTOFmulti_all"))->Fill(fNTOFtracks[0]);
}
fTOFHeader=(AliTOFHeader*)fESD->GetTOFHeader();
if (!fTOFHeader) {
AliWarning("Cannot get TOF header: no TOF trigger info available");
} else {
FillTofTrgHisto("");
}
fESDpid->SetTOFResponse(fESD,startTimeMethodDefault);
PostData(1, fHlist);
PostData(2, fHlistTimeZero);
PostData(3, fHlistPID);
PostData(4, fHlistTRD);
PostData(5, fHlistTrigger);
}
void AliAnalysisTaskTOFqaID::Terminate(Option_t *)
{
fHlist = dynamic_cast<TList*> (GetOutputData(1));
if (!fHlist) {
AliError("Base histograms list not available");
return;
}
ComputeMatchingEfficiency(fHlist, "pt");
ComputeMatchingEfficiency(fHlist, "eta");
ComputeMatchingEfficiency(fHlist, "phi");
PostData(1, fHlist);
}
Int_t AliAnalysisTaskTOFqaID::GetStripIndex(const Int_t * in)
{
Int_t nStripA = AliTOFGeometry::NStripA();
Int_t nStripB = AliTOFGeometry::NStripB();
Int_t nStripC = AliTOFGeometry::NStripC();
Int_t iplate = in[1];
Int_t istrip = in[2];
Int_t stripOffset = 0;
switch (iplate) {
case 0:
stripOffset = 0;
break;
case 1:
stripOffset = nStripC;
break;
case 2:
stripOffset = nStripC+nStripB;
break;
case 3:
stripOffset = nStripC+nStripB+nStripA;
break;
case 4:
stripOffset = nStripC+nStripB+nStripA+nStripB;
break;
default:
stripOffset=-1;
break;
};
if (stripOffset<0 || stripOffset>92) return -1;
else
return (stripOffset+istrip);
}
Double_t AliAnalysisTaskTOFqaID::GetPhiAtTPCouterRadius(AliESDtrack * track)
{
if (!track) return 1e10;
Double_t tpcoutcoord[3]={0.,0.,0.};
track->GetOuterXYZ(tpcoutcoord);
Double_t phiOuterTPC=TMath::ATan2(tpcoutcoord[1],tpcoutcoord[0])*TMath::RadToDeg();
if (phiOuterTPC<0)
phiOuterTPC+= (2*TMath::Pi()*TMath::RadToDeg());
return phiOuterTPC;
}
Bool_t AliAnalysisTaskTOFqaID::IsEventSelected(AliESDEvent * event)
{
if (!event) {
AliError("Invalid ESD event");
return kFALSE;
}
fVertex = (AliESDVertex*) event->GetPrimaryVertexTracks();
if(fVertex->GetNContributors()<1) {
fVertex = (AliESDVertex*) event->GetPrimaryVertexSPD();
if(fVertex->GetNContributors()<1) fVertex = 0x0;
}
if (!fVertex) return kFALSE;
if (TMath::Abs(fVertex->GetZ())<10.0) return kTRUE;
else return kFALSE;
}
Bool_t AliAnalysisTaskTOFqaID::IsTPCTOFMatched(AliESDtrack * track)
{
if (!track){
AliWarning("Invalid track object");
return kFALSE;
}
if ( (track->IsOn(AliESDtrack::kTOFout)) &&
(track->IsOn(AliESDtrack::kTIME)) &&
(track->IsOn(AliESDtrack::kTPCout)) )
return kTRUE;
else
return kFALSE;
}
Bool_t AliAnalysisTaskTOFqaID::IsInTRD(AliESDtrack * track)
{
if (!track){
AliWarning("Invalid track object");
return kFALSE;
}
if ( track->IsOn(AliESDtrack::kTPCout)
&& track->IsOn(AliESDtrack::kTRDout) )
return kTRUE;
else
return kFALSE;
}
void AliAnalysisTaskTOFqaID::FillStartTimeMaskHisto(TString suffix)
{
for (Int_t iTracks = 0; iTracks < fESD->GetNumberOfTracks(); iTracks++) {
AliESDtrack* track = fESD->GetTrack(iTracks);
if (!track) {
AliInfo(Form("Cannot receive track %d", iTracks));
continue;
}
if (fTrackFilter){
if(!fTrackFilter->IsSelected(track)) continue;
}
else{
AliInfo("No track filter found, skipping the track loop");
break;
}
if (TMath::Abs(track->Eta())>fMatchingEtaCut) continue;
Int_t StartTimeBit = fESDpid->GetTOFResponse().GetStartTimeMask(track->P());
((TH2F*)fHlistTimeZero->FindObject(Form("hStartTimeMask%s",suffix.Data())))->Fill(track->P(),StartTimeBit);
if ( (track->IsOn(AliESDtrack::kTOFout)) &&
(track->IsOn(AliESDtrack::kTIME)) &&
(track->IsOn(AliESDtrack::kTPCout)) ) {
((TH2F*)fHlistTimeZero->FindObject(Form("hStartTimeMaskMatched%s",suffix.Data())))->Fill(track->P(),StartTimeBit);
}
}
return;
}
Bool_t AliAnalysisTaskTOFqaID::ComputeTimeZeroByTOF1GeV()
{
AliTOFT0v1 *fTOFT0v1 = new AliTOFT0v1(fESDpid);
fTOFT0v1->Init(fESD);
fTOFT0v1->DefineT0("all", 0.95, 1.05);
fMyTimeZeroTOF = -1000. * fTOFT0v1->GetResult(0);
fMyTimeZeroTOFsigma = 1000. * fTOFT0v1->GetResult(1);
fMyTimeZeroTOFtracks = fTOFT0v1->GetResult(3);
Bool_t hasTimeZeroTOF = kFALSE;
if (fMyTimeZeroTOFsigma < 250.)
hasTimeZeroTOF = kTRUE;
return hasTimeZeroTOF;
}
TString AliAnalysisTaskTOFqaID::GetSpeciesName(Int_t absPdgCode)
{
TString name;
switch (absPdgCode){
case 11:
name = "electron";
break;
case 13:
name = "muon";
break;
case 211:
name = "pion";
break;
case 321:
name = "kaon";
break;
case 2212:
name = "proton";
break;
default:
name = "noPID";
break;
}
return name.Data();
}
Bool_t AliAnalysisTaskTOFqaID::SelectMCspecies(AliMCEvent * ev, AliESDtrack * track)
{
if ((!ev) || (!track)) {
AliError("SelectMCspecies - Invalid object set as argument");
return kFALSE;
}
if (fSelectedPdg==0) return kTRUE;
Long_t label = track->GetLabel();
if (label<0) return kFALSE;
Long_t nMC = ev->GetNumberOfTracks();
if (label>= nMC) {
AliWarning(Form("Stack overflow: track label = %li -- stack maximum = %li", label, nMC));
return kFALSE;
}
AliMCParticle *mcPart = (AliMCParticle *)ev->GetTrack(label);
if (!mcPart) {
AliWarning(Form("Stack discontinuity: label %li refers to a NULL object", label));
return kFALSE;
}
Int_t pdgCode = mcPart->PdgCode();
if (!(TMath::Abs(pdgCode)==fSelectedPdg))
return kFALSE;
else
return kTRUE;
}
Bool_t AliAnalysisTaskTOFqaID::ComputeMatchingEfficiency(TList* list, TString variable)
{
if (!list) return kFALSE;
TString matchedName, primaryName, xAxisTitle;
if (variable.Contains("pt")) {
matchedName = "hTOFmatchedESDPt";
primaryName = "hESDprimaryTrackPt";
xAxisTitle = "p_{T} (GeV/c)";
}
if (variable.Contains("eta")) {
matchedName = "hTOFmatchedESDeta";
primaryName = "hTOFprimaryESDeta";
xAxisTitle = "#eta";
}
if (variable.Contains("phi")) {
matchedName = "hTOFmatchedESDphi";
primaryName = "hTOFprimaryESDphi";
xAxisTitle = "#phi_vtx (deg)";
}
TH1F*hDummy = ((TH1F*)list->FindObject(matchedName.Data()));
if (!hDummy) return 0;
TH1F*hMatchingEff = (TH1F*) hDummy->Clone("hMatchingEff");
hMatchingEff->SetNameTitle(Form("hMatchingEff_%s", variable.Data()),Form("Matching efficiency vs %s", variable.Data()));
hMatchingEff->Divide((TH1F*) list->FindObject(primaryName.Data()));
hMatchingEff->GetXaxis()->SetTitle(xAxisTitle.Data());
hMatchingEff->GetYaxis()->SetRangeUser(0.0,1.0);
hMatchingEff->GetYaxis()->SetTitle("#epsilon_{match}");
list->AddLast(hMatchingEff);
return 1;
}
void AliAnalysisTaskTOFqaID::HistogramMakeUp(TH1* hist, Color_t color, Int_t markerStyle, TString drawOpt, TString newName, TString newTitle, TString xTitle, TString yTitle)
{
if (!hist) return;
if (!newName.IsNull()) hist->SetName(newName.Data());
if (!newTitle.IsNull()) hist->SetTitle(newTitle.Data());
if (!xTitle.IsNull()) hist->GetXaxis()->SetTitle(xTitle.Data());
if (!yTitle.IsNull()) hist->GetYaxis()->SetTitle(yTitle.Data());
hist->SetLineColor(color);
hist->SetMarkerColor(color);
hist->SetMarkerStyle(markerStyle);
hist->SetMarkerSize(0.7);
hist->SetDrawOption(drawOpt.Data());
return;
}
void AliAnalysisTaskTOFqaID::AddTofBaseHisto(TList *list, Int_t charge, TString suffix)
{
if (!list){
AliError("Invalid list passed as argument.");
return;
}
TString cLabel;
if (charge == 0) cLabel.Form("all");
else
if (charge<0) cLabel.Form("neg");
else
if (charge>0) cLabel.Form("pos");
TH1I* hTOFmulti = new TH1I(Form("hTOFmulti%s_%s",suffix.Data(), cLabel.Data()), Form("%s matched trk per event (|#eta|#leq%3.2f, p_{T}#geq0.3 GeV/c)", cLabel.Data(), fMatchingEtaCut), 100, 0, 100);
HistogramMakeUp(hTOFmulti, ((charge>0)? kRed : kBlue+2), 1, "E1", "","", "N","events");
list->AddLast(hTOFmulti);
TH1F* hTOFtime = new TH1F(Form("hTime%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk TOF signal", cLabel.Data()), 250, 0., 610. ) ;
HistogramMakeUp(hTOFtime,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "t (ns)","tracks");
list->AddLast(hTOFtime);
TH1F* hTOFrawTime = new TH1F(Form("hRawTime%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk TOF raw signal", cLabel.Data()), 250, 0., 610. ) ;
HistogramMakeUp(hTOFrawTime,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "t_{raw} (ns)","tracks");
list->AddLast(hTOFrawTime);
TH1F* hTOFtot = new TH1F(Form("hTot%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk ToT", cLabel.Data()), 50, 0., 50. ) ;
HistogramMakeUp(hTOFtot,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "ToT (ns)","tracks");
list->AddLast(hTOFtot);
TH1F* hMatchedL = new TH1F(Form("hMatchedL%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk lenght", cLabel.Data()), 900, -100., 800) ;
HistogramMakeUp(hMatchedL,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "L (cm)","tracks");
list->AddLast(hMatchedL);
const Int_t nBinsPt = 300;
Double_t xBins[nBinsPt+1];
for (Int_t j=0;j<nBinsPt+1; j++) {
if (j<200) xBins[j] = j*0.025;
else xBins[j] = 5.0 + (j-200)*0.050;
}
TH2F* hMatchedDxVsPt = new TH2F(Form("hMatchedDxVsPt%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dx vs.p_{T}", cLabel.Data()), nBinsPt, xBins, 200, -10., 10.);
HistogramMakeUp(hMatchedDxVsPt,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "p_{T} (GeV/c)","dx (cm)");
list->AddLast(hMatchedDxVsPt);
TH2F* hMatchedDzVsStrip = new TH2F(Form("hMatchedDzVsStrip%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dz vs. strip (#eta)", cLabel.Data()), 92, 0., 92., 200, -10., 10.) ;
HistogramMakeUp(hMatchedDzVsStrip,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "strip index","dz (cm)");
list->AddLast(hMatchedDzVsStrip) ;
TProfile *hMatchedDxVsCh = new TProfile(Form("hMatchedDxVsCh%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dx vs. channel", cLabel.Data()), 157248., 0.,157248.);
HistogramMakeUp(hMatchedDxVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel index","dx (cm)");
list->AddLast(hMatchedDxVsCh);
TProfile *hMatchedDzVsCh = new TProfile(Form("hMatchedDzVsCh%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk dz vs. channel", cLabel.Data()), 157248., 0.,157248.);
HistogramMakeUp(hMatchedDzVsCh,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "channel index","dz (cm)");
list->AddLast(hMatchedDzVsCh);
return;
}
void AliAnalysisTaskTOFqaID::AddMatchingEffHisto(TList *list, Int_t charge, TString suffix)
{
if (!list){
AliError("Invalid list passed as argument.");
return;
}
TString cLabel;
if (charge == 0) cLabel.Form("all");
else
if (charge<0) cLabel.Form("neg");
else
if (charge>0) cLabel.Form("pos");
const Int_t nBinsX = 300;
Double_t xBins[nBinsX+1];
for (Int_t j=0;j<nBinsX+1; j++) {
if (j<200) xBins[j] = j*0.025;
else xBins[j] = 5.0 + (j-200)*0.050;
}
TH1F* hMatchedP = new TH1F(Form("hMatchedP%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk p", cLabel.Data()), nBinsX, xBins);
HistogramMakeUp(hMatchedP,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "p (GeV/c)","tracks");
list->AddLast(hMatchedP) ;
TH1F* hMatchedPt = new TH1F(Form("hMatchedPt%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk p_{T}", cLabel.Data()), nBinsX, xBins);
HistogramMakeUp(hMatchedPt,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "p_{T} (GeV/c)","tracks");
list->AddLast(hMatchedPt) ;
TH1F* hMatchedEta = new TH1F(Form("hMatchedEta%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk #eta", cLabel.Data()), 200, -1., 1.) ;
HistogramMakeUp(hMatchedEta,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "#eta","tracks");
list->AddLast(hMatchedEta) ;
TH1F* hMatchedPhi = new TH1F(Form("hMatchedPhi%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk #phi_{vtx}", cLabel.Data()), 72, 0., 360.) ;
HistogramMakeUp(hMatchedPhi,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "#phi_{vtx} (deg)","tracks");
list->AddLast(hMatchedPhi) ;
TH2F* hMatchedPtVsOutPhi = new TH2F(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk p_{T} vs. #phi_{TPC out}", cLabel.Data()), 72, 0.0, 360.0, nBinsX, xBins);
HistogramMakeUp(hMatchedPtVsOutPhi,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "#phi_{TPC out} (deg)","p_{T} (GeV/c)");
list->AddLast(hMatchedPtVsOutPhi) ;
TH1F* hPrimaryP = new TH1F(Form("hPrimaryP%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk p", cLabel.Data()), nBinsX, xBins);
HistogramMakeUp(hPrimaryP,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "p (GeV/c)","tracks");
list->AddLast(hPrimaryP) ;
TH1F* hPrimaryPt = new TH1F(Form("hPrimaryPt%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk p_{T}", cLabel.Data()), nBinsX, xBins);
HistogramMakeUp(hPrimaryPt,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "p_{T} (GeV/c)","tracks");
list->AddLast(hPrimaryPt) ;
TH1F* hPrimaryEta = new TH1F(Form("hPrimaryEta%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk #eta", cLabel.Data()), 200, -1., 1.) ;
HistogramMakeUp(hPrimaryEta,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "#eta","tracks");
list->AddLast(hPrimaryEta) ;
TH1F* hPrimaryPhi = new TH1F(Form("hPrimaryPhi%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk #phi_{vtx}", cLabel.Data()), 72, 0., 360.) ;
HistogramMakeUp(hPrimaryPhi,((charge>0)? kRed+2 : kBlue+2), 1, "E1", "","", "#phi_{vtx} (deg)","tracks");
list->AddLast(hPrimaryPhi) ;
TH2F* hPrimaryPtVsOutPhi = new TH2F(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk p_{T} vs. #phi_{TPC out}", cLabel.Data()), 72, 0.0, 360.0, nBinsX, xBins);
HistogramMakeUp(hPrimaryPtVsOutPhi,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "#phi_{TPC out} (deg)","p_{T} (GeV/c)");
list->AddLast(hPrimaryPtVsOutPhi) ;
return;
}
void AliAnalysisTaskTOFqaID::AddPidHisto(TList *list, Int_t charge, TString suffix)
{
if (!list){
AliError("Invalid list passed as argument.");
return;
}
TString cLabel;
if (charge == 0) cLabel.Form("all");
else
if (charge<0) cLabel.Form("neg");
else
if (charge>0) cLabel.Form("pos");
const Int_t nBinsX = 300;
Double_t xBins[nBinsX+1];
for (Int_t j=0;j<nBinsX+1; j++) {
if (j<200) xBins[j] = j*0.025;
else xBins[j] = 5.0 + (j-200)*0.050;
}
TH2F* hMatchedBetaVsP = new TH2F(Form("hMatchedBetaVsP%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched trk #beta vs. p", cLabel.Data()), nBinsX, xBins, 150, 0., 1.5) ;
HistogramMakeUp(hMatchedBetaVsP,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","", "p (GeV/c)","#beta");
list->AddLast(hMatchedBetaVsP);
TH1F* hMatchedMass= new TH1F(Form("hMatchedMass%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched p.le M", cLabel.Data()), 500, 0., 5. );
HistogramMakeUp(hMatchedMass,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "M (GeV/c^{2})","entries");
list->AddLast(hMatchedMass);
TH1F* hMatchedMass2= new TH1F(Form("hMatchedMass2%s_%s",suffix.Data(),cLabel.Data()), Form("%s matched p.le M^{2}", cLabel.Data()), 500, 0., 10. );
HistogramMakeUp(hMatchedMass2,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "M^{2} (GeV^{2}/c^{4})","entries");
list->AddLast(hMatchedMass2);
TH2F* hExpTimePiVsStrip = new TH2F(Form("hExpTimePiVsStrip%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{#pi,exp} vs strip",cLabel.Data()), 92, 0, 92, fnExpTimeSmallBins, fExpTimeSmallRangeMin, fExpTimeSmallRangeMax) ;
HistogramMakeUp(hExpTimePiVsStrip,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "strip (#eta)","t_{TOF}-t_{#pi,exp} [ps]");
list->AddLast(hExpTimePiVsStrip);
TH2F* hExpTimePiT0Sub1GeV = new TH2F(Form("hExpTimePiT0Sub1GeV%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk (0.95#leq p_{T}#leq 1.05 GeV/c) t_{TOF}-t_{#pi,exp}-t_{0}^{TOF}",cLabel.Data()), 500, 0., 500., fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimePiT0Sub1GeV,((charge>0)? kRed+2 : kBlue+2), 1, "colz", "","","n. tracks used for t_{0}^{TOF}","t_{TOF}-t_{#pi,exp}-t_{0}^{TOF}");
list->AddLast(hExpTimePiT0Sub1GeV) ;
TH1F* hExpTimePiFillSub = new TH1F(Form("hExpTimePiFillSub%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk t_{TOF}-t_{#pi,exp}-t_{0,fill}",cLabel.Data()), fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimePiFillSub,((charge>0)? kRed+2 : kBlue+2), 1, "", "","","t_{TOF}-t_{#pi,exp} -t_{0,fill} [ps]","entries");
list->AddLast(hExpTimePiFillSub) ;
TH1F* hExpTimePi = new TH1F(Form("hExpTimePi%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{#pi,exp}",cLabel.Data()), fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimePi,((charge>0)? kRed+2 : kBlue+2), 1, "", "","", "t_{TOF}-t_{#pi,exp} [ps]","tracks");
list->AddLast(hExpTimePi);
TH2F* hExpTimePiVsP = new TH2F(Form("hExpTimePiVsP%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{#pi,exp}",cLabel.Data()), nBinsX, xBins, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimePiVsP,kRed+2, 1, "colz", "","", "p (GeV/c)","t_{TOF}-t_{#pi,exp} [ps]");
list->AddLast(hExpTimePiVsP);
TH2F* hExpTimeKaVsP = new TH2F(Form("hExpTimeKaVsP%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{K,exp}",cLabel.Data()), nBinsX, xBins, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimeKaVsP,kBlue+2, 1, "colz", "","", "p (GeV/c)","t_{TOF}-t_{K,exp} [ps]");
list->AddLast(hExpTimeKaVsP);
TH2F* hExpTimeProVsP = new TH2F(Form("hExpTimeProVsP%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{p,exp}",cLabel.Data()), nBinsX, xBins, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimeProVsP,kGreen+2, 1, "colz", "","", "p (GeV/c)","t_{TOF}-t_{p,exp} [ps]");
list->AddLast(hExpTimeProVsP);
TH2F* hTOFpidSigmaPi = new TH2F(Form("hTOFpidSigmaPi%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk n#sigma^{TOF}_{#pi} vs p_{T}",cLabel.Data()), 500,0.,5.,200, -10., 10. ) ;
HistogramMakeUp(hTOFpidSigmaPi,kRed+2, 1, "colz", "","", "p (GeV/c)","n#sigma_{#pi,exp} [ps]");
list->AddLast(hTOFpidSigmaPi) ;
TH2F* hTOFpidSigmaKa = new TH2F(Form("hTOFpidSigmaKa%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk n#sigma^{TOF}_{K} vs p_{T}",cLabel.Data()), 500, 0.,5.,200, -10., 10. ) ;
HistogramMakeUp(hTOFpidSigmaKa,kBlue+2, 1, "colz", "","", "p (GeV/c)","n#sigma_{K,exp} [ps]");
list->AddLast(hTOFpidSigmaKa) ;
TH2F* hTOFpidSigmaPro = new TH2F(Form("hTOFpidSigmaPro%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk TOF n#sigma^{TOF}_{p} vs p_{T}",cLabel.Data()), 500, 0.,5.,200, -10., 10. ) ;
HistogramMakeUp(hTOFpidSigmaPro,kGreen+2, 1, "colz", "","","p (GeV/c)","n#sigma_{p,exp} [ps]");
list->AddLast(hTOFpidSigmaPro);
TH2F* hExpTimePiT0SubVsP = new TH2F(Form("hExpTimePiT0SubVsP%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk t_{TOF}-t_{#pi,exp}-t_{0}^{TOF}",cLabel.Data()), nBinsX, xBins, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimePiT0SubVsP,kRed+2, 1, "colz", "","","p (GeV/c)","t_{TOF}-t_{#pi,exp}-t_{0}^{TOF}");
list->AddLast(hExpTimePiT0SubVsP) ;
TH2F* hExpTimeKaT0SubVsP = new TH2F(Form("hExpTimeKaT0SubVsP%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk t_{TOF}-t_{K,exp}-t_{0}^{TOF}",cLabel.Data()), nBinsX, xBins, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimeKaT0SubVsP,kBlue+2, 1, "colz", "","","p (GeV/c)","t_{TOF}-t_{K,exp}-t_{0}^{TOF}");
list->AddLast(hExpTimeKaT0SubVsP) ;
TH2F* hExpTimeProT0SubVsP = new TH2F(Form("hExpTimeProT0SubVsP%s_%s",suffix.Data(),cLabel.Data()), Form("%s trk t_{TOF}-t_{p,exp}-t_{0}^{TOF}",cLabel.Data()), nBinsX, xBins, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimeProT0SubVsP,kGreen+2, 1, "colz", "","","p (GeV/c)","t_{TOF}-t_{p,exp}-t_{0}^{TOF}");
list->AddLast(hExpTimeProT0SubVsP) ;
TH2F* hExpTimePiVsOutPhi = new TH2F(Form("hExpTimePiVsOutPhi%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{#pi,exp} vs #phi_{TPC out}",cLabel.Data()), 72, 0.0, 360.0, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimePiVsOutPhi,kRed+2, 1, "colz", "","", "#phi_{TPC out} (deg)","t_{TOF}-t_{#pi,exp} [ps]");
list->AddLast(hExpTimePiVsOutPhi);
TH2F* hExpTimeKaVsOutPhi = new TH2F(Form("hExpTimeKaVsOutPhi%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{K,exp} vs #phi_{TPC out}",cLabel.Data()), 72, 0.0, 360.0, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimeKaVsOutPhi,kBlue+2, 1, "colz", "","", "#phi_{TPC out} (deg)","t_{TOF}-t_{K,exp} [ps]");
list->AddLast(hExpTimeKaVsOutPhi);
TH2F* hExpTimeProVsOutPhi = new TH2F(Form("hExpTimeProVsOutPhi%s_%s",suffix.Data(),cLabel.Data()),Form("%s matched trk t_{TOF}-t_{p,exp} vs #phi_{TPC out}",cLabel.Data()), 72, 0.0, 360.0, fnExpTimeBins, fExpTimeRangeMin, fExpTimeRangeMax) ;
HistogramMakeUp(hExpTimeProVsOutPhi,kGreen+2, 1, "colz", "","", "#phi_{TPC out} (deg)","t_{TOF}-t_{p,exp} [ps]");
list->AddLast(hExpTimeProVsOutPhi);
return;
}
void AliAnalysisTaskTOFqaID::AddStartTimeHisto(TList *list, TString suffix)
{
if (!list){
AliError("Invalid list passed as argument.");
return;
}
TH1F* hT0AC = new TH1F(Form("hT0AC%s",suffix.Data()), "Event timeZero from T0A&C; t_{0,AC} [ps]; events", 1000, -12500., 12500.) ;
HistogramMakeUp(hT0AC, kRed+2, 20, "", "","","","");
list->AddLast(hT0AC);
TH1F* hT0A = new TH1F(Form("hT0A%s",suffix.Data()), "Event timeZero from T0A; t_{0,A} [ps]; events", 1000, -12500., 12500.) ;
HistogramMakeUp(hT0A, kBlue+2, 25, "", "","","","");
list->AddLast(hT0A);
TH1F* hT0C = new TH1F(Form("hT0C%s",suffix.Data()), "Event timeZero from T0C; t_{0,C} [ps]; events", 1000, -12500., 12500.) ;
HistogramMakeUp(hT0C, kGreen+2, 28, "", "","","","");
list->AddLast(hT0C);
TH1F* hT0DetRes = new TH1F(Form("hT0DetRes%s",suffix.Data()), "T0 detector (T0A-T0C)/2; (T0A-T0C)/2 [ps]; events", 200, -500.,500. ) ;
HistogramMakeUp(hT0DetRes, kMagenta+1, 1, "", "","","","");
list->AddLast(hT0DetRes) ;
TH1F* hT0fill = new TH1F(Form("hT0fill%s",suffix.Data()), "Event timeZero of fill; t_{0,fill} [ps]; events", 1000, -12500., 12500. ) ;
HistogramMakeUp(hT0fill, kOrange+1, 25, "", "","","","");
list->AddLast(hT0fill) ;
TH1F* hT0TOF = new TH1F(Form("hT0TOF%s",suffix.Data()), "Event timeZero estimated by TOF; t0 [ps]; events", 1000, -12500., 12500. ) ;
HistogramMakeUp(hT0TOF, kTeal-5, 21, "", "","","","");
list->AddLast(hT0TOF) ;
TH1F* hT0T0 = new TH1F(Form("hT0T0%s",suffix.Data()), "Best timeZero between AC, A, C; t_{0} [ps]; events", 1000, -12500., 12500. ) ;
HistogramMakeUp(hT0T0, kAzure+7, 26, "", "","","","");
list->AddLast(hT0T0) ;
TH1F* hT0best = new TH1F(Form("hT0best%s",suffix.Data()), "Event timeZero estimated as T0best; t0 [ps]; events", 1000, -12500., 12500.) ;
HistogramMakeUp(hT0best, kBlack, 20, "", "","","","");
list->AddLast(hT0best) ;
TH1F* hT0fillRes = new TH1F(Form("hT0fillRes%s",suffix.Data()), "Resolution of fillT0; #sigma_{fillT0} [ps];events", 250, 0.,250. ) ;
HistogramMakeUp(hT0fillRes, kOrange+1, 25, "", "","","","");
list->AddLast(hT0fillRes) ;
TH1F* hT0TOFRes = new TH1F(Form("hT0TOFRes%s",suffix.Data()), "Resolution of timeZero from TOF; #sigma_{TOFT0} [ps];events", 250, 0.,250. ) ;
HistogramMakeUp(hT0TOFRes, kTeal-5, 21, "", "","","","");
list->AddLast(hT0TOFRes) ;
TH1F* hT0T0Res = new TH1F(Form("hT0T0Res%s",suffix.Data()), "Resolution of timeZero from T0;#sigma_{T0T0} [ps];events", 250, -0., 250. ) ;
HistogramMakeUp(hT0T0Res, kAzure+7, 26, "", "","","","");
list->AddLast(hT0T0Res) ;
TH1F* hT0bestRes = new TH1F(Form("hT0bestRes%s",suffix.Data()), "Resolution of bestT0; #sigma_{bestT0} [ps];events", 250, 0.,250. ) ;
HistogramMakeUp(hT0bestRes, kBlack, 20, "", "","","","");
list->AddLast(hT0bestRes) ;
TH2F* hT0TOFvsNtrk = new TH2F(Form("hT0TOFvsNtrk%s",suffix.Data()), "Event timeZero estimated by TOF vs. number of tracks in event;TOF-matching tracks; t0 [ps]", 100, 0., 100., 500,-2500.,2500. ) ;
HistogramMakeUp(hT0TOFvsNtrk, kTeal-5, 1, "colz", "","","","");
list->AddLast(hT0TOFvsNtrk) ;
TH2F* hEventT0MeanVsVtx = new TH2F(Form("hEventT0MeanVsVtx%s",suffix.Data()), "T0 detector: mean vs vertex ; (t0_{A}-t0_{C})/2 [ns]; (t0_{A}+t0_{C})/2 [ns]; events", 50, -25., 25., 50, -25., 25. ) ;
HistogramMakeUp(hEventT0MeanVsVtx, kBlue+2, 1, "colz", "","","","");
list->AddLast(hEventT0MeanVsVtx) ;
TH2F* hEventV0MeanVsVtx = new TH2F(Form("hEventV0MeanVsVtx%s",suffix.Data()), "V0 detector: mean vs vertex ; (V0_{A}-V0_{C})/2 [ns]; (V0_{A}+V0_{C})/2 [ns]; events", 50, -25., 25., 50, -25., 25.) ;
HistogramMakeUp(hEventV0MeanVsVtx, kBlack, 1, "colz", "","","","");
list->AddLast(hEventV0MeanVsVtx) ;
const Double_t startTimeMomBins[13]={ 0.0, 0.3, 0.5, 0.6, 0.7, 0.8, 0.9, 1., 1.2, 1.5, 2., 3., 10.};
TH2F* hStartTimeMaskMatched = new TH2F(Form("hStartTimeMaskMatched%s",suffix.Data()),"Start Time Mask vs p bin for matched tracks; p(GeV/c);", 12, startTimeMomBins, 8,0.,8.);
hStartTimeMaskMatched->GetYaxis()->SetBinLabel(1,"fill_t0");
hStartTimeMaskMatched->GetYaxis()->SetBinLabel(2,"tof_t0");
hStartTimeMaskMatched->GetYaxis()->SetBinLabel(3,"T0AC");
hStartTimeMaskMatched->GetYaxis()->SetBinLabel(4,"T0AC & tof_t0");
hStartTimeMaskMatched->GetYaxis()->SetBinLabel(5,"T0A");
hStartTimeMaskMatched->GetYaxis()->SetBinLabel(6,"T0A & tof_t0");
hStartTimeMaskMatched->GetYaxis()->SetBinLabel(7,"T0C");
hStartTimeMaskMatched->GetYaxis()->SetBinLabel(8,"T0C & tof_t0");
HistogramMakeUp(hStartTimeMaskMatched, kRed+2, 1, "colz", "","","","");
list->AddLast(hStartTimeMaskMatched);
TH2F* hStartTimeMask = new TH2F(Form("hStartTimeMask%s",suffix.Data()),"Start Time Mask vs p bin for primary tracks; p(GeV/c);", 12, startTimeMomBins, 8,0.,8.);
hStartTimeMask->GetYaxis()->SetBinLabel(1,"fill_t0");
hStartTimeMask->GetYaxis()->SetBinLabel(2,"tof_t0");
hStartTimeMask->GetYaxis()->SetBinLabel(3,"T0AC");
hStartTimeMask->GetYaxis()->SetBinLabel(4,"T0AC & tof_t0");
hStartTimeMask->GetYaxis()->SetBinLabel(5,"T0A");
hStartTimeMask->GetYaxis()->SetBinLabel(6,"T0A & tof_t0");
hStartTimeMask->GetYaxis()->SetBinLabel(7,"T0C");
hStartTimeMask->GetYaxis()->SetBinLabel(8,"T0C & tof_t0");
HistogramMakeUp(hStartTimeMask, kRed+2, 1, "colz", "","","","");
list->AddLast(hStartTimeMask);
return;
}
void AliAnalysisTaskTOFqaID::AddTrdHisto()
{
if (!fHlistTRD){
AliError("Invalid TRD list");
return;
}
if (fEnableChargeSplit) {
AddMatchingEffHisto(fHlistTRD, 1, "_noTrd");
AddMatchingEffHisto(fHlistTRD, -1, "_noTrd");
AddMatchingEffHisto(fHlistTRD, 1, "_Trd");
AddMatchingEffHisto(fHlistTRD, -1, "_Trd");
AddPidHisto(fHlistTRD, 1, "_noTrd");
AddPidHisto(fHlistTRD, -1, "_noTrd");
AddPidHisto(fHlistTRD, 1, "_Trd");
AddPidHisto(fHlistTRD, -1, "_Trd");
} else {
AddMatchingEffHisto(fHlistTRD, 0, "_noTrd");
AddMatchingEffHisto(fHlistTRD, 0, "_Trd");
AddPidHisto(fHlistTRD, 0, "_noTrd");
AddPidHisto(fHlistTRD, 0, "_Trd");
}
return;
}
void AliAnalysisTaskTOFqaID::AddTofTrgHisto(TString suffix)
{
if (!fHlistTrigger){
AliError("Invalid TOF trigger list");
return;
}
TH1I* hFiredMaxipad = new TH1I(Form("hFiredMaxipad%s",suffix.Data()), Form("Fired maxipad per event"), 1584, 0, 1584);
HistogramMakeUp(hFiredMaxipad, kBlue+2, 1, "E1", "","", "N_{maxipad}","events");
fHlistTrigger->AddLast(hFiredMaxipad);
TH1I* hFiredReadoutPad = new TH1I(Form("hFiredReadoutPad%s",suffix.Data()), Form("Fired readout pad per event"), 153000, 0, 153000);
HistogramMakeUp(hFiredReadoutPad, kRed+2, 1, "E1", "","", "N_{pad}","events");
fHlistTrigger->AddLast(hFiredReadoutPad);
TH1I* hFiredReadoutTrgPad = new TH1I(Form("hFiredReadoutTrgPad%s",suffix.Data()), Form("Fired readout pad in trg window"), 153000, 0, 153000);
HistogramMakeUp(hFiredReadoutTrgPad, kBlack, 1, "E1", "","", "N_{pad} in trg window","events");
fHlistTrigger->AddLast(hFiredReadoutTrgPad);
TH2I* hFiredMaxipadVsTrgPad = new TH2I(Form("hFiredMaxipadVsTrgPad%s",suffix.Data()), Form("Fired maxipad vs pads in trg window per event"), 100, 0, 100, 100, 0, 100);
HistogramMakeUp(hFiredMaxipadVsTrgPad, kBlue+2, 1, "colz", "","", "N_{pad} in trg window","N_{maxipad}");
fHlistTrigger->AddLast(hFiredMaxipadVsTrgPad);
TH2I* hTrgMap = new TH2I(Form("hTrgMap%s",suffix.Data()), Form("Map of fired maxipads"), 72, 0, 72, 23, 0, 23);
HistogramMakeUp(hTrgMap, kBlue+2, 1, "colz", "","", "LTM","maxipad");
fHlistTrigger->AddLast(hTrgMap);
return;
}
void AliAnalysisTaskTOFqaID::FillTofBaseHisto(AliESDtrack * track, Int_t charge, TString suffix)
{
if (!track) return;
Double_t tofTimeRaw=track->GetTOFsignalRaw();
Double_t tofToT=track->GetTOFsignalToT();
Int_t channel=track->GetTOFCalChannel();
Int_t volId[5];
AliTOFGeometry::GetVolumeIndices(channel,volId);
TString cLabel;
if (charge == 0) cLabel.Form("all");
else
if (charge<0) cLabel.Form("neg");
else
if (charge>0) cLabel.Form("pos");
((TH1F*)fHlist->FindObject(Form("hTime%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTof);
((TH1F*)fHlist->FindObject(Form("hRawTime%s_%s",suffix.Data(),cLabel.Data())))->Fill(tofTimeRaw*1E-3);
((TH1F*)fHlist->FindObject(Form("hTot%s_%s",suffix.Data(),cLabel.Data())))->Fill(tofToT);
((TH1F*)fHlist->FindObject(Form("hMatchedL%s_%s", suffix.Data(), cLabel.Data())))->Fill(fL);
((TH2F*)fHlist->FindObject(Form("hMatchedDxVsPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt,track->GetTOFsignalDx());
((TH2F*)fHlist->FindObject(Form("hMatchedDzVsStrip%s_%s",suffix.Data(),cLabel.Data())))->Fill((Int_t)GetStripIndex(volId),track->GetTOFsignalDz());
((TProfile*)fHlist->FindObject(Form("hMatchedDxVsCh%s_%s",suffix.Data(),cLabel.Data())))->Fill(channel,track->GetTOFsignalDx());
((TProfile*)fHlist->FindObject(Form("hMatchedDzVsCh%s_%s",suffix.Data(),cLabel.Data())))->Fill(channel,track->GetTOFsignalDz());
return;
}
void AliAnalysisTaskTOFqaID::FillPrimaryTrkHisto(Int_t charge, TString suffix)
{
TString cLabel;
if (charge == 0) cLabel.Form("all");
else
if (charge<0) cLabel.Form("neg");
else
if (charge>0) cLabel.Form("pos");
if (suffix.Contains("Trd")) {
((TH1F*)fHlistTRD->FindObject(Form("hPrimaryP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP);
((TH1F*)fHlistTRD->FindObject(Form("hPrimaryPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt);
((TH2F*)fHlistTRD->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
if (fPt>=fMatchingMomCut) {
((TH1F*)fHlistTRD->FindObject(Form("hPrimaryEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
((TH1F*)fHlistTRD->FindObject(Form("hPrimaryPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
}
} else {
((TH1F*)fHlist->FindObject(Form("hPrimaryP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP);
((TH1F*)fHlist->FindObject(Form("hPrimaryPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt);
((TH2F*)fHlist->FindObject(Form("hPrimaryPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
if (fPt>=fMatchingMomCut) {
((TH1F*)fHlist->FindObject(Form("hPrimaryEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
((TH1F*)fHlist->FindObject(Form("hPrimaryPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
}
}
return;
}
void AliAnalysisTaskTOFqaID::FillMatchedTrkHisto(Int_t charge, TString suffix)
{
TString cLabel;
if (charge == 0) cLabel.Form("all");
else
if (charge<0) cLabel.Form("neg");
else
if (charge>0) cLabel.Form("pos");
if (suffix.Contains("Trd")) {
((TH1F*)fHlistTRD->FindObject(Form("hMatchedP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP);
((TH1F*)fHlistTRD->FindObject(Form("hMatchedPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt);
((TH2F*)fHlistTRD->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
if (fPt>=fMatchingMomCut) {
((TH1F*)fHlistTRD->FindObject(Form("hMatchedEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
((TH1F*)fHlistTRD->FindObject(Form("hMatchedPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
}
} else {
((TH1F*)fHlist->FindObject(Form("hMatchedP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP);
((TH1F*)fHlist->FindObject(Form("hMatchedPt%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPt);
((TH2F*)fHlist->FindObject(Form("hMatchedPtVsOutPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,fPt);
if (fPt>=fMatchingMomCut) {
((TH1F*)fHlist->FindObject(Form("hMatchedEta%s_%s",suffix.Data(),cLabel.Data())))->Fill(fEta);
((TH1F*)fHlist->FindObject(Form("hMatchedPhi%s_%s",suffix.Data(),cLabel.Data())))->Fill(fPhi);
}
}
return;
}
void AliAnalysisTaskTOFqaID::FillPidHisto(AliESDtrack * track, Int_t charge, TString suffix)
{
if (fTof<=0) {
printf("WARNING: track with negative TOF time found! Skipping this track for PID checks\n");
return;
}
if (fL<=0){
printf("WARNING: track with negative length found!Skipping this track for PID checks\n");
return;
}
if (!track) return;
TString cLabel;
if (charge == 0) cLabel.Form("all");
else
if (charge<0) cLabel.Form("neg");
else
if (charge>0) cLabel.Form("pos");
Double_t c=TMath::C()*1.E-9;
Double_t mass=0.;
Double_t length=fL*0.01;
Double_t tof=fTof*c;
Double_t beta=length/tof;
Double_t fact= (tof/length)*(tof/length) -1.;
Double_t fP2 = fP*fP;
if(fact<=0) {
mass = -fP*TMath::Sqrt(-fact);
} else {
mass = fP*TMath::Sqrt(fact);
}
if (suffix.Contains("Trd")) {
((TH2F*) fHlistTRD->FindObject(Form("hMatchedBetaVsP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP,beta);
((TH1F*) fHlistTRD->FindObject(Form("hMatchedMass%s_%s",suffix.Data(),cLabel.Data())))->Fill(mass);
((TH1F*) fHlistTRD->FindObject(Form("hMatchedMass2%s_%s",suffix.Data(),cLabel.Data())))->Fill(mass*mass);
} else {
((TH2F*) fHlistPID->FindObject(Form("hMatchedBetaVsP%s_%s",suffix.Data(),cLabel.Data())))->Fill(fP,beta);
((TH1F*) fHlistPID->FindObject(Form("hMatchedMass%s_%s",suffix.Data(),cLabel.Data())))->Fill(mass);
((TH1F*) fHlistPID->FindObject(Form("hMatchedMass2%s_%s",suffix.Data(),cLabel.Data())))->Fill(mass*mass);
}
Bool_t isValidBeta[AliPID::kSPECIES]={0,0,0,0,0};
for (Int_t specie = 0; specie < AliPID::kSPECIES; specie++){
fSigmaSpecie[specie] = fESDpid->GetTOFResponse().GetExpectedSigma(fP, fTrkExpTimes[specie], AliPID::ParticleMass(specie));
beta=1/TMath::Sqrt(1+AliPID::ParticleMass(specie)*AliPID::ParticleMass(specie)/(fP2));
if (beta>0) {
fThExpTimes[specie]=length*1.E3/(beta*c);
isValidBeta[specie]=kTRUE;
} else {
fThExpTimes[specie]=1E-10;
isValidBeta[specie]=kFALSE;
}
}
Float_t timeZeroTOF = (Float_t) fESDpid->GetTOFResponse().GetStartTime(fPt);
Double_t tofps=fTof*1E3;
Int_t channel=track->GetTOFCalChannel();
Int_t volId[5];
AliTOFGeometry::GetVolumeIndices(channel,volId);
Char_t partName[3][4] = {"Pi","Ka","Pro"};
if (suffix.Contains("Trd")) {
((TH2F*)fHlistTRD->FindObject(Form("hExpTimePiVsStrip%s_%s",suffix.Data(),cLabel.Data())))->Fill((Int_t)GetStripIndex(volId),tofps-fTrkExpTimes[AliPID::kPion]);
((TH1F*)fHlistTRD->FindObject(Form("hExpTimePi%s_%s",suffix.Data(),cLabel.Data())))->Fill(tofps-fTrkExpTimes[AliPID::kPion]);
if (ComputeTimeZeroByTOF1GeV() && (fPt>0.95) && (fPt<1.05) ){
((TH2F*)fHlistTRD->FindObject(Form("hExpTimePiT0Sub1GeV%s_%s",suffix.Data(),cLabel.Data())))->Fill(fMyTimeZeroTOFtracks,tofps-fMyTimeZeroTOF-fTrkExpTimes[AliPID::kPion]);
}
for (Int_t specie = AliPID::kPion; specie <= AliPID::kProton; specie++){
if (isValidBeta[specie]){
((TH2F*)fHlistTRD->FindObject(Form("hExpTime%sVsP%s_%s",partName[specie-2], suffix.Data(),cLabel.Data())))->Fill(fP, tofps-fTrkExpTimes[specie]);
((TH2F*)fHlistTRD->FindObject(Form("hTOFpidSigma%s%s_%s",partName[specie-2], suffix.Data(),cLabel.Data())))->Fill(fPt, (tofps-fTrkExpTimes[specie])/fSigmaSpecie[specie]);
((TH2F*)fHlistTRD->FindObject(Form("hExpTime%sT0SubVsP%s_%s",partName[specie-2], suffix.Data(),cLabel.Data())))->Fill(fP,tofps-fTrkExpTimes[specie]-timeZeroTOF);
((TH2F*)fHlistTRD->FindObject(Form("hExpTime%sVsOutPhi%s_%s",partName[specie-2], suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,tofps-fTrkExpTimes[specie]-timeZeroTOF);
}
}
} else {
((TH2F*)fHlistPID->FindObject(Form("hExpTimePiVsStrip%s_%s",suffix.Data(),cLabel.Data())))->Fill((Int_t)GetStripIndex(volId),tofps-fTrkExpTimes[AliPID::kPion]);
((TH1F*)fHlistPID->FindObject(Form("hExpTimePi%s_%s",suffix.Data(),cLabel.Data())))->Fill(tofps-fTrkExpTimes[AliPID::kPion]);
if (ComputeTimeZeroByTOF1GeV() && (fPt>0.95) && (fPt<1.05) ){
((TH2F*)fHlistPID->FindObject(Form("hExpTimePiT0Sub1GeV%s_%s",suffix.Data(),cLabel.Data())))->Fill(fMyTimeZeroTOFtracks,tofps-fMyTimeZeroTOF-fTrkExpTimes[AliPID::kPion]);
}
for (Int_t specie = AliPID::kPion; specie <= AliPID::kProton; specie++){
if (isValidBeta[specie]){
((TH2F*)fHlistPID->FindObject(Form("hExpTime%sVsP%s_%s",partName[specie-2], suffix.Data(),cLabel.Data())))->Fill(fP, tofps-fTrkExpTimes[specie]);
((TH2F*)fHlistPID->FindObject(Form("hTOFpidSigma%s%s_%s",partName[specie-2], suffix.Data(),cLabel.Data())))->Fill(fPt, (tofps-fTrkExpTimes[specie])/fSigmaSpecie[specie]);
((TH2F*)fHlistPID->FindObject(Form("hExpTime%sT0SubVsP%s_%s",partName[specie-2], suffix.Data(),cLabel.Data())))->Fill(fP,tofps-fTrkExpTimes[specie]-timeZeroTOF);
((TH2F*)fHlistPID->FindObject(Form("hExpTime%sVsOutPhi%s_%s",partName[specie-2], suffix.Data(),cLabel.Data())))->Fill(fTPCOuterPhi,tofps-fTrkExpTimes[specie]-timeZeroTOF);
}
}
}
fESDpid->SetTOFResponse(fESD,AliESDpid::kFILL_T0);
Float_t startTimeFill=fESDpid->GetTOFResponse().GetStartTime(fP);
if (suffix.Contains("Trd"))
((TH1F*)fHlistTRD->FindObject(Form("hExpTimePiFillSub%s_%s",suffix.Data(),cLabel.Data())))->Fill(tofps-fTrkExpTimes[AliPID::kPion]-startTimeFill);
else
((TH1F*)fHlistPID->FindObject(Form("hExpTimePiFillSub%s_%s",suffix.Data(),cLabel.Data())))->Fill(tofps-fTrkExpTimes[AliPID::kPion]-startTimeFill);
return;
}
void AliAnalysisTaskTOFqaID::FillStartTimeHisto(TString suffix)
{
if (!fESD) {
AliError("Invalid event object");
return;
}
AliESDVZERO * vzero = fESD->GetVZEROData();
Float_t V0Atime = vzero->GetV0ATime();
Float_t V0Ctime = vzero->GetV0CTime();
((TH2F*)fHlistTimeZero->FindObject(Form("hEventV0MeanVsVtx%s",suffix.Data())))->Fill((V0Atime-V0Ctime)*0.5,(V0Atime+V0Ctime)*0.5);
for (Int_t j=0;j<3;j++){
fT0[j]= (Float_t) fESD->GetT0TOF(j);
if (fT0[j]>90000.) fT0[j]=99999.;
}
Float_t t0cut = 90000.;
if(TMath::Abs(fT0[1]) < t0cut && TMath::Abs(fT0[2]) < t0cut ) {
((TH1F*)fHlistTimeZero->FindObject(Form("hT0DetRes%s",suffix.Data())))->Fill((fT0[2]-fT0[1])*0.5);
((TH1F*)fHlistTimeZero->FindObject(Form("hT0AC%s",suffix.Data())))->Fill(fT0[0]);
((TH2F*)fHlistTimeZero->FindObject(Form("hEventT0MeanVsVtx%s",suffix.Data())))->Fill( ((fT0[2]-fT0[1])*0.5e-3), ((fT0[2]+fT0[1])*0.5e-3) );
}
if(TMath::Abs(fT0[1]) < t0cut){
((TH1F*)fHlistTimeZero->FindObject(Form("hT0A%s",suffix.Data())))->Fill(fT0[1]);
}
if(TMath::Abs(fT0[2]) < t0cut){
((TH1F*)fHlistTimeZero->FindObject(Form("hT0C%s",suffix.Data())))->Fill(fT0[2]);
}
Double_t timeZero[4]={99999.,99999.,99999.,99999.};
Double_t timeZeroRes[4]={99999.,99999.,99999.,99999.};
TString timeZeroHisto[4]={"hT0fill","hT0TOF","hT0T0","hT0best"};
TString timeZeroHistoRes[4]={"hT0fillRes","hT0TOFRes","hT0T0Res","hT0bestRes"};
for (Int_t j=0;j<4;j++){
timeZeroHisto[j].Append(suffix.Data());
timeZeroHistoRes[j].Append(suffix.Data());
fESDpid->SetTOFResponse(fESD, (AliESDpid::EStartTimeType_t) j);
timeZero[j]=fESDpid->GetTOFResponse().GetStartTime(10.);
timeZeroRes[j]=fESDpid->GetTOFResponse().GetStartTimeRes(10.);
((TH1F*)(fHlistTimeZero->FindObject(timeZeroHisto[j].Data())))->Fill(timeZero[j]);
((TH1F*)(fHlistTimeZero->FindObject(timeZeroHistoRes[j].Data())))->Fill(timeZeroRes[j]);
}
((TH2F*)fHlistTimeZero->FindObject("hT0TOFvsNtrk"))->Fill(fNTOFtracks[0],timeZero[AliESDpid::kTOF_T0]);
FillStartTimeMaskHisto(suffix.Data());
return;
}
void AliAnalysisTaskTOFqaID::FillTrdHisto(AliESDtrack * track, Int_t charge)
{
if (!track){
AliError("Invalid track object");
return;
}
if (IsInTRD(track)){
FillPrimaryTrkHisto(charge,"_Trd");
if (IsTPCTOFMatched(track)) {
FillMatchedTrkHisto(charge,"_Trd");
FillPidHisto(track,charge, "_Trd");
}
} else {
FillPrimaryTrkHisto(charge,"_noTrd");
if (IsTPCTOFMatched(track)) {
FillMatchedTrkHisto(charge,"_noTrd");
FillPidHisto(track, charge, "_noTrd");
}
}
return;
}
void AliAnalysisTaskTOFqaID::FillTofTrgHisto(TString suffix)
{
if (!fHlistTrigger){
AliError("Invalid TOF trigger list");
return;
}
if (!fTOFHeader) {
AliWarning("Invalid AliTOFHeader object - cannot fill trg histo");
return;
}
Int_t nPad = fTOFHeader->GetNumberOfTOFclusters();
Int_t nTrgPad = fTOFHeader->GetNumberOfTOFtrgPads();
Int_t nMaxiPad = fTOFHeader->GetNumberOfTOFmaxipad();
AliTOFTriggerMask *trgMask = fTOFHeader->GetTriggerMask();
for(Int_t j=0;j<72;j++){
for(Int_t i=22;i>=0;i--){
if(trgMask->IsON(j,i))
((TH1I*)fHlistTrigger->FindObject(Form("hTrgMap%s",suffix.Data())))->Fill(j+1,i+1);
}
}
((TH1I*)fHlistTrigger->FindObject(Form("hFiredMaxipad%s",suffix.Data())))->Fill(nMaxiPad);
((TH1I*)fHlistTrigger->FindObject(Form("hFiredReadoutPad%s",suffix.Data())))->Fill(nPad);
((TH1I*)fHlistTrigger->FindObject(Form("hFiredReadoutTrgPad%s",suffix.Data())))->Fill(nTrgPad);
((TH2I*)fHlistTrigger->FindObject(Form("hFiredMaxipadVsTrgPad%s",suffix.Data())))->Fill(nTrgPad,nMaxiPad);
return;
}
#endif
AliAnalysisTaskTOFqaID.cxx:1 AliAnalysisTaskTOFqaID.cxx:2 AliAnalysisTaskTOFqaID.cxx:3 AliAnalysisTaskTOFqaID.cxx:4 AliAnalysisTaskTOFqaID.cxx:5 AliAnalysisTaskTOFqaID.cxx:6 AliAnalysisTaskTOFqaID.cxx:7 AliAnalysisTaskTOFqaID.cxx:8 AliAnalysisTaskTOFqaID.cxx:9 AliAnalysisTaskTOFqaID.cxx:10 AliAnalysisTaskTOFqaID.cxx:11 AliAnalysisTaskTOFqaID.cxx:12 AliAnalysisTaskTOFqaID.cxx:13 AliAnalysisTaskTOFqaID.cxx:14 AliAnalysisTaskTOFqaID.cxx:15 AliAnalysisTaskTOFqaID.cxx:16 AliAnalysisTaskTOFqaID.cxx:17 AliAnalysisTaskTOFqaID.cxx:18 AliAnalysisTaskTOFqaID.cxx:19 AliAnalysisTaskTOFqaID.cxx:20 AliAnalysisTaskTOFqaID.cxx:21 AliAnalysisTaskTOFqaID.cxx:22 AliAnalysisTaskTOFqaID.cxx:23 AliAnalysisTaskTOFqaID.cxx:24 AliAnalysisTaskTOFqaID.cxx:25 AliAnalysisTaskTOFqaID.cxx:26 AliAnalysisTaskTOFqaID.cxx:27 AliAnalysisTaskTOFqaID.cxx:28 AliAnalysisTaskTOFqaID.cxx:29 AliAnalysisTaskTOFqaID.cxx:30 AliAnalysisTaskTOFqaID.cxx:31 AliAnalysisTaskTOFqaID.cxx:32 AliAnalysisTaskTOFqaID.cxx:33 AliAnalysisTaskTOFqaID.cxx:34 AliAnalysisTaskTOFqaID.cxx:35 AliAnalysisTaskTOFqaID.cxx:36 AliAnalysisTaskTOFqaID.cxx:37 AliAnalysisTaskTOFqaID.cxx:38 AliAnalysisTaskTOFqaID.cxx:39 AliAnalysisTaskTOFqaID.cxx:40 AliAnalysisTaskTOFqaID.cxx:41 AliAnalysisTaskTOFqaID.cxx:42 AliAnalysisTaskTOFqaID.cxx:43 AliAnalysisTaskTOFqaID.cxx:44 AliAnalysisTaskTOFqaID.cxx:45 AliAnalysisTaskTOFqaID.cxx:46 AliAnalysisTaskTOFqaID.cxx:47 AliAnalysisTaskTOFqaID.cxx:48 AliAnalysisTaskTOFqaID.cxx:49 AliAnalysisTaskTOFqaID.cxx:50 AliAnalysisTaskTOFqaID.cxx:51 AliAnalysisTaskTOFqaID.cxx:52 AliAnalysisTaskTOFqaID.cxx:53 AliAnalysisTaskTOFqaID.cxx:54 AliAnalysisTaskTOFqaID.cxx:55 AliAnalysisTaskTOFqaID.cxx:56 AliAnalysisTaskTOFqaID.cxx:57 AliAnalysisTaskTOFqaID.cxx:58 AliAnalysisTaskTOFqaID.cxx:59 AliAnalysisTaskTOFqaID.cxx:60 AliAnalysisTaskTOFqaID.cxx:61 AliAnalysisTaskTOFqaID.cxx:62 AliAnalysisTaskTOFqaID.cxx:63 AliAnalysisTaskTOFqaID.cxx:64 AliAnalysisTaskTOFqaID.cxx:65 AliAnalysisTaskTOFqaID.cxx:66 AliAnalysisTaskTOFqaID.cxx:67 AliAnalysisTaskTOFqaID.cxx:68 AliAnalysisTaskTOFqaID.cxx:69 AliAnalysisTaskTOFqaID.cxx:70 AliAnalysisTaskTOFqaID.cxx:71 AliAnalysisTaskTOFqaID.cxx:72 AliAnalysisTaskTOFqaID.cxx:73 AliAnalysisTaskTOFqaID.cxx:74 AliAnalysisTaskTOFqaID.cxx:75 AliAnalysisTaskTOFqaID.cxx:76 AliAnalysisTaskTOFqaID.cxx:77 AliAnalysisTaskTOFqaID.cxx:78 AliAnalysisTaskTOFqaID.cxx:79 AliAnalysisTaskTOFqaID.cxx:80 AliAnalysisTaskTOFqaID.cxx:81 AliAnalysisTaskTOFqaID.cxx:82 AliAnalysisTaskTOFqaID.cxx:83 AliAnalysisTaskTOFqaID.cxx:84 AliAnalysisTaskTOFqaID.cxx:85 AliAnalysisTaskTOFqaID.cxx:86 AliAnalysisTaskTOFqaID.cxx:87 AliAnalysisTaskTOFqaID.cxx:88 AliAnalysisTaskTOFqaID.cxx:89 AliAnalysisTaskTOFqaID.cxx:90 AliAnalysisTaskTOFqaID.cxx:91 AliAnalysisTaskTOFqaID.cxx:92 AliAnalysisTaskTOFqaID.cxx:93 AliAnalysisTaskTOFqaID.cxx:94 AliAnalysisTaskTOFqaID.cxx:95 AliAnalysisTaskTOFqaID.cxx:96 AliAnalysisTaskTOFqaID.cxx:97 AliAnalysisTaskTOFqaID.cxx:98 AliAnalysisTaskTOFqaID.cxx:99 AliAnalysisTaskTOFqaID.cxx:100 AliAnalysisTaskTOFqaID.cxx:101 AliAnalysisTaskTOFqaID.cxx:102 AliAnalysisTaskTOFqaID.cxx:103 AliAnalysisTaskTOFqaID.cxx:104 AliAnalysisTaskTOFqaID.cxx:105 AliAnalysisTaskTOFqaID.cxx:106 AliAnalysisTaskTOFqaID.cxx:107 AliAnalysisTaskTOFqaID.cxx:108 AliAnalysisTaskTOFqaID.cxx:109 AliAnalysisTaskTOFqaID.cxx:110 AliAnalysisTaskTOFqaID.cxx:111 AliAnalysisTaskTOFqaID.cxx:112 AliAnalysisTaskTOFqaID.cxx:113 AliAnalysisTaskTOFqaID.cxx:114 AliAnalysisTaskTOFqaID.cxx:115 AliAnalysisTaskTOFqaID.cxx:116 AliAnalysisTaskTOFqaID.cxx:117 AliAnalysisTaskTOFqaID.cxx:118 AliAnalysisTaskTOFqaID.cxx:119 AliAnalysisTaskTOFqaID.cxx:120 AliAnalysisTaskTOFqaID.cxx:121 AliAnalysisTaskTOFqaID.cxx:122 AliAnalysisTaskTOFqaID.cxx:123 AliAnalysisTaskTOFqaID.cxx:124 AliAnalysisTaskTOFqaID.cxx:125 AliAnalysisTaskTOFqaID.cxx:126 AliAnalysisTaskTOFqaID.cxx:127 AliAnalysisTaskTOFqaID.cxx:128 AliAnalysisTaskTOFqaID.cxx:129 AliAnalysisTaskTOFqaID.cxx:130 AliAnalysisTaskTOFqaID.cxx:131 AliAnalysisTaskTOFqaID.cxx:132 AliAnalysisTaskTOFqaID.cxx:133 AliAnalysisTaskTOFqaID.cxx:134 AliAnalysisTaskTOFqaID.cxx:135 AliAnalysisTaskTOFqaID.cxx:136 AliAnalysisTaskTOFqaID.cxx:137 AliAnalysisTaskTOFqaID.cxx:138 AliAnalysisTaskTOFqaID.cxx:139 AliAnalysisTaskTOFqaID.cxx:140 AliAnalysisTaskTOFqaID.cxx:141 AliAnalysisTaskTOFqaID.cxx:142 AliAnalysisTaskTOFqaID.cxx:143 AliAnalysisTaskTOFqaID.cxx:144 AliAnalysisTaskTOFqaID.cxx:145 AliAnalysisTaskTOFqaID.cxx:146 AliAnalysisTaskTOFqaID.cxx:147 AliAnalysisTaskTOFqaID.cxx:148 AliAnalysisTaskTOFqaID.cxx:149 AliAnalysisTaskTOFqaID.cxx:150 AliAnalysisTaskTOFqaID.cxx:151 AliAnalysisTaskTOFqaID.cxx:152 AliAnalysisTaskTOFqaID.cxx:153 AliAnalysisTaskTOFqaID.cxx:154 AliAnalysisTaskTOFqaID.cxx:155 AliAnalysisTaskTOFqaID.cxx:156 AliAnalysisTaskTOFqaID.cxx:157 AliAnalysisTaskTOFqaID.cxx:158 AliAnalysisTaskTOFqaID.cxx:159 AliAnalysisTaskTOFqaID.cxx:160 AliAnalysisTaskTOFqaID.cxx:161 AliAnalysisTaskTOFqaID.cxx:162 AliAnalysisTaskTOFqaID.cxx:163 AliAnalysisTaskTOFqaID.cxx:164 AliAnalysisTaskTOFqaID.cxx:165 AliAnalysisTaskTOFqaID.cxx:166 AliAnalysisTaskTOFqaID.cxx:167 AliAnalysisTaskTOFqaID.cxx:168 AliAnalysisTaskTOFqaID.cxx:169 AliAnalysisTaskTOFqaID.cxx:170 AliAnalysisTaskTOFqaID.cxx:171 AliAnalysisTaskTOFqaID.cxx:172 AliAnalysisTaskTOFqaID.cxx:173 AliAnalysisTaskTOFqaID.cxx:174 AliAnalysisTaskTOFqaID.cxx:175 AliAnalysisTaskTOFqaID.cxx:176 AliAnalysisTaskTOFqaID.cxx:177 AliAnalysisTaskTOFqaID.cxx:178 AliAnalysisTaskTOFqaID.cxx:179 AliAnalysisTaskTOFqaID.cxx:180 AliAnalysisTaskTOFqaID.cxx:181 AliAnalysisTaskTOFqaID.cxx:182 AliAnalysisTaskTOFqaID.cxx:183 AliAnalysisTaskTOFqaID.cxx:184 AliAnalysisTaskTOFqaID.cxx:185 AliAnalysisTaskTOFqaID.cxx:186 AliAnalysisTaskTOFqaID.cxx:187 AliAnalysisTaskTOFqaID.cxx:188 AliAnalysisTaskTOFqaID.cxx:189 AliAnalysisTaskTOFqaID.cxx:190 AliAnalysisTaskTOFqaID.cxx:191 AliAnalysisTaskTOFqaID.cxx:192 AliAnalysisTaskTOFqaID.cxx:193 AliAnalysisTaskTOFqaID.cxx:194 AliAnalysisTaskTOFqaID.cxx:195 AliAnalysisTaskTOFqaID.cxx:196 AliAnalysisTaskTOFqaID.cxx:197 AliAnalysisTaskTOFqaID.cxx:198 AliAnalysisTaskTOFqaID.cxx:199 AliAnalysisTaskTOFqaID.cxx:200 AliAnalysisTaskTOFqaID.cxx:201 AliAnalysisTaskTOFqaID.cxx:202 AliAnalysisTaskTOFqaID.cxx:203 AliAnalysisTaskTOFqaID.cxx:204 AliAnalysisTaskTOFqaID.cxx:205 AliAnalysisTaskTOFqaID.cxx:206 AliAnalysisTaskTOFqaID.cxx:207 AliAnalysisTaskTOFqaID.cxx:208 AliAnalysisTaskTOFqaID.cxx:209 AliAnalysisTaskTOFqaID.cxx:210 AliAnalysisTaskTOFqaID.cxx:211 AliAnalysisTaskTOFqaID.cxx:212 AliAnalysisTaskTOFqaID.cxx:213 AliAnalysisTaskTOFqaID.cxx:214 AliAnalysisTaskTOFqaID.cxx:215 AliAnalysisTaskTOFqaID.cxx:216 AliAnalysisTaskTOFqaID.cxx:217 AliAnalysisTaskTOFqaID.cxx:218 AliAnalysisTaskTOFqaID.cxx:219 AliAnalysisTaskTOFqaID.cxx:220 AliAnalysisTaskTOFqaID.cxx:221 AliAnalysisTaskTOFqaID.cxx:222 AliAnalysisTaskTOFqaID.cxx:223 AliAnalysisTaskTOFqaID.cxx:224 AliAnalysisTaskTOFqaID.cxx:225 AliAnalysisTaskTOFqaID.cxx:226 AliAnalysisTaskTOFqaID.cxx:227 AliAnalysisTaskTOFqaID.cxx:228 AliAnalysisTaskTOFqaID.cxx:229 AliAnalysisTaskTOFqaID.cxx:230 AliAnalysisTaskTOFqaID.cxx:231 AliAnalysisTaskTOFqaID.cxx:232 AliAnalysisTaskTOFqaID.cxx:233 AliAnalysisTaskTOFqaID.cxx:234 AliAnalysisTaskTOFqaID.cxx:235 AliAnalysisTaskTOFqaID.cxx:236 AliAnalysisTaskTOFqaID.cxx:237 AliAnalysisTaskTOFqaID.cxx:238 AliAnalysisTaskTOFqaID.cxx:239 AliAnalysisTaskTOFqaID.cxx:240 AliAnalysisTaskTOFqaID.cxx:241 AliAnalysisTaskTOFqaID.cxx:242 AliAnalysisTaskTOFqaID.cxx:243 AliAnalysisTaskTOFqaID.cxx:244 AliAnalysisTaskTOFqaID.cxx:245 AliAnalysisTaskTOFqaID.cxx:246 AliAnalysisTaskTOFqaID.cxx:247 AliAnalysisTaskTOFqaID.cxx:248 AliAnalysisTaskTOFqaID.cxx:249 AliAnalysisTaskTOFqaID.cxx:250 AliAnalysisTaskTOFqaID.cxx:251 AliAnalysisTaskTOFqaID.cxx:252 AliAnalysisTaskTOFqaID.cxx:253 AliAnalysisTaskTOFqaID.cxx:254 AliAnalysisTaskTOFqaID.cxx:255 AliAnalysisTaskTOFqaID.cxx:256 AliAnalysisTaskTOFqaID.cxx:257 AliAnalysisTaskTOFqaID.cxx:258 AliAnalysisTaskTOFqaID.cxx:259 AliAnalysisTaskTOFqaID.cxx:260 AliAnalysisTaskTOFqaID.cxx:261 AliAnalysisTaskTOFqaID.cxx:262 AliAnalysisTaskTOFqaID.cxx:263 AliAnalysisTaskTOFqaID.cxx:264 AliAnalysisTaskTOFqaID.cxx:265 AliAnalysisTaskTOFqaID.cxx:266 AliAnalysisTaskTOFqaID.cxx:267 AliAnalysisTaskTOFqaID.cxx:268 AliAnalysisTaskTOFqaID.cxx:269 AliAnalysisTaskTOFqaID.cxx:270 AliAnalysisTaskTOFqaID.cxx:271 AliAnalysisTaskTOFqaID.cxx:272 AliAnalysisTaskTOFqaID.cxx:273 AliAnalysisTaskTOFqaID.cxx:274 AliAnalysisTaskTOFqaID.cxx:275 AliAnalysisTaskTOFqaID.cxx:276 AliAnalysisTaskTOFqaID.cxx:277 AliAnalysisTaskTOFqaID.cxx:278 AliAnalysisTaskTOFqaID.cxx:279 AliAnalysisTaskTOFqaID.cxx:280 AliAnalysisTaskTOFqaID.cxx:281 AliAnalysisTaskTOFqaID.cxx:282 AliAnalysisTaskTOFqaID.cxx:283 AliAnalysisTaskTOFqaID.cxx:284 AliAnalysisTaskTOFqaID.cxx:285 AliAnalysisTaskTOFqaID.cxx:286 AliAnalysisTaskTOFqaID.cxx:287 AliAnalysisTaskTOFqaID.cxx:288 AliAnalysisTaskTOFqaID.cxx:289 AliAnalysisTaskTOFqaID.cxx:290 AliAnalysisTaskTOFqaID.cxx:291 AliAnalysisTaskTOFqaID.cxx:292 AliAnalysisTaskTOFqaID.cxx:293 AliAnalysisTaskTOFqaID.cxx:294 AliAnalysisTaskTOFqaID.cxx:295 AliAnalysisTaskTOFqaID.cxx:296 AliAnalysisTaskTOFqaID.cxx:297 AliAnalysisTaskTOFqaID.cxx:298 AliAnalysisTaskTOFqaID.cxx:299 AliAnalysisTaskTOFqaID.cxx:300 AliAnalysisTaskTOFqaID.cxx:301 AliAnalysisTaskTOFqaID.cxx:302 AliAnalysisTaskTOFqaID.cxx:303 AliAnalysisTaskTOFqaID.cxx:304 AliAnalysisTaskTOFqaID.cxx:305 AliAnalysisTaskTOFqaID.cxx:306 AliAnalysisTaskTOFqaID.cxx:307 AliAnalysisTaskTOFqaID.cxx:308 AliAnalysisTaskTOFqaID.cxx:309 AliAnalysisTaskTOFqaID.cxx:310 AliAnalysisTaskTOFqaID.cxx:311 AliAnalysisTaskTOFqaID.cxx:312 AliAnalysisTaskTOFqaID.cxx:313 AliAnalysisTaskTOFqaID.cxx:314 AliAnalysisTaskTOFqaID.cxx:315 AliAnalysisTaskTOFqaID.cxx:316 AliAnalysisTaskTOFqaID.cxx:317 AliAnalysisTaskTOFqaID.cxx:318 AliAnalysisTaskTOFqaID.cxx:319 AliAnalysisTaskTOFqaID.cxx:320 AliAnalysisTaskTOFqaID.cxx:321 AliAnalysisTaskTOFqaID.cxx:322 AliAnalysisTaskTOFqaID.cxx:323 AliAnalysisTaskTOFqaID.cxx:324 AliAnalysisTaskTOFqaID.cxx:325 AliAnalysisTaskTOFqaID.cxx:326 AliAnalysisTaskTOFqaID.cxx:327 AliAnalysisTaskTOFqaID.cxx:328 AliAnalysisTaskTOFqaID.cxx:329 AliAnalysisTaskTOFqaID.cxx:330 AliAnalysisTaskTOFqaID.cxx:331 AliAnalysisTaskTOFqaID.cxx:332 AliAnalysisTaskTOFqaID.cxx:333 AliAnalysisTaskTOFqaID.cxx:334 AliAnalysisTaskTOFqaID.cxx:335 AliAnalysisTaskTOFqaID.cxx:336 AliAnalysisTaskTOFqaID.cxx:337 AliAnalysisTaskTOFqaID.cxx:338 AliAnalysisTaskTOFqaID.cxx:339 AliAnalysisTaskTOFqaID.cxx:340 AliAnalysisTaskTOFqaID.cxx:341 AliAnalysisTaskTOFqaID.cxx:342 AliAnalysisTaskTOFqaID.cxx:343 AliAnalysisTaskTOFqaID.cxx:344 AliAnalysisTaskTOFqaID.cxx:345 AliAnalysisTaskTOFqaID.cxx:346 AliAnalysisTaskTOFqaID.cxx:347 AliAnalysisTaskTOFqaID.cxx:348 AliAnalysisTaskTOFqaID.cxx:349 AliAnalysisTaskTOFqaID.cxx:350 AliAnalysisTaskTOFqaID.cxx:351 AliAnalysisTaskTOFqaID.cxx:352 AliAnalysisTaskTOFqaID.cxx:353 AliAnalysisTaskTOFqaID.cxx:354 AliAnalysisTaskTOFqaID.cxx:355 AliAnalysisTaskTOFqaID.cxx:356 AliAnalysisTaskTOFqaID.cxx:357 AliAnalysisTaskTOFqaID.cxx:358 AliAnalysisTaskTOFqaID.cxx:359 AliAnalysisTaskTOFqaID.cxx:360 AliAnalysisTaskTOFqaID.cxx:361 AliAnalysisTaskTOFqaID.cxx:362 AliAnalysisTaskTOFqaID.cxx:363 AliAnalysisTaskTOFqaID.cxx:364 AliAnalysisTaskTOFqaID.cxx:365 AliAnalysisTaskTOFqaID.cxx:366 AliAnalysisTaskTOFqaID.cxx:367 AliAnalysisTaskTOFqaID.cxx:368 AliAnalysisTaskTOFqaID.cxx:369 AliAnalysisTaskTOFqaID.cxx:370 AliAnalysisTaskTOFqaID.cxx:371 AliAnalysisTaskTOFqaID.cxx:372 AliAnalysisTaskTOFqaID.cxx:373 AliAnalysisTaskTOFqaID.cxx:374 AliAnalysisTaskTOFqaID.cxx:375 AliAnalysisTaskTOFqaID.cxx:376 AliAnalysisTaskTOFqaID.cxx:377 AliAnalysisTaskTOFqaID.cxx:378 AliAnalysisTaskTOFqaID.cxx:379 AliAnalysisTaskTOFqaID.cxx:380 AliAnalysisTaskTOFqaID.cxx:381 AliAnalysisTaskTOFqaID.cxx:382 AliAnalysisTaskTOFqaID.cxx:383 AliAnalysisTaskTOFqaID.cxx:384 AliAnalysisTaskTOFqaID.cxx:385 AliAnalysisTaskTOFqaID.cxx:386 AliAnalysisTaskTOFqaID.cxx:387 AliAnalysisTaskTOFqaID.cxx:388 AliAnalysisTaskTOFqaID.cxx:389 AliAnalysisTaskTOFqaID.cxx:390 AliAnalysisTaskTOFqaID.cxx:391 AliAnalysisTaskTOFqaID.cxx:392 AliAnalysisTaskTOFqaID.cxx:393 AliAnalysisTaskTOFqaID.cxx:394 AliAnalysisTaskTOFqaID.cxx:395 AliAnalysisTaskTOFqaID.cxx:396 AliAnalysisTaskTOFqaID.cxx:397 AliAnalysisTaskTOFqaID.cxx:398 AliAnalysisTaskTOFqaID.cxx:399 AliAnalysisTaskTOFqaID.cxx:400 AliAnalysisTaskTOFqaID.cxx:401 AliAnalysisTaskTOFqaID.cxx:402 AliAnalysisTaskTOFqaID.cxx:403 AliAnalysisTaskTOFqaID.cxx:404 AliAnalysisTaskTOFqaID.cxx:405 AliAnalysisTaskTOFqaID.cxx:406 AliAnalysisTaskTOFqaID.cxx:407 AliAnalysisTaskTOFqaID.cxx:408 AliAnalysisTaskTOFqaID.cxx:409 AliAnalysisTaskTOFqaID.cxx:410 AliAnalysisTaskTOFqaID.cxx:411 AliAnalysisTaskTOFqaID.cxx:412 AliAnalysisTaskTOFqaID.cxx:413 AliAnalysisTaskTOFqaID.cxx:414 AliAnalysisTaskTOFqaID.cxx:415 AliAnalysisTaskTOFqaID.cxx:416 AliAnalysisTaskTOFqaID.cxx:417 AliAnalysisTaskTOFqaID.cxx:418 AliAnalysisTaskTOFqaID.cxx:419 AliAnalysisTaskTOFqaID.cxx:420 AliAnalysisTaskTOFqaID.cxx:421 AliAnalysisTaskTOFqaID.cxx:422 AliAnalysisTaskTOFqaID.cxx:423 AliAnalysisTaskTOFqaID.cxx:424 AliAnalysisTaskTOFqaID.cxx:425 AliAnalysisTaskTOFqaID.cxx:426 AliAnalysisTaskTOFqaID.cxx:427 AliAnalysisTaskTOFqaID.cxx:428 AliAnalysisTaskTOFqaID.cxx:429 AliAnalysisTaskTOFqaID.cxx:430 AliAnalysisTaskTOFqaID.cxx:431 AliAnalysisTaskTOFqaID.cxx:432 AliAnalysisTaskTOFqaID.cxx:433 AliAnalysisTaskTOFqaID.cxx:434 AliAnalysisTaskTOFqaID.cxx:435 AliAnalysisTaskTOFqaID.cxx:436 AliAnalysisTaskTOFqaID.cxx:437 AliAnalysisTaskTOFqaID.cxx:438 AliAnalysisTaskTOFqaID.cxx:439 AliAnalysisTaskTOFqaID.cxx:440 AliAnalysisTaskTOFqaID.cxx:441 AliAnalysisTaskTOFqaID.cxx:442 AliAnalysisTaskTOFqaID.cxx:443 AliAnalysisTaskTOFqaID.cxx:444 AliAnalysisTaskTOFqaID.cxx:445 AliAnalysisTaskTOFqaID.cxx:446 AliAnalysisTaskTOFqaID.cxx:447 AliAnalysisTaskTOFqaID.cxx:448 AliAnalysisTaskTOFqaID.cxx:449 AliAnalysisTaskTOFqaID.cxx:450 AliAnalysisTaskTOFqaID.cxx:451 AliAnalysisTaskTOFqaID.cxx:452 AliAnalysisTaskTOFqaID.cxx:453 AliAnalysisTaskTOFqaID.cxx:454 AliAnalysisTaskTOFqaID.cxx:455 AliAnalysisTaskTOFqaID.cxx:456 AliAnalysisTaskTOFqaID.cxx:457 AliAnalysisTaskTOFqaID.cxx:458 AliAnalysisTaskTOFqaID.cxx:459 AliAnalysisTaskTOFqaID.cxx:460 AliAnalysisTaskTOFqaID.cxx:461 AliAnalysisTaskTOFqaID.cxx:462 AliAnalysisTaskTOFqaID.cxx:463 AliAnalysisTaskTOFqaID.cxx:464 AliAnalysisTaskTOFqaID.cxx:465 AliAnalysisTaskTOFqaID.cxx:466 AliAnalysisTaskTOFqaID.cxx:467 AliAnalysisTaskTOFqaID.cxx:468 AliAnalysisTaskTOFqaID.cxx:469 AliAnalysisTaskTOFqaID.cxx:470 AliAnalysisTaskTOFqaID.cxx:471 AliAnalysisTaskTOFqaID.cxx:472 AliAnalysisTaskTOFqaID.cxx:473 AliAnalysisTaskTOFqaID.cxx:474 AliAnalysisTaskTOFqaID.cxx:475 AliAnalysisTaskTOFqaID.cxx:476 AliAnalysisTaskTOFqaID.cxx:477 AliAnalysisTaskTOFqaID.cxx:478 AliAnalysisTaskTOFqaID.cxx:479 AliAnalysisTaskTOFqaID.cxx:480 AliAnalysisTaskTOFqaID.cxx:481 AliAnalysisTaskTOFqaID.cxx:482 AliAnalysisTaskTOFqaID.cxx:483 AliAnalysisTaskTOFqaID.cxx:484 AliAnalysisTaskTOFqaID.cxx:485 AliAnalysisTaskTOFqaID.cxx:486 AliAnalysisTaskTOFqaID.cxx:487 AliAnalysisTaskTOFqaID.cxx:488 AliAnalysisTaskTOFqaID.cxx:489 AliAnalysisTaskTOFqaID.cxx:490 AliAnalysisTaskTOFqaID.cxx:491 AliAnalysisTaskTOFqaID.cxx:492 AliAnalysisTaskTOFqaID.cxx:493 AliAnalysisTaskTOFqaID.cxx:494 AliAnalysisTaskTOFqaID.cxx:495 AliAnalysisTaskTOFqaID.cxx:496 AliAnalysisTaskTOFqaID.cxx:497 AliAnalysisTaskTOFqaID.cxx:498 AliAnalysisTaskTOFqaID.cxx:499 AliAnalysisTaskTOFqaID.cxx:500 AliAnalysisTaskTOFqaID.cxx:501 AliAnalysisTaskTOFqaID.cxx:502 AliAnalysisTaskTOFqaID.cxx:503 AliAnalysisTaskTOFqaID.cxx:504 AliAnalysisTaskTOFqaID.cxx:505 AliAnalysisTaskTOFqaID.cxx:506 AliAnalysisTaskTOFqaID.cxx:507 AliAnalysisTaskTOFqaID.cxx:508 AliAnalysisTaskTOFqaID.cxx:509 AliAnalysisTaskTOFqaID.cxx:510 AliAnalysisTaskTOFqaID.cxx:511 AliAnalysisTaskTOFqaID.cxx:512 AliAnalysisTaskTOFqaID.cxx:513 AliAnalysisTaskTOFqaID.cxx:514 AliAnalysisTaskTOFqaID.cxx:515 AliAnalysisTaskTOFqaID.cxx:516 AliAnalysisTaskTOFqaID.cxx:517 AliAnalysisTaskTOFqaID.cxx:518 AliAnalysisTaskTOFqaID.cxx:519 AliAnalysisTaskTOFqaID.cxx:520 AliAnalysisTaskTOFqaID.cxx:521 AliAnalysisTaskTOFqaID.cxx:522 AliAnalysisTaskTOFqaID.cxx:523 AliAnalysisTaskTOFqaID.cxx:524 AliAnalysisTaskTOFqaID.cxx:525 AliAnalysisTaskTOFqaID.cxx:526 AliAnalysisTaskTOFqaID.cxx:527 AliAnalysisTaskTOFqaID.cxx:528 AliAnalysisTaskTOFqaID.cxx:529 AliAnalysisTaskTOFqaID.cxx:530 AliAnalysisTaskTOFqaID.cxx:531 AliAnalysisTaskTOFqaID.cxx:532 AliAnalysisTaskTOFqaID.cxx:533 AliAnalysisTaskTOFqaID.cxx:534 AliAnalysisTaskTOFqaID.cxx:535 AliAnalysisTaskTOFqaID.cxx:536 AliAnalysisTaskTOFqaID.cxx:537 AliAnalysisTaskTOFqaID.cxx:538 AliAnalysisTaskTOFqaID.cxx:539 AliAnalysisTaskTOFqaID.cxx:540 AliAnalysisTaskTOFqaID.cxx:541 AliAnalysisTaskTOFqaID.cxx:542 AliAnalysisTaskTOFqaID.cxx:543 AliAnalysisTaskTOFqaID.cxx:544 AliAnalysisTaskTOFqaID.cxx:545 AliAnalysisTaskTOFqaID.cxx:546 AliAnalysisTaskTOFqaID.cxx:547 AliAnalysisTaskTOFqaID.cxx:548 AliAnalysisTaskTOFqaID.cxx:549 AliAnalysisTaskTOFqaID.cxx:550 AliAnalysisTaskTOFqaID.cxx:551 AliAnalysisTaskTOFqaID.cxx:552 AliAnalysisTaskTOFqaID.cxx:553 AliAnalysisTaskTOFqaID.cxx:554 AliAnalysisTaskTOFqaID.cxx:555 AliAnalysisTaskTOFqaID.cxx:556 AliAnalysisTaskTOFqaID.cxx:557 AliAnalysisTaskTOFqaID.cxx:558 AliAnalysisTaskTOFqaID.cxx:559 AliAnalysisTaskTOFqaID.cxx:560 AliAnalysisTaskTOFqaID.cxx:561 AliAnalysisTaskTOFqaID.cxx:562 AliAnalysisTaskTOFqaID.cxx:563 AliAnalysisTaskTOFqaID.cxx:564 AliAnalysisTaskTOFqaID.cxx:565 AliAnalysisTaskTOFqaID.cxx:566 AliAnalysisTaskTOFqaID.cxx:567 AliAnalysisTaskTOFqaID.cxx:568 AliAnalysisTaskTOFqaID.cxx:569 AliAnalysisTaskTOFqaID.cxx:570 AliAnalysisTaskTOFqaID.cxx:571 AliAnalysisTaskTOFqaID.cxx:572 AliAnalysisTaskTOFqaID.cxx:573 AliAnalysisTaskTOFqaID.cxx:574 AliAnalysisTaskTOFqaID.cxx:575 AliAnalysisTaskTOFqaID.cxx:576 AliAnalysisTaskTOFqaID.cxx:577 AliAnalysisTaskTOFqaID.cxx:578 AliAnalysisTaskTOFqaID.cxx:579 AliAnalysisTaskTOFqaID.cxx:580 AliAnalysisTaskTOFqaID.cxx:581 AliAnalysisTaskTOFqaID.cxx:582 AliAnalysisTaskTOFqaID.cxx:583 AliAnalysisTaskTOFqaID.cxx:584 AliAnalysisTaskTOFqaID.cxx:585 AliAnalysisTaskTOFqaID.cxx:586 AliAnalysisTaskTOFqaID.cxx:587 AliAnalysisTaskTOFqaID.cxx:588 AliAnalysisTaskTOFqaID.cxx:589 AliAnalysisTaskTOFqaID.cxx:590 AliAnalysisTaskTOFqaID.cxx:591 AliAnalysisTaskTOFqaID.cxx:592 AliAnalysisTaskTOFqaID.cxx:593 AliAnalysisTaskTOFqaID.cxx:594 AliAnalysisTaskTOFqaID.cxx:595 AliAnalysisTaskTOFqaID.cxx:596 AliAnalysisTaskTOFqaID.cxx:597 AliAnalysisTaskTOFqaID.cxx:598 AliAnalysisTaskTOFqaID.cxx:599 AliAnalysisTaskTOFqaID.cxx:600 AliAnalysisTaskTOFqaID.cxx:601 AliAnalysisTaskTOFqaID.cxx:602 AliAnalysisTaskTOFqaID.cxx:603 AliAnalysisTaskTOFqaID.cxx:604 AliAnalysisTaskTOFqaID.cxx:605 AliAnalysisTaskTOFqaID.cxx:606 AliAnalysisTaskTOFqaID.cxx:607 AliAnalysisTaskTOFqaID.cxx:608 AliAnalysisTaskTOFqaID.cxx:609 AliAnalysisTaskTOFqaID.cxx:610 AliAnalysisTaskTOFqaID.cxx:611 AliAnalysisTaskTOFqaID.cxx:612 AliAnalysisTaskTOFqaID.cxx:613 AliAnalysisTaskTOFqaID.cxx:614 AliAnalysisTaskTOFqaID.cxx:615 AliAnalysisTaskTOFqaID.cxx:616 AliAnalysisTaskTOFqaID.cxx:617 AliAnalysisTaskTOFqaID.cxx:618 AliAnalysisTaskTOFqaID.cxx:619 AliAnalysisTaskTOFqaID.cxx:620 AliAnalysisTaskTOFqaID.cxx:621 AliAnalysisTaskTOFqaID.cxx:622 AliAnalysisTaskTOFqaID.cxx:623 AliAnalysisTaskTOFqaID.cxx:624 AliAnalysisTaskTOFqaID.cxx:625 AliAnalysisTaskTOFqaID.cxx:626 AliAnalysisTaskTOFqaID.cxx:627 AliAnalysisTaskTOFqaID.cxx:628 AliAnalysisTaskTOFqaID.cxx:629 AliAnalysisTaskTOFqaID.cxx:630 AliAnalysisTaskTOFqaID.cxx:631 AliAnalysisTaskTOFqaID.cxx:632 AliAnalysisTaskTOFqaID.cxx:633 AliAnalysisTaskTOFqaID.cxx:634 AliAnalysisTaskTOFqaID.cxx:635 AliAnalysisTaskTOFqaID.cxx:636 AliAnalysisTaskTOFqaID.cxx:637 AliAnalysisTaskTOFqaID.cxx:638 AliAnalysisTaskTOFqaID.cxx:639 AliAnalysisTaskTOFqaID.cxx:640 AliAnalysisTaskTOFqaID.cxx:641 AliAnalysisTaskTOFqaID.cxx:642 AliAnalysisTaskTOFqaID.cxx:643 AliAnalysisTaskTOFqaID.cxx:644 AliAnalysisTaskTOFqaID.cxx:645 AliAnalysisTaskTOFqaID.cxx:646 AliAnalysisTaskTOFqaID.cxx:647 AliAnalysisTaskTOFqaID.cxx:648 AliAnalysisTaskTOFqaID.cxx:649 AliAnalysisTaskTOFqaID.cxx:650 AliAnalysisTaskTOFqaID.cxx:651 AliAnalysisTaskTOFqaID.cxx:652 AliAnalysisTaskTOFqaID.cxx:653 AliAnalysisTaskTOFqaID.cxx:654 AliAnalysisTaskTOFqaID.cxx:655 AliAnalysisTaskTOFqaID.cxx:656 AliAnalysisTaskTOFqaID.cxx:657 AliAnalysisTaskTOFqaID.cxx:658 AliAnalysisTaskTOFqaID.cxx:659 AliAnalysisTaskTOFqaID.cxx:660 AliAnalysisTaskTOFqaID.cxx:661 AliAnalysisTaskTOFqaID.cxx:662 AliAnalysisTaskTOFqaID.cxx:663 AliAnalysisTaskTOFqaID.cxx:664 AliAnalysisTaskTOFqaID.cxx:665 AliAnalysisTaskTOFqaID.cxx:666 AliAnalysisTaskTOFqaID.cxx:667 AliAnalysisTaskTOFqaID.cxx:668 AliAnalysisTaskTOFqaID.cxx:669 AliAnalysisTaskTOFqaID.cxx:670 AliAnalysisTaskTOFqaID.cxx:671 AliAnalysisTaskTOFqaID.cxx:672 AliAnalysisTaskTOFqaID.cxx:673 AliAnalysisTaskTOFqaID.cxx:674 AliAnalysisTaskTOFqaID.cxx:675 AliAnalysisTaskTOFqaID.cxx:676 AliAnalysisTaskTOFqaID.cxx:677 AliAnalysisTaskTOFqaID.cxx:678 AliAnalysisTaskTOFqaID.cxx:679 AliAnalysisTaskTOFqaID.cxx:680 AliAnalysisTaskTOFqaID.cxx:681 AliAnalysisTaskTOFqaID.cxx:682 AliAnalysisTaskTOFqaID.cxx:683 AliAnalysisTaskTOFqaID.cxx:684 AliAnalysisTaskTOFqaID.cxx:685 AliAnalysisTaskTOFqaID.cxx:686 AliAnalysisTaskTOFqaID.cxx:687 AliAnalysisTaskTOFqaID.cxx:688 AliAnalysisTaskTOFqaID.cxx:689 AliAnalysisTaskTOFqaID.cxx:690 AliAnalysisTaskTOFqaID.cxx:691 AliAnalysisTaskTOFqaID.cxx:692 AliAnalysisTaskTOFqaID.cxx:693 AliAnalysisTaskTOFqaID.cxx:694 AliAnalysisTaskTOFqaID.cxx:695 AliAnalysisTaskTOFqaID.cxx:696 AliAnalysisTaskTOFqaID.cxx:697 AliAnalysisTaskTOFqaID.cxx:698 AliAnalysisTaskTOFqaID.cxx:699 AliAnalysisTaskTOFqaID.cxx:700 AliAnalysisTaskTOFqaID.cxx:701 AliAnalysisTaskTOFqaID.cxx:702 AliAnalysisTaskTOFqaID.cxx:703 AliAnalysisTaskTOFqaID.cxx:704 AliAnalysisTaskTOFqaID.cxx:705 AliAnalysisTaskTOFqaID.cxx:706 AliAnalysisTaskTOFqaID.cxx:707 AliAnalysisTaskTOFqaID.cxx:708 AliAnalysisTaskTOFqaID.cxx:709 AliAnalysisTaskTOFqaID.cxx:710 AliAnalysisTaskTOFqaID.cxx:711 AliAnalysisTaskTOFqaID.cxx:712 AliAnalysisTaskTOFqaID.cxx:713 AliAnalysisTaskTOFqaID.cxx:714 AliAnalysisTaskTOFqaID.cxx:715 AliAnalysisTaskTOFqaID.cxx:716 AliAnalysisTaskTOFqaID.cxx:717 AliAnalysisTaskTOFqaID.cxx:718 AliAnalysisTaskTOFqaID.cxx:719 AliAnalysisTaskTOFqaID.cxx:720 AliAnalysisTaskTOFqaID.cxx:721 AliAnalysisTaskTOFqaID.cxx:722 AliAnalysisTaskTOFqaID.cxx:723 AliAnalysisTaskTOFqaID.cxx:724 AliAnalysisTaskTOFqaID.cxx:725 AliAnalysisTaskTOFqaID.cxx:726 AliAnalysisTaskTOFqaID.cxx:727 AliAnalysisTaskTOFqaID.cxx:728 AliAnalysisTaskTOFqaID.cxx:729 AliAnalysisTaskTOFqaID.cxx:730 AliAnalysisTaskTOFqaID.cxx:731 AliAnalysisTaskTOFqaID.cxx:732 AliAnalysisTaskTOFqaID.cxx:733 AliAnalysisTaskTOFqaID.cxx:734 AliAnalysisTaskTOFqaID.cxx:735 AliAnalysisTaskTOFqaID.cxx:736 AliAnalysisTaskTOFqaID.cxx:737 AliAnalysisTaskTOFqaID.cxx:738 AliAnalysisTaskTOFqaID.cxx:739 AliAnalysisTaskTOFqaID.cxx:740 AliAnalysisTaskTOFqaID.cxx:741 AliAnalysisTaskTOFqaID.cxx:742 AliAnalysisTaskTOFqaID.cxx:743 AliAnalysisTaskTOFqaID.cxx:744 AliAnalysisTaskTOFqaID.cxx:745 AliAnalysisTaskTOFqaID.cxx:746 AliAnalysisTaskTOFqaID.cxx:747 AliAnalysisTaskTOFqaID.cxx:748 AliAnalysisTaskTOFqaID.cxx:749 AliAnalysisTaskTOFqaID.cxx:750 AliAnalysisTaskTOFqaID.cxx:751 AliAnalysisTaskTOFqaID.cxx:752 AliAnalysisTaskTOFqaID.cxx:753 AliAnalysisTaskTOFqaID.cxx:754 AliAnalysisTaskTOFqaID.cxx:755 AliAnalysisTaskTOFqaID.cxx:756 AliAnalysisTaskTOFqaID.cxx:757 AliAnalysisTaskTOFqaID.cxx:758 AliAnalysisTaskTOFqaID.cxx:759 AliAnalysisTaskTOFqaID.cxx:760 AliAnalysisTaskTOFqaID.cxx:761 AliAnalysisTaskTOFqaID.cxx:762 AliAnalysisTaskTOFqaID.cxx:763 AliAnalysisTaskTOFqaID.cxx:764 AliAnalysisTaskTOFqaID.cxx:765 AliAnalysisTaskTOFqaID.cxx:766 AliAnalysisTaskTOFqaID.cxx:767 AliAnalysisTaskTOFqaID.cxx:768 AliAnalysisTaskTOFqaID.cxx:769 AliAnalysisTaskTOFqaID.cxx:770 AliAnalysisTaskTOFqaID.cxx:771 AliAnalysisTaskTOFqaID.cxx:772 AliAnalysisTaskTOFqaID.cxx:773 AliAnalysisTaskTOFqaID.cxx:774 AliAnalysisTaskTOFqaID.cxx:775 AliAnalysisTaskTOFqaID.cxx:776 AliAnalysisTaskTOFqaID.cxx:777 AliAnalysisTaskTOFqaID.cxx:778 AliAnalysisTaskTOFqaID.cxx:779 AliAnalysisTaskTOFqaID.cxx:780 AliAnalysisTaskTOFqaID.cxx:781 AliAnalysisTaskTOFqaID.cxx:782 AliAnalysisTaskTOFqaID.cxx:783 AliAnalysisTaskTOFqaID.cxx:784 AliAnalysisTaskTOFqaID.cxx:785 AliAnalysisTaskTOFqaID.cxx:786 AliAnalysisTaskTOFqaID.cxx:787 AliAnalysisTaskTOFqaID.cxx:788 AliAnalysisTaskTOFqaID.cxx:789 AliAnalysisTaskTOFqaID.cxx:790 AliAnalysisTaskTOFqaID.cxx:791 AliAnalysisTaskTOFqaID.cxx:792 AliAnalysisTaskTOFqaID.cxx:793 AliAnalysisTaskTOFqaID.cxx:794 AliAnalysisTaskTOFqaID.cxx:795 AliAnalysisTaskTOFqaID.cxx:796 AliAnalysisTaskTOFqaID.cxx:797 AliAnalysisTaskTOFqaID.cxx:798 AliAnalysisTaskTOFqaID.cxx:799 AliAnalysisTaskTOFqaID.cxx:800 AliAnalysisTaskTOFqaID.cxx:801 AliAnalysisTaskTOFqaID.cxx:802 AliAnalysisTaskTOFqaID.cxx:803 AliAnalysisTaskTOFqaID.cxx:804 AliAnalysisTaskTOFqaID.cxx:805 AliAnalysisTaskTOFqaID.cxx:806 AliAnalysisTaskTOFqaID.cxx:807 AliAnalysisTaskTOFqaID.cxx:808 AliAnalysisTaskTOFqaID.cxx:809 AliAnalysisTaskTOFqaID.cxx:810 AliAnalysisTaskTOFqaID.cxx:811 AliAnalysisTaskTOFqaID.cxx:812 AliAnalysisTaskTOFqaID.cxx:813 AliAnalysisTaskTOFqaID.cxx:814 AliAnalysisTaskTOFqaID.cxx:815 AliAnalysisTaskTOFqaID.cxx:816 AliAnalysisTaskTOFqaID.cxx:817 AliAnalysisTaskTOFqaID.cxx:818 AliAnalysisTaskTOFqaID.cxx:819 AliAnalysisTaskTOFqaID.cxx:820 AliAnalysisTaskTOFqaID.cxx:821 AliAnalysisTaskTOFqaID.cxx:822 AliAnalysisTaskTOFqaID.cxx:823 AliAnalysisTaskTOFqaID.cxx:824 AliAnalysisTaskTOFqaID.cxx:825 AliAnalysisTaskTOFqaID.cxx:826 AliAnalysisTaskTOFqaID.cxx:827 AliAnalysisTaskTOFqaID.cxx:828 AliAnalysisTaskTOFqaID.cxx:829 AliAnalysisTaskTOFqaID.cxx:830 AliAnalysisTaskTOFqaID.cxx:831 AliAnalysisTaskTOFqaID.cxx:832 AliAnalysisTaskTOFqaID.cxx:833 AliAnalysisTaskTOFqaID.cxx:834 AliAnalysisTaskTOFqaID.cxx:835 AliAnalysisTaskTOFqaID.cxx:836 AliAnalysisTaskTOFqaID.cxx:837 AliAnalysisTaskTOFqaID.cxx:838 AliAnalysisTaskTOFqaID.cxx:839 AliAnalysisTaskTOFqaID.cxx:840 AliAnalysisTaskTOFqaID.cxx:841 AliAnalysisTaskTOFqaID.cxx:842 AliAnalysisTaskTOFqaID.cxx:843 AliAnalysisTaskTOFqaID.cxx:844 AliAnalysisTaskTOFqaID.cxx:845 AliAnalysisTaskTOFqaID.cxx:846 AliAnalysisTaskTOFqaID.cxx:847 AliAnalysisTaskTOFqaID.cxx:848 AliAnalysisTaskTOFqaID.cxx:849 AliAnalysisTaskTOFqaID.cxx:850 AliAnalysisTaskTOFqaID.cxx:851 AliAnalysisTaskTOFqaID.cxx:852 AliAnalysisTaskTOFqaID.cxx:853 AliAnalysisTaskTOFqaID.cxx:854 AliAnalysisTaskTOFqaID.cxx:855 AliAnalysisTaskTOFqaID.cxx:856 AliAnalysisTaskTOFqaID.cxx:857 AliAnalysisTaskTOFqaID.cxx:858 AliAnalysisTaskTOFqaID.cxx:859 AliAnalysisTaskTOFqaID.cxx:860 AliAnalysisTaskTOFqaID.cxx:861 AliAnalysisTaskTOFqaID.cxx:862 AliAnalysisTaskTOFqaID.cxx:863 AliAnalysisTaskTOFqaID.cxx:864 AliAnalysisTaskTOFqaID.cxx:865 AliAnalysisTaskTOFqaID.cxx:866 AliAnalysisTaskTOFqaID.cxx:867 AliAnalysisTaskTOFqaID.cxx:868 AliAnalysisTaskTOFqaID.cxx:869 AliAnalysisTaskTOFqaID.cxx:870 AliAnalysisTaskTOFqaID.cxx:871 AliAnalysisTaskTOFqaID.cxx:872 AliAnalysisTaskTOFqaID.cxx:873 AliAnalysisTaskTOFqaID.cxx:874 AliAnalysisTaskTOFqaID.cxx:875 AliAnalysisTaskTOFqaID.cxx:876 AliAnalysisTaskTOFqaID.cxx:877 AliAnalysisTaskTOFqaID.cxx:878 AliAnalysisTaskTOFqaID.cxx:879 AliAnalysisTaskTOFqaID.cxx:880 AliAnalysisTaskTOFqaID.cxx:881 AliAnalysisTaskTOFqaID.cxx:882 AliAnalysisTaskTOFqaID.cxx:883 AliAnalysisTaskTOFqaID.cxx:884 AliAnalysisTaskTOFqaID.cxx:885 AliAnalysisTaskTOFqaID.cxx:886 AliAnalysisTaskTOFqaID.cxx:887 AliAnalysisTaskTOFqaID.cxx:888 AliAnalysisTaskTOFqaID.cxx:889 AliAnalysisTaskTOFqaID.cxx:890 AliAnalysisTaskTOFqaID.cxx:891 AliAnalysisTaskTOFqaID.cxx:892 AliAnalysisTaskTOFqaID.cxx:893 AliAnalysisTaskTOFqaID.cxx:894 AliAnalysisTaskTOFqaID.cxx:895 AliAnalysisTaskTOFqaID.cxx:896 AliAnalysisTaskTOFqaID.cxx:897 AliAnalysisTaskTOFqaID.cxx:898 AliAnalysisTaskTOFqaID.cxx:899 AliAnalysisTaskTOFqaID.cxx:900 AliAnalysisTaskTOFqaID.cxx:901 AliAnalysisTaskTOFqaID.cxx:902 AliAnalysisTaskTOFqaID.cxx:903 AliAnalysisTaskTOFqaID.cxx:904 AliAnalysisTaskTOFqaID.cxx:905 AliAnalysisTaskTOFqaID.cxx:906 AliAnalysisTaskTOFqaID.cxx:907 AliAnalysisTaskTOFqaID.cxx:908 AliAnalysisTaskTOFqaID.cxx:909 AliAnalysisTaskTOFqaID.cxx:910 AliAnalysisTaskTOFqaID.cxx:911 AliAnalysisTaskTOFqaID.cxx:912 AliAnalysisTaskTOFqaID.cxx:913 AliAnalysisTaskTOFqaID.cxx:914 AliAnalysisTaskTOFqaID.cxx:915 AliAnalysisTaskTOFqaID.cxx:916 AliAnalysisTaskTOFqaID.cxx:917 AliAnalysisTaskTOFqaID.cxx:918 AliAnalysisTaskTOFqaID.cxx:919 AliAnalysisTaskTOFqaID.cxx:920 AliAnalysisTaskTOFqaID.cxx:921 AliAnalysisTaskTOFqaID.cxx:922 AliAnalysisTaskTOFqaID.cxx:923 AliAnalysisTaskTOFqaID.cxx:924 AliAnalysisTaskTOFqaID.cxx:925 AliAnalysisTaskTOFqaID.cxx:926 AliAnalysisTaskTOFqaID.cxx:927 AliAnalysisTaskTOFqaID.cxx:928 AliAnalysisTaskTOFqaID.cxx:929 AliAnalysisTaskTOFqaID.cxx:930 AliAnalysisTaskTOFqaID.cxx:931 AliAnalysisTaskTOFqaID.cxx:932 AliAnalysisTaskTOFqaID.cxx:933 AliAnalysisTaskTOFqaID.cxx:934 AliAnalysisTaskTOFqaID.cxx:935 AliAnalysisTaskTOFqaID.cxx:936 AliAnalysisTaskTOFqaID.cxx:937 AliAnalysisTaskTOFqaID.cxx:938 AliAnalysisTaskTOFqaID.cxx:939 AliAnalysisTaskTOFqaID.cxx:940 AliAnalysisTaskTOFqaID.cxx:941 AliAnalysisTaskTOFqaID.cxx:942 AliAnalysisTaskTOFqaID.cxx:943 AliAnalysisTaskTOFqaID.cxx:944 AliAnalysisTaskTOFqaID.cxx:945 AliAnalysisTaskTOFqaID.cxx:946 AliAnalysisTaskTOFqaID.cxx:947 AliAnalysisTaskTOFqaID.cxx:948 AliAnalysisTaskTOFqaID.cxx:949 AliAnalysisTaskTOFqaID.cxx:950 AliAnalysisTaskTOFqaID.cxx:951 AliAnalysisTaskTOFqaID.cxx:952 AliAnalysisTaskTOFqaID.cxx:953 AliAnalysisTaskTOFqaID.cxx:954 AliAnalysisTaskTOFqaID.cxx:955 AliAnalysisTaskTOFqaID.cxx:956 AliAnalysisTaskTOFqaID.cxx:957 AliAnalysisTaskTOFqaID.cxx:958 AliAnalysisTaskTOFqaID.cxx:959 AliAnalysisTaskTOFqaID.cxx:960 AliAnalysisTaskTOFqaID.cxx:961 AliAnalysisTaskTOFqaID.cxx:962 AliAnalysisTaskTOFqaID.cxx:963 AliAnalysisTaskTOFqaID.cxx:964 AliAnalysisTaskTOFqaID.cxx:965 AliAnalysisTaskTOFqaID.cxx:966 AliAnalysisTaskTOFqaID.cxx:967 AliAnalysisTaskTOFqaID.cxx:968 AliAnalysisTaskTOFqaID.cxx:969 AliAnalysisTaskTOFqaID.cxx:970 AliAnalysisTaskTOFqaID.cxx:971 AliAnalysisTaskTOFqaID.cxx:972 AliAnalysisTaskTOFqaID.cxx:973 AliAnalysisTaskTOFqaID.cxx:974 AliAnalysisTaskTOFqaID.cxx:975 AliAnalysisTaskTOFqaID.cxx:976 AliAnalysisTaskTOFqaID.cxx:977 AliAnalysisTaskTOFqaID.cxx:978 AliAnalysisTaskTOFqaID.cxx:979 AliAnalysisTaskTOFqaID.cxx:980 AliAnalysisTaskTOFqaID.cxx:981 AliAnalysisTaskTOFqaID.cxx:982 AliAnalysisTaskTOFqaID.cxx:983 AliAnalysisTaskTOFqaID.cxx:984 AliAnalysisTaskTOFqaID.cxx:985 AliAnalysisTaskTOFqaID.cxx:986 AliAnalysisTaskTOFqaID.cxx:987 AliAnalysisTaskTOFqaID.cxx:988 AliAnalysisTaskTOFqaID.cxx:989 AliAnalysisTaskTOFqaID.cxx:990 AliAnalysisTaskTOFqaID.cxx:991 AliAnalysisTaskTOFqaID.cxx:992 AliAnalysisTaskTOFqaID.cxx:993 AliAnalysisTaskTOFqaID.cxx:994 AliAnalysisTaskTOFqaID.cxx:995 AliAnalysisTaskTOFqaID.cxx:996 AliAnalysisTaskTOFqaID.cxx:997 AliAnalysisTaskTOFqaID.cxx:998 AliAnalysisTaskTOFqaID.cxx:999 AliAnalysisTaskTOFqaID.cxx:1000 AliAnalysisTaskTOFqaID.cxx:1001 AliAnalysisTaskTOFqaID.cxx:1002 AliAnalysisTaskTOFqaID.cxx:1003 AliAnalysisTaskTOFqaID.cxx:1004 AliAnalysisTaskTOFqaID.cxx:1005 AliAnalysisTaskTOFqaID.cxx:1006 AliAnalysisTaskTOFqaID.cxx:1007 AliAnalysisTaskTOFqaID.cxx:1008 AliAnalysisTaskTOFqaID.cxx:1009 AliAnalysisTaskTOFqaID.cxx:1010 AliAnalysisTaskTOFqaID.cxx:1011 AliAnalysisTaskTOFqaID.cxx:1012 AliAnalysisTaskTOFqaID.cxx:1013 AliAnalysisTaskTOFqaID.cxx:1014 AliAnalysisTaskTOFqaID.cxx:1015 AliAnalysisTaskTOFqaID.cxx:1016 AliAnalysisTaskTOFqaID.cxx:1017 AliAnalysisTaskTOFqaID.cxx:1018 AliAnalysisTaskTOFqaID.cxx:1019 AliAnalysisTaskTOFqaID.cxx:1020 AliAnalysisTaskTOFqaID.cxx:1021 AliAnalysisTaskTOFqaID.cxx:1022 AliAnalysisTaskTOFqaID.cxx:1023 AliAnalysisTaskTOFqaID.cxx:1024 AliAnalysisTaskTOFqaID.cxx:1025 AliAnalysisTaskTOFqaID.cxx:1026 AliAnalysisTaskTOFqaID.cxx:1027 AliAnalysisTaskTOFqaID.cxx:1028 AliAnalysisTaskTOFqaID.cxx:1029 AliAnalysisTaskTOFqaID.cxx:1030 AliAnalysisTaskTOFqaID.cxx:1031 AliAnalysisTaskTOFqaID.cxx:1032 AliAnalysisTaskTOFqaID.cxx:1033 AliAnalysisTaskTOFqaID.cxx:1034 AliAnalysisTaskTOFqaID.cxx:1035 AliAnalysisTaskTOFqaID.cxx:1036 AliAnalysisTaskTOFqaID.cxx:1037 AliAnalysisTaskTOFqaID.cxx:1038 AliAnalysisTaskTOFqaID.cxx:1039 AliAnalysisTaskTOFqaID.cxx:1040 AliAnalysisTaskTOFqaID.cxx:1041 AliAnalysisTaskTOFqaID.cxx:1042 AliAnalysisTaskTOFqaID.cxx:1043 AliAnalysisTaskTOFqaID.cxx:1044 AliAnalysisTaskTOFqaID.cxx:1045 AliAnalysisTaskTOFqaID.cxx:1046 AliAnalysisTaskTOFqaID.cxx:1047 AliAnalysisTaskTOFqaID.cxx:1048 AliAnalysisTaskTOFqaID.cxx:1049 AliAnalysisTaskTOFqaID.cxx:1050 AliAnalysisTaskTOFqaID.cxx:1051 AliAnalysisTaskTOFqaID.cxx:1052 AliAnalysisTaskTOFqaID.cxx:1053 AliAnalysisTaskTOFqaID.cxx:1054 AliAnalysisTaskTOFqaID.cxx:1055 AliAnalysisTaskTOFqaID.cxx:1056 AliAnalysisTaskTOFqaID.cxx:1057 AliAnalysisTaskTOFqaID.cxx:1058 AliAnalysisTaskTOFqaID.cxx:1059 AliAnalysisTaskTOFqaID.cxx:1060 AliAnalysisTaskTOFqaID.cxx:1061 AliAnalysisTaskTOFqaID.cxx:1062 AliAnalysisTaskTOFqaID.cxx:1063 AliAnalysisTaskTOFqaID.cxx:1064 AliAnalysisTaskTOFqaID.cxx:1065 AliAnalysisTaskTOFqaID.cxx:1066 AliAnalysisTaskTOFqaID.cxx:1067 AliAnalysisTaskTOFqaID.cxx:1068 AliAnalysisTaskTOFqaID.cxx:1069 AliAnalysisTaskTOFqaID.cxx:1070 AliAnalysisTaskTOFqaID.cxx:1071 AliAnalysisTaskTOFqaID.cxx:1072 AliAnalysisTaskTOFqaID.cxx:1073 AliAnalysisTaskTOFqaID.cxx:1074 AliAnalysisTaskTOFqaID.cxx:1075 AliAnalysisTaskTOFqaID.cxx:1076 AliAnalysisTaskTOFqaID.cxx:1077 AliAnalysisTaskTOFqaID.cxx:1078 AliAnalysisTaskTOFqaID.cxx:1079 AliAnalysisTaskTOFqaID.cxx:1080 AliAnalysisTaskTOFqaID.cxx:1081 AliAnalysisTaskTOFqaID.cxx:1082 AliAnalysisTaskTOFqaID.cxx:1083 AliAnalysisTaskTOFqaID.cxx:1084 AliAnalysisTaskTOFqaID.cxx:1085 AliAnalysisTaskTOFqaID.cxx:1086 AliAnalysisTaskTOFqaID.cxx:1087 AliAnalysisTaskTOFqaID.cxx:1088 AliAnalysisTaskTOFqaID.cxx:1089 AliAnalysisTaskTOFqaID.cxx:1090 AliAnalysisTaskTOFqaID.cxx:1091 AliAnalysisTaskTOFqaID.cxx:1092 AliAnalysisTaskTOFqaID.cxx:1093 AliAnalysisTaskTOFqaID.cxx:1094 AliAnalysisTaskTOFqaID.cxx:1095 AliAnalysisTaskTOFqaID.cxx:1096 AliAnalysisTaskTOFqaID.cxx:1097 AliAnalysisTaskTOFqaID.cxx:1098 AliAnalysisTaskTOFqaID.cxx:1099 AliAnalysisTaskTOFqaID.cxx:1100 AliAnalysisTaskTOFqaID.cxx:1101 AliAnalysisTaskTOFqaID.cxx:1102 AliAnalysisTaskTOFqaID.cxx:1103 AliAnalysisTaskTOFqaID.cxx:1104 AliAnalysisTaskTOFqaID.cxx:1105 AliAnalysisTaskTOFqaID.cxx:1106 AliAnalysisTaskTOFqaID.cxx:1107 AliAnalysisTaskTOFqaID.cxx:1108 AliAnalysisTaskTOFqaID.cxx:1109 AliAnalysisTaskTOFqaID.cxx:1110 AliAnalysisTaskTOFqaID.cxx:1111 AliAnalysisTaskTOFqaID.cxx:1112 AliAnalysisTaskTOFqaID.cxx:1113 AliAnalysisTaskTOFqaID.cxx:1114 AliAnalysisTaskTOFqaID.cxx:1115 AliAnalysisTaskTOFqaID.cxx:1116 AliAnalysisTaskTOFqaID.cxx:1117 AliAnalysisTaskTOFqaID.cxx:1118 AliAnalysisTaskTOFqaID.cxx:1119 AliAnalysisTaskTOFqaID.cxx:1120 AliAnalysisTaskTOFqaID.cxx:1121 AliAnalysisTaskTOFqaID.cxx:1122 AliAnalysisTaskTOFqaID.cxx:1123 AliAnalysisTaskTOFqaID.cxx:1124 AliAnalysisTaskTOFqaID.cxx:1125 AliAnalysisTaskTOFqaID.cxx:1126 AliAnalysisTaskTOFqaID.cxx:1127 AliAnalysisTaskTOFqaID.cxx:1128 AliAnalysisTaskTOFqaID.cxx:1129 AliAnalysisTaskTOFqaID.cxx:1130 AliAnalysisTaskTOFqaID.cxx:1131 AliAnalysisTaskTOFqaID.cxx:1132 AliAnalysisTaskTOFqaID.cxx:1133 AliAnalysisTaskTOFqaID.cxx:1134 AliAnalysisTaskTOFqaID.cxx:1135 AliAnalysisTaskTOFqaID.cxx:1136 AliAnalysisTaskTOFqaID.cxx:1137 AliAnalysisTaskTOFqaID.cxx:1138 AliAnalysisTaskTOFqaID.cxx:1139 AliAnalysisTaskTOFqaID.cxx:1140 AliAnalysisTaskTOFqaID.cxx:1141 AliAnalysisTaskTOFqaID.cxx:1142 AliAnalysisTaskTOFqaID.cxx:1143 AliAnalysisTaskTOFqaID.cxx:1144 AliAnalysisTaskTOFqaID.cxx:1145 AliAnalysisTaskTOFqaID.cxx:1146 AliAnalysisTaskTOFqaID.cxx:1147 AliAnalysisTaskTOFqaID.cxx:1148 AliAnalysisTaskTOFqaID.cxx:1149 AliAnalysisTaskTOFqaID.cxx:1150 AliAnalysisTaskTOFqaID.cxx:1151 AliAnalysisTaskTOFqaID.cxx:1152 AliAnalysisTaskTOFqaID.cxx:1153 AliAnalysisTaskTOFqaID.cxx:1154 AliAnalysisTaskTOFqaID.cxx:1155 AliAnalysisTaskTOFqaID.cxx:1156 AliAnalysisTaskTOFqaID.cxx:1157 AliAnalysisTaskTOFqaID.cxx:1158 AliAnalysisTaskTOFqaID.cxx:1159 AliAnalysisTaskTOFqaID.cxx:1160 AliAnalysisTaskTOFqaID.cxx:1161 AliAnalysisTaskTOFqaID.cxx:1162 AliAnalysisTaskTOFqaID.cxx:1163 AliAnalysisTaskTOFqaID.cxx:1164 AliAnalysisTaskTOFqaID.cxx:1165 AliAnalysisTaskTOFqaID.cxx:1166 AliAnalysisTaskTOFqaID.cxx:1167 AliAnalysisTaskTOFqaID.cxx:1168 AliAnalysisTaskTOFqaID.cxx:1169 AliAnalysisTaskTOFqaID.cxx:1170 AliAnalysisTaskTOFqaID.cxx:1171 AliAnalysisTaskTOFqaID.cxx:1172 AliAnalysisTaskTOFqaID.cxx:1173 AliAnalysisTaskTOFqaID.cxx:1174 AliAnalysisTaskTOFqaID.cxx:1175 AliAnalysisTaskTOFqaID.cxx:1176 AliAnalysisTaskTOFqaID.cxx:1177 AliAnalysisTaskTOFqaID.cxx:1178 AliAnalysisTaskTOFqaID.cxx:1179 AliAnalysisTaskTOFqaID.cxx:1180 AliAnalysisTaskTOFqaID.cxx:1181 AliAnalysisTaskTOFqaID.cxx:1182 AliAnalysisTaskTOFqaID.cxx:1183 AliAnalysisTaskTOFqaID.cxx:1184 AliAnalysisTaskTOFqaID.cxx:1185 AliAnalysisTaskTOFqaID.cxx:1186 AliAnalysisTaskTOFqaID.cxx:1187 AliAnalysisTaskTOFqaID.cxx:1188 AliAnalysisTaskTOFqaID.cxx:1189 AliAnalysisTaskTOFqaID.cxx:1190 AliAnalysisTaskTOFqaID.cxx:1191 AliAnalysisTaskTOFqaID.cxx:1192 AliAnalysisTaskTOFqaID.cxx:1193 AliAnalysisTaskTOFqaID.cxx:1194 AliAnalysisTaskTOFqaID.cxx:1195 AliAnalysisTaskTOFqaID.cxx:1196 AliAnalysisTaskTOFqaID.cxx:1197 AliAnalysisTaskTOFqaID.cxx:1198 AliAnalysisTaskTOFqaID.cxx:1199 AliAnalysisTaskTOFqaID.cxx:1200 AliAnalysisTaskTOFqaID.cxx:1201 AliAnalysisTaskTOFqaID.cxx:1202 AliAnalysisTaskTOFqaID.cxx:1203 AliAnalysisTaskTOFqaID.cxx:1204 AliAnalysisTaskTOFqaID.cxx:1205 AliAnalysisTaskTOFqaID.cxx:1206 AliAnalysisTaskTOFqaID.cxx:1207 AliAnalysisTaskTOFqaID.cxx:1208 AliAnalysisTaskTOFqaID.cxx:1209 AliAnalysisTaskTOFqaID.cxx:1210 AliAnalysisTaskTOFqaID.cxx:1211 AliAnalysisTaskTOFqaID.cxx:1212 AliAnalysisTaskTOFqaID.cxx:1213 AliAnalysisTaskTOFqaID.cxx:1214 AliAnalysisTaskTOFqaID.cxx:1215 AliAnalysisTaskTOFqaID.cxx:1216 AliAnalysisTaskTOFqaID.cxx:1217 AliAnalysisTaskTOFqaID.cxx:1218 AliAnalysisTaskTOFqaID.cxx:1219 AliAnalysisTaskTOFqaID.cxx:1220 AliAnalysisTaskTOFqaID.cxx:1221 AliAnalysisTaskTOFqaID.cxx:1222 AliAnalysisTaskTOFqaID.cxx:1223 AliAnalysisTaskTOFqaID.cxx:1224 AliAnalysisTaskTOFqaID.cxx:1225 AliAnalysisTaskTOFqaID.cxx:1226 AliAnalysisTaskTOFqaID.cxx:1227 AliAnalysisTaskTOFqaID.cxx:1228 AliAnalysisTaskTOFqaID.cxx:1229 AliAnalysisTaskTOFqaID.cxx:1230 AliAnalysisTaskTOFqaID.cxx:1231 AliAnalysisTaskTOFqaID.cxx:1232 AliAnalysisTaskTOFqaID.cxx:1233 AliAnalysisTaskTOFqaID.cxx:1234 AliAnalysisTaskTOFqaID.cxx:1235 AliAnalysisTaskTOFqaID.cxx:1236 AliAnalysisTaskTOFqaID.cxx:1237 AliAnalysisTaskTOFqaID.cxx:1238 AliAnalysisTaskTOFqaID.cxx:1239 AliAnalysisTaskTOFqaID.cxx:1240 AliAnalysisTaskTOFqaID.cxx:1241 AliAnalysisTaskTOFqaID.cxx:1242 AliAnalysisTaskTOFqaID.cxx:1243 AliAnalysisTaskTOFqaID.cxx:1244 AliAnalysisTaskTOFqaID.cxx:1245 AliAnalysisTaskTOFqaID.cxx:1246 AliAnalysisTaskTOFqaID.cxx:1247 AliAnalysisTaskTOFqaID.cxx:1248 AliAnalysisTaskTOFqaID.cxx:1249 AliAnalysisTaskTOFqaID.cxx:1250 AliAnalysisTaskTOFqaID.cxx:1251 AliAnalysisTaskTOFqaID.cxx:1252 AliAnalysisTaskTOFqaID.cxx:1253 AliAnalysisTaskTOFqaID.cxx:1254 AliAnalysisTaskTOFqaID.cxx:1255 AliAnalysisTaskTOFqaID.cxx:1256 AliAnalysisTaskTOFqaID.cxx:1257 AliAnalysisTaskTOFqaID.cxx:1258 AliAnalysisTaskTOFqaID.cxx:1259 AliAnalysisTaskTOFqaID.cxx:1260 AliAnalysisTaskTOFqaID.cxx:1261 AliAnalysisTaskTOFqaID.cxx:1262 AliAnalysisTaskTOFqaID.cxx:1263 AliAnalysisTaskTOFqaID.cxx:1264 AliAnalysisTaskTOFqaID.cxx:1265 AliAnalysisTaskTOFqaID.cxx:1266 AliAnalysisTaskTOFqaID.cxx:1267 AliAnalysisTaskTOFqaID.cxx:1268 AliAnalysisTaskTOFqaID.cxx:1269 AliAnalysisTaskTOFqaID.cxx:1270 AliAnalysisTaskTOFqaID.cxx:1271 AliAnalysisTaskTOFqaID.cxx:1272 AliAnalysisTaskTOFqaID.cxx:1273 AliAnalysisTaskTOFqaID.cxx:1274 AliAnalysisTaskTOFqaID.cxx:1275 AliAnalysisTaskTOFqaID.cxx:1276 AliAnalysisTaskTOFqaID.cxx:1277 AliAnalysisTaskTOFqaID.cxx:1278 AliAnalysisTaskTOFqaID.cxx:1279 AliAnalysisTaskTOFqaID.cxx:1280 AliAnalysisTaskTOFqaID.cxx:1281 AliAnalysisTaskTOFqaID.cxx:1282 AliAnalysisTaskTOFqaID.cxx:1283 AliAnalysisTaskTOFqaID.cxx:1284 AliAnalysisTaskTOFqaID.cxx:1285 AliAnalysisTaskTOFqaID.cxx:1286 AliAnalysisTaskTOFqaID.cxx:1287 AliAnalysisTaskTOFqaID.cxx:1288 AliAnalysisTaskTOFqaID.cxx:1289 AliAnalysisTaskTOFqaID.cxx:1290 AliAnalysisTaskTOFqaID.cxx:1291 AliAnalysisTaskTOFqaID.cxx:1292 AliAnalysisTaskTOFqaID.cxx:1293 AliAnalysisTaskTOFqaID.cxx:1294 AliAnalysisTaskTOFqaID.cxx:1295 AliAnalysisTaskTOFqaID.cxx:1296 AliAnalysisTaskTOFqaID.cxx:1297 AliAnalysisTaskTOFqaID.cxx:1298 AliAnalysisTaskTOFqaID.cxx:1299 AliAnalysisTaskTOFqaID.cxx:1300 AliAnalysisTaskTOFqaID.cxx:1301 AliAnalysisTaskTOFqaID.cxx:1302 AliAnalysisTaskTOFqaID.cxx:1303 AliAnalysisTaskTOFqaID.cxx:1304 AliAnalysisTaskTOFqaID.cxx:1305 AliAnalysisTaskTOFqaID.cxx:1306 AliAnalysisTaskTOFqaID.cxx:1307 AliAnalysisTaskTOFqaID.cxx:1308 AliAnalysisTaskTOFqaID.cxx:1309 AliAnalysisTaskTOFqaID.cxx:1310 AliAnalysisTaskTOFqaID.cxx:1311 AliAnalysisTaskTOFqaID.cxx:1312 AliAnalysisTaskTOFqaID.cxx:1313 AliAnalysisTaskTOFqaID.cxx:1314 AliAnalysisTaskTOFqaID.cxx:1315 AliAnalysisTaskTOFqaID.cxx:1316 AliAnalysisTaskTOFqaID.cxx:1317 AliAnalysisTaskTOFqaID.cxx:1318 AliAnalysisTaskTOFqaID.cxx:1319 AliAnalysisTaskTOFqaID.cxx:1320 AliAnalysisTaskTOFqaID.cxx:1321 AliAnalysisTaskTOFqaID.cxx:1322 AliAnalysisTaskTOFqaID.cxx:1323 AliAnalysisTaskTOFqaID.cxx:1324 AliAnalysisTaskTOFqaID.cxx:1325 AliAnalysisTaskTOFqaID.cxx:1326 AliAnalysisTaskTOFqaID.cxx:1327 AliAnalysisTaskTOFqaID.cxx:1328 AliAnalysisTaskTOFqaID.cxx:1329 AliAnalysisTaskTOFqaID.cxx:1330 AliAnalysisTaskTOFqaID.cxx:1331 AliAnalysisTaskTOFqaID.cxx:1332 AliAnalysisTaskTOFqaID.cxx:1333 AliAnalysisTaskTOFqaID.cxx:1334 AliAnalysisTaskTOFqaID.cxx:1335 AliAnalysisTaskTOFqaID.cxx:1336 AliAnalysisTaskTOFqaID.cxx:1337 AliAnalysisTaskTOFqaID.cxx:1338 AliAnalysisTaskTOFqaID.cxx:1339 AliAnalysisTaskTOFqaID.cxx:1340 AliAnalysisTaskTOFqaID.cxx:1341 AliAnalysisTaskTOFqaID.cxx:1342 AliAnalysisTaskTOFqaID.cxx:1343 AliAnalysisTaskTOFqaID.cxx:1344 AliAnalysisTaskTOFqaID.cxx:1345 AliAnalysisTaskTOFqaID.cxx:1346 AliAnalysisTaskTOFqaID.cxx:1347 AliAnalysisTaskTOFqaID.cxx:1348 AliAnalysisTaskTOFqaID.cxx:1349 AliAnalysisTaskTOFqaID.cxx:1350 AliAnalysisTaskTOFqaID.cxx:1351 AliAnalysisTaskTOFqaID.cxx:1352 AliAnalysisTaskTOFqaID.cxx:1353 AliAnalysisTaskTOFqaID.cxx:1354 AliAnalysisTaskTOFqaID.cxx:1355 AliAnalysisTaskTOFqaID.cxx:1356 AliAnalysisTaskTOFqaID.cxx:1357 AliAnalysisTaskTOFqaID.cxx:1358 AliAnalysisTaskTOFqaID.cxx:1359 AliAnalysisTaskTOFqaID.cxx:1360 AliAnalysisTaskTOFqaID.cxx:1361 AliAnalysisTaskTOFqaID.cxx:1362 AliAnalysisTaskTOFqaID.cxx:1363 AliAnalysisTaskTOFqaID.cxx:1364 AliAnalysisTaskTOFqaID.cxx:1365 AliAnalysisTaskTOFqaID.cxx:1366 AliAnalysisTaskTOFqaID.cxx:1367 AliAnalysisTaskTOFqaID.cxx:1368 AliAnalysisTaskTOFqaID.cxx:1369 AliAnalysisTaskTOFqaID.cxx:1370 AliAnalysisTaskTOFqaID.cxx:1371 AliAnalysisTaskTOFqaID.cxx:1372 AliAnalysisTaskTOFqaID.cxx:1373 AliAnalysisTaskTOFqaID.cxx:1374 AliAnalysisTaskTOFqaID.cxx:1375 AliAnalysisTaskTOFqaID.cxx:1376 AliAnalysisTaskTOFqaID.cxx:1377 AliAnalysisTaskTOFqaID.cxx:1378 AliAnalysisTaskTOFqaID.cxx:1379 AliAnalysisTaskTOFqaID.cxx:1380 AliAnalysisTaskTOFqaID.cxx:1381 AliAnalysisTaskTOFqaID.cxx:1382 AliAnalysisTaskTOFqaID.cxx:1383 AliAnalysisTaskTOFqaID.cxx:1384 AliAnalysisTaskTOFqaID.cxx:1385 AliAnalysisTaskTOFqaID.cxx:1386 AliAnalysisTaskTOFqaID.cxx:1387 AliAnalysisTaskTOFqaID.cxx:1388 AliAnalysisTaskTOFqaID.cxx:1389 AliAnalysisTaskTOFqaID.cxx:1390 AliAnalysisTaskTOFqaID.cxx:1391 AliAnalysisTaskTOFqaID.cxx:1392 AliAnalysisTaskTOFqaID.cxx:1393 AliAnalysisTaskTOFqaID.cxx:1394 AliAnalysisTaskTOFqaID.cxx:1395 AliAnalysisTaskTOFqaID.cxx:1396 AliAnalysisTaskTOFqaID.cxx:1397 AliAnalysisTaskTOFqaID.cxx:1398 AliAnalysisTaskTOFqaID.cxx:1399 AliAnalysisTaskTOFqaID.cxx:1400 AliAnalysisTaskTOFqaID.cxx:1401 AliAnalysisTaskTOFqaID.cxx:1402 AliAnalysisTaskTOFqaID.cxx:1403 AliAnalysisTaskTOFqaID.cxx:1404 AliAnalysisTaskTOFqaID.cxx:1405 AliAnalysisTaskTOFqaID.cxx:1406 AliAnalysisTaskTOFqaID.cxx:1407 AliAnalysisTaskTOFqaID.cxx:1408 AliAnalysisTaskTOFqaID.cxx:1409 AliAnalysisTaskTOFqaID.cxx:1410 AliAnalysisTaskTOFqaID.cxx:1411 AliAnalysisTaskTOFqaID.cxx:1412 AliAnalysisTaskTOFqaID.cxx:1413 AliAnalysisTaskTOFqaID.cxx:1414 AliAnalysisTaskTOFqaID.cxx:1415 AliAnalysisTaskTOFqaID.cxx:1416 AliAnalysisTaskTOFqaID.cxx:1417 AliAnalysisTaskTOFqaID.cxx:1418 AliAnalysisTaskTOFqaID.cxx:1419 AliAnalysisTaskTOFqaID.cxx:1420 AliAnalysisTaskTOFqaID.cxx:1421 AliAnalysisTaskTOFqaID.cxx:1422 AliAnalysisTaskTOFqaID.cxx:1423 AliAnalysisTaskTOFqaID.cxx:1424 AliAnalysisTaskTOFqaID.cxx:1425 AliAnalysisTaskTOFqaID.cxx:1426 AliAnalysisTaskTOFqaID.cxx:1427 AliAnalysisTaskTOFqaID.cxx:1428 AliAnalysisTaskTOFqaID.cxx:1429 AliAnalysisTaskTOFqaID.cxx:1430 AliAnalysisTaskTOFqaID.cxx:1431 AliAnalysisTaskTOFqaID.cxx:1432 AliAnalysisTaskTOFqaID.cxx:1433 AliAnalysisTaskTOFqaID.cxx:1434 AliAnalysisTaskTOFqaID.cxx:1435 AliAnalysisTaskTOFqaID.cxx:1436 AliAnalysisTaskTOFqaID.cxx:1437 AliAnalysisTaskTOFqaID.cxx:1438 AliAnalysisTaskTOFqaID.cxx:1439 AliAnalysisTaskTOFqaID.cxx:1440 AliAnalysisTaskTOFqaID.cxx:1441 AliAnalysisTaskTOFqaID.cxx:1442 AliAnalysisTaskTOFqaID.cxx:1443 AliAnalysisTaskTOFqaID.cxx:1444 AliAnalysisTaskTOFqaID.cxx:1445 AliAnalysisTaskTOFqaID.cxx:1446 AliAnalysisTaskTOFqaID.cxx:1447 AliAnalysisTaskTOFqaID.cxx:1448 AliAnalysisTaskTOFqaID.cxx:1449 AliAnalysisTaskTOFqaID.cxx:1450 AliAnalysisTaskTOFqaID.cxx:1451 AliAnalysisTaskTOFqaID.cxx:1452 AliAnalysisTaskTOFqaID.cxx:1453 AliAnalysisTaskTOFqaID.cxx:1454 AliAnalysisTaskTOFqaID.cxx:1455 AliAnalysisTaskTOFqaID.cxx:1456 AliAnalysisTaskTOFqaID.cxx:1457 AliAnalysisTaskTOFqaID.cxx:1458 AliAnalysisTaskTOFqaID.cxx:1459 AliAnalysisTaskTOFqaID.cxx:1460 AliAnalysisTaskTOFqaID.cxx:1461 AliAnalysisTaskTOFqaID.cxx:1462 AliAnalysisTaskTOFqaID.cxx:1463 AliAnalysisTaskTOFqaID.cxx:1464 AliAnalysisTaskTOFqaID.cxx:1465 AliAnalysisTaskTOFqaID.cxx:1466 AliAnalysisTaskTOFqaID.cxx:1467 AliAnalysisTaskTOFqaID.cxx:1468 AliAnalysisTaskTOFqaID.cxx:1469 AliAnalysisTaskTOFqaID.cxx:1470 AliAnalysisTaskTOFqaID.cxx:1471 AliAnalysisTaskTOFqaID.cxx:1472 AliAnalysisTaskTOFqaID.cxx:1473 AliAnalysisTaskTOFqaID.cxx:1474 AliAnalysisTaskTOFqaID.cxx:1475 AliAnalysisTaskTOFqaID.cxx:1476 AliAnalysisTaskTOFqaID.cxx:1477 AliAnalysisTaskTOFqaID.cxx:1478 AliAnalysisTaskTOFqaID.cxx:1479 AliAnalysisTaskTOFqaID.cxx:1480 AliAnalysisTaskTOFqaID.cxx:1481 AliAnalysisTaskTOFqaID.cxx:1482 AliAnalysisTaskTOFqaID.cxx:1483 AliAnalysisTaskTOFqaID.cxx:1484 AliAnalysisTaskTOFqaID.cxx:1485 AliAnalysisTaskTOFqaID.cxx:1486 AliAnalysisTaskTOFqaID.cxx:1487 AliAnalysisTaskTOFqaID.cxx:1488 AliAnalysisTaskTOFqaID.cxx:1489 AliAnalysisTaskTOFqaID.cxx:1490 AliAnalysisTaskTOFqaID.cxx:1491 AliAnalysisTaskTOFqaID.cxx:1492 AliAnalysisTaskTOFqaID.cxx:1493 AliAnalysisTaskTOFqaID.cxx:1494 AliAnalysisTaskTOFqaID.cxx:1495 AliAnalysisTaskTOFqaID.cxx:1496 AliAnalysisTaskTOFqaID.cxx:1497 AliAnalysisTaskTOFqaID.cxx:1498 AliAnalysisTaskTOFqaID.cxx:1499 AliAnalysisTaskTOFqaID.cxx:1500 AliAnalysisTaskTOFqaID.cxx:1501 AliAnalysisTaskTOFqaID.cxx:1502 AliAnalysisTaskTOFqaID.cxx:1503 AliAnalysisTaskTOFqaID.cxx:1504 AliAnalysisTaskTOFqaID.cxx:1505 AliAnalysisTaskTOFqaID.cxx:1506 AliAnalysisTaskTOFqaID.cxx:1507 AliAnalysisTaskTOFqaID.cxx:1508 AliAnalysisTaskTOFqaID.cxx:1509 AliAnalysisTaskTOFqaID.cxx:1510 AliAnalysisTaskTOFqaID.cxx:1511 AliAnalysisTaskTOFqaID.cxx:1512 AliAnalysisTaskTOFqaID.cxx:1513 AliAnalysisTaskTOFqaID.cxx:1514 AliAnalysisTaskTOFqaID.cxx:1515 AliAnalysisTaskTOFqaID.cxx:1516 AliAnalysisTaskTOFqaID.cxx:1517 AliAnalysisTaskTOFqaID.cxx:1518 AliAnalysisTaskTOFqaID.cxx:1519 AliAnalysisTaskTOFqaID.cxx:1520 AliAnalysisTaskTOFqaID.cxx:1521 AliAnalysisTaskTOFqaID.cxx:1522 AliAnalysisTaskTOFqaID.cxx:1523 AliAnalysisTaskTOFqaID.cxx:1524 AliAnalysisTaskTOFqaID.cxx:1525 AliAnalysisTaskTOFqaID.cxx:1526 AliAnalysisTaskTOFqaID.cxx:1527 AliAnalysisTaskTOFqaID.cxx:1528 AliAnalysisTaskTOFqaID.cxx:1529 AliAnalysisTaskTOFqaID.cxx:1530 AliAnalysisTaskTOFqaID.cxx:1531 AliAnalysisTaskTOFqaID.cxx:1532 AliAnalysisTaskTOFqaID.cxx:1533 AliAnalysisTaskTOFqaID.cxx:1534 AliAnalysisTaskTOFqaID.cxx:1535 AliAnalysisTaskTOFqaID.cxx:1536 AliAnalysisTaskTOFqaID.cxx:1537 AliAnalysisTaskTOFqaID.cxx:1538 AliAnalysisTaskTOFqaID.cxx:1539 AliAnalysisTaskTOFqaID.cxx:1540 AliAnalysisTaskTOFqaID.cxx:1541 AliAnalysisTaskTOFqaID.cxx:1542 AliAnalysisTaskTOFqaID.cxx:1543 AliAnalysisTaskTOFqaID.cxx:1544 AliAnalysisTaskTOFqaID.cxx:1545 AliAnalysisTaskTOFqaID.cxx:1546 AliAnalysisTaskTOFqaID.cxx:1547 AliAnalysisTaskTOFqaID.cxx:1548 AliAnalysisTaskTOFqaID.cxx:1549 AliAnalysisTaskTOFqaID.cxx:1550 AliAnalysisTaskTOFqaID.cxx:1551 AliAnalysisTaskTOFqaID.cxx:1552 AliAnalysisTaskTOFqaID.cxx:1553