#include <TChain.h>
#include <TFile.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TList.h>
#include <TClonesArray.h>
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliVEvent.h"
#include "AliVCaloTrigger.h"
#include "AliVCluster.h"
#include "AliEMCALGeometry.h"
#include "AliLog.h"
#include "AliCaloCalibPedestal.h"
#include "AliCDBEntry.h"
#include "AliCDBManager.h"
#include "AliAnalysisTaskEMCALClusterizeFast.h"
#include "AliCentrality.h"
#include "AliAnalysisTaskSATR.h"
ClassImp(AliAnalysisTaskSATR)
AliAnalysisTaskSATR::AliAnalysisTaskSATR() :
AliAnalysisTaskSE("AliAnalysisTaskSATR"),
fL0Calib(0.065),
fCaloClustersName("CaloClusters"),
fTriggerClustersName("triggerClusters"),
fMinCutL0Amp(-1),
fMaxCutL0Amp(999),
fMinCutClusEnergy(-1),
fMaxCutClusEnergy(999),
fTimeCutOn(0),
fMinL0Time(-20),
fMaxL0Time(20),
fMinClusTime(-1),
fMaxClusTime(1),
fCheckDeadClusters(0),
fPedestal(0),
fLoadPed(0),
fOCDBpath(""),
fMinDistanceFromBadTower(0.5),
fClusterizer(0),
fTriggerClusterizer(0),
fGeom(0),
fRun(-1),
fOutput(0),
fHistEclus(0),
fHistEmaxClus(0),
fHistEtavsPhiMaxClus(0),
fHistEtavsEmaxClus(0),
fHistPhivsEmaxClus(0),
fHistTOFvsEclus(0),
fHistTOFvsEclusC(0),
fHistNcellsvsEclus(0),
fHistAmpTClus(0),
fHistAmpMaxTClus(0),
fHistEtavsPhiMaxTClus(0),
fHistEmaxClusvsAmpMaxTClus(0),
fHistEmaxClusvsAmpMatchedTClus(0),
fHistEmaxClusNotMatchingTClus(0),
fHistEtavsPhiMaxClusNotMatchingTClus(0),
fHistEmatchedClusvsAmpMaxTClus(0),
fHistAmpMaxTClusNotMatchingClus(0),
fHistEtavsPhiMaxTClusNotMatchingClus(0),
fHistIdxMaxClusvsIdxMaxTClus(0),
fHistPhiMaxClusvsPhiMaxTClus(0),
fHistEtaMaxClusvsEtaMaxTClus(0),
fHistTOFmaxClusvsTimeMaxTClus(0),
fHistEmatchedClusvsAmpMatchedTClus(0),
fHistEmatchedClus(0),
fHistEmaxMatchedClus(0),
fHistAmpL1TimeSum(0),
fHistAmpMaxL1TimeSum(0),
fHistAmpMaxL1TimeSumVScent(0),
fHistAmpFastORvsAmpL1TimeSum(0),
fHistAmpFastOR(0),
fHistAmpMaxFastOR(0),
fHistTimeFastOR(0),
fHistEtavsPhiFastOR(0),
fHistEtavsPhiMaxFastOR(0),
fHistTimeDispFastOR(0),
fHistTimevsL0TimeFastOR(0),
fHistNtimesFastOR(0),
fHistEcells(0),
fHistEmaxCell(0),
fHistTOFvsEcells(0),
fHistTOFvsEcellsC(0),
fHistEmaxCellvsAmpFastOR(0)
{
}
AliAnalysisTaskSATR::AliAnalysisTaskSATR(const char *name) :
AliAnalysisTaskSE(name),
fL0Calib(0.065),
fCaloClustersName("CaloClusters"),
fTriggerClustersName("triggerClusters"),
fMinCutL0Amp(-1),
fMaxCutL0Amp(999),
fMinCutClusEnergy(-1),
fMaxCutClusEnergy(999),
fTimeCutOn(0),
fMinL0Time(-20),
fMaxL0Time(20),
fMinClusTime(-1),
fMaxClusTime(1),
fCheckDeadClusters(0),
fPedestal(0),
fLoadPed(0),
fOCDBpath(""),
fMinDistanceFromBadTower(0.5),
fClusterizer(0),
fTriggerClusterizer(0),
fGeom(0),
fRun(-1),
fOutput(0),
fHistEclus(0),
fHistEmaxClus(0),
fHistEtavsPhiMaxClus(0),
fHistEtavsEmaxClus(0),
fHistPhivsEmaxClus(0),
fHistTOFvsEclus(0),
fHistTOFvsEclusC(0),
fHistNcellsvsEclus(0),
fHistAmpTClus(0),
fHistAmpMaxTClus(0),
fHistEtavsPhiMaxTClus(0),
fHistEmaxClusvsAmpMaxTClus(0),
fHistEmaxClusvsAmpMatchedTClus(0),
fHistEmaxClusNotMatchingTClus(0),
fHistEtavsPhiMaxClusNotMatchingTClus(0),
fHistEmatchedClusvsAmpMaxTClus(0),
fHistAmpMaxTClusNotMatchingClus(0),
fHistEtavsPhiMaxTClusNotMatchingClus(0),
fHistIdxMaxClusvsIdxMaxTClus(0),
fHistPhiMaxClusvsPhiMaxTClus(0),
fHistEtaMaxClusvsEtaMaxTClus(0),
fHistTOFmaxClusvsTimeMaxTClus(0),
fHistEmatchedClusvsAmpMatchedTClus(0),
fHistEmatchedClus(0),
fHistEmaxMatchedClus(0),
fHistAmpL1TimeSum(0),
fHistAmpMaxL1TimeSum(0),
fHistAmpMaxL1TimeSumVScent(0),
fHistAmpFastORvsAmpL1TimeSum(0),
fHistAmpFastOR(0),
fHistAmpMaxFastOR(0),
fHistTimeFastOR(0),
fHistEtavsPhiFastOR(0),
fHistEtavsPhiMaxFastOR(0),
fHistTimeDispFastOR(0),
fHistTimevsL0TimeFastOR(0),
fHistNtimesFastOR(0),
fHistEcells(0),
fHistEmaxCell(0),
fHistTOFvsEcells(0),
fHistTOFvsEcellsC(0),
fHistEmaxCellvsAmpFastOR(0)
{
DefineOutput(1, TList::Class());
}
AliAnalysisTaskSATR::~AliAnalysisTaskSATR()
{
}
void AliAnalysisTaskSATR::UserCreateOutputObjects()
{
const Int_t L0Ampbins = 100;
const Float_t L0Amplow = 0;
const Float_t L0Ampup = 100;
const Int_t L0Timebins = 20;
const Float_t L0Timelow = 0;
const Float_t L0Timeup = 20;
const Int_t Ebins = 100;
const Float_t Elow = 0;
const Float_t Eup = 25;
const Int_t TOFbins = 100;
const Float_t TOFlow = 0;
const Float_t TOFup = 1e-6;
const Float_t L1Amplow = 0;
const Float_t L1Ampup = 400;
const Int_t L1Ampbins = 400;
const Int_t Indexesbins = 1440;
const Int_t Indexeslow = 0;
const Int_t Indexesup = 2880;
const Int_t nPhibins = 60;
const Int_t nPhilow = 0;
const Int_t nPhiup = 60;
const Int_t nEtabins = 48;
const Int_t nEtalow = 0;
const Int_t nEtaup = 48;
const Int_t RowTrgbins = 60;
const Int_t RowTrglow = 0;
const Int_t RowTrgup = 60;
const Int_t ColTrgbins = 48;
const Int_t ColTrglow = 0;
const Int_t ColTrgup = 48;
if (fClusterizer)
fCaloClustersName = fClusterizer->GetNewClusterArrayName();
if (fTriggerClusterizer)
fTriggerClustersName = fTriggerClusterizer->GetNewClusterArrayName();
fOutput = new TList();
fOutput->SetOwner();
fHistEclus = new TH1F("fHistEclus","Energy Cluster spectrum", Ebins, Elow, Eup);
fHistEclus->GetXaxis()->SetTitle("Cluster Energy [GeV]");
fHistEclus->GetYaxis()->SetTitle("counts");
fHistEmaxClus = new TH1F("fHistEmaxClus","Maximum Cluster Energy per event spectrum",Ebins, Elow, Eup);
fHistEmaxClus->GetXaxis()->SetTitle("Maximum Cluster Energy [GeV]");
fHistEmaxClus->GetYaxis()->SetTitle("counts");
fHistEtavsPhiMaxClus = new TH2I("fHistEtavsPhiMaxClus","nEta vs nPhi of maximum cluster per event", nEtabins, nEtalow, nEtaup, nPhibins, nPhilow, nPhiup);
fHistEtavsPhiMaxClus->GetXaxis()->SetTitle("nEta");
fHistEtavsPhiMaxClus->GetYaxis()->SetTitle("nPhi");
fHistEtavsEmaxClus = new TH2F("fHistEtavsEmaxClus","nEta vs Energy of maximum cluster per event", nEtabins, nEtalow, nEtaup, Ebins, Elow, Eup);
fHistEtavsEmaxClus->GetYaxis()->SetTitle("Energy [GeV]");
fHistEtavsEmaxClus->GetXaxis()->SetTitle("nEta");
fHistPhivsEmaxClus = new TH2F("fHistPhivsEmaxClus","nPhi vs Energy of maximum cluster per event", nPhibins, nPhilow, nPhiup, Ebins, Elow, Eup);
fHistPhivsEmaxClus->GetYaxis()->SetTitle("Energy [GeV]");
fHistPhivsEmaxClus->GetXaxis()->SetTitle("nPhi");
fHistTOFvsEclus = new TH2F("fHistTOFvsEclus","TOF vs Energy of clusters", TOFbins, TOFlow, TOFup, Ebins, Elow, Eup);
fHistTOFvsEclus->GetXaxis()->SetTitle("TOF [s]");
fHistTOFvsEclus->GetYaxis()->SetTitle("Energy [GeV]");
fHistTOFvsEclusC = new TH2F("fHistTOFvsEclusC","TOF vs Energy of clusters (corrected)", TOFbins, TOFlow, TOFup, Ebins, Elow, Eup);
fHistTOFvsEclusC->GetXaxis()->SetTitle("TOF");
fHistTOFvsEclusC->GetYaxis()->SetTitle("E [GeV]");
fHistNcellsvsEclus = new TH2F("fHistNcellsvsEclus","N_{cells} vs Energy of clusters", 20, 0, 20, Ebins, Elow, Eup);
fHistNcellsvsEclus->GetXaxis()->SetTitle("N_{cells}");
fHistNcellsvsEclus->GetYaxis()->SetTitle("E [GeV]");
fHistAmpTClus = new TH1F("fHistAmpTClus","L0 Trigger Candidate Amplitude spectrum", L0Ampbins, L0Amplow, L0Ampup * 4);
fHistAmpTClus->GetXaxis()->SetTitle("L0 Trigger Candidate Amplitude");
fHistAmpTClus->GetYaxis()->SetTitle("counts");
fHistAmpMaxTClus = new TH1F("fHistAmpMaxTClus","Maximum L0 Trigger Candidate Amplitude per event spectrum", L0Ampbins, L0Amplow, L0Ampup * 4);
fHistAmpMaxTClus->GetXaxis()->SetTitle("Maximum L0 Trigger Candidate Amplitude");
fHistAmpMaxTClus->GetYaxis()->SetTitle("counts");
fHistEtavsPhiMaxTClus = new TH2I("fHistEtavsPhiMaxTClus","nEta vs nPhi of maximum L0 Trigger Candidate per event", nEtabins, nEtalow, nEtaup, nPhibins, nPhilow, nPhiup);
fHistEtavsPhiMaxTClus->GetXaxis()->SetTitle("nEta");
fHistEtavsPhiMaxTClus->GetYaxis()->SetTitle("nPhi");
fHistEmaxClusvsAmpMaxTClus = new TH2F("fHistEmaxClusvsAmpMaxTClus","Maximum Cluster Energy vs Maximum L0 Trigger Candidate Amplitude", L0Ampbins, L0Amplow, L0Ampup * 4, Ebins, Elow, Eup);
fHistEmaxClusvsAmpMaxTClus->GetXaxis()->SetTitle("Maximum L0 Trigger Candidate Amplitude");
fHistEmaxClusvsAmpMaxTClus->GetYaxis()->SetTitle("Maximum Cluster Energy [GeV]");
fHistEmaxClusvsAmpMatchedTClus = new TH2F("fHistEmaxClusvsAmpMatchedTClus","Maximum Cluster Energy vs Matched L0 Trigger Candidate Amplitude", L0Ampbins, L0Amplow, L0Ampup * 4, Ebins, Elow, Eup);
fHistEmaxClusvsAmpMatchedTClus->GetXaxis()->SetTitle("Matched L0 Trigger Candidate Amplitude");
fHistEmaxClusvsAmpMatchedTClus->GetYaxis()->SetTitle("Maximum Cluster Energy [GeV]");
fHistEmaxClusNotMatchingTClus = new TH1F("fHistEmaxClusNotMatchingTClus","Maximum Cluster Energy per event not matching any fake ALTRO data", Ebins, Elow, Eup);
fHistEmaxClusNotMatchingTClus->GetXaxis()->SetTitle("Maximum Cluster Energy [GeV]");
fHistEmaxClusNotMatchingTClus->GetYaxis()->SetTitle("counts");
fHistEtavsPhiMaxClusNotMatchingTClus = new TH2I("fHistEtavsPhiMaxClusNotMatchingTClus","nEta vs nPhi of maximum cluster per event not matching any fake ALTRO data", nEtabins, nEtalow, nEtaup, nPhibins, nPhilow, nPhiup);
fHistEtavsPhiMaxClusNotMatchingTClus->GetXaxis()->SetTitle("nEta");
fHistEtavsPhiMaxClusNotMatchingTClus->GetYaxis()->SetTitle("nPhi");
fHistEmatchedClusvsAmpMaxTClus = new TH2F("fHistEmatchedClusvsAmpMaxTClus","Matched Cluster Energy vs Maximum L0 Trigger Candidate Amplitude", L0Ampbins, L0Amplow, L0Ampup * 4, Ebins, Elow, Eup);
fHistEmatchedClusvsAmpMaxTClus->GetXaxis()->SetTitle("Maximum L0 Trigger Candidate Amplitude");
fHistEmatchedClusvsAmpMaxTClus->GetYaxis()->SetTitle("Matched Cluster Energy [GeV]");
fHistAmpMaxTClusNotMatchingClus = new TH1F("fHistAmpMaxTClusNotMatchingClus","Maximum L0 Trigger Candidate Amplitude not matching any FEE data", L0Ampbins, L0Amplow, L0Ampup * 4);
fHistAmpMaxTClusNotMatchingClus->GetXaxis()->SetTitle("Maximum L0 Trigger Candidate Amplitude");
fHistAmpMaxTClusNotMatchingClus->GetYaxis()->SetTitle("counts");
fHistEtavsPhiMaxTClusNotMatchingClus = new TH2I("fHistEtavsPhiMaxTClusNotMatchingClus","nEta vs nPhi of maximum L0 Trigger Candidate Amplitude per event not matching any FEE data", nEtabins, nEtalow, nEtaup, nPhibins, nPhilow, nPhiup);
fHistEtavsPhiMaxTClusNotMatchingClus->GetXaxis()->SetTitle("nEta");
fHistEtavsPhiMaxTClusNotMatchingClus->GetYaxis()->SetTitle("nPhi");
fHistIdxMaxClusvsIdxMaxTClus = new TH2I("fHistIdxMaxClusvsIdxMaxTClus","Maximum Cluster Index vs Maximum L0 Trigger Candidate Index", Indexesbins, Indexeslow, Indexesup, Indexesbins, Indexeslow, Indexesup);
fHistIdxMaxClusvsIdxMaxTClus->GetXaxis()->SetTitle("Maximum L0 Trigger Candidate Index");
fHistIdxMaxClusvsIdxMaxTClus->GetYaxis()->SetTitle("Maximum Cluster Index");
fHistPhiMaxClusvsPhiMaxTClus = new TH2I("fHistPhiMaxClusvsPhiMaxTClus","Maximum Cluster nPhi vs Maximum L0 Trigger Candidate nPhi", nPhibins, nPhilow, nPhiup, nPhibins, nPhilow, nPhiup);
fHistPhiMaxClusvsPhiMaxTClus->GetXaxis()->SetTitle("Maximum L0 Trigger Candidate nPhi");
fHistPhiMaxClusvsPhiMaxTClus->GetYaxis()->SetTitle("Maximum Cluster nPhi");
fHistEtaMaxClusvsEtaMaxTClus = new TH2I("fHistEtaMaxClusvsEtaMaxTClus","Maximum Cluster nEta vs Maximum L0 Trigger Candidate nEta", nEtabins, nEtalow, nEtaup, nEtabins, nEtalow, nEtaup);
fHistEtaMaxClusvsEtaMaxTClus->GetXaxis()->SetTitle("Maximum L0 Trigger Candidate nEta");
fHistEtaMaxClusvsEtaMaxTClus->GetYaxis()->SetTitle("Maximum Cluster nEta");
fHistTOFmaxClusvsTimeMaxTClus = new TH2F("fHistTOFmaxClusvsTimeMaxTClus","Maximum Cluster TOF vs Maximum L0 Trigger Candidate Time", L0Timebins, L0Timelow, L0Timeup, TOFbins, TOFlow, TOFup);
fHistTOFmaxClusvsTimeMaxTClus->GetXaxis()->SetTitle("Maximum L0 Trigger Candidate Time");
fHistTOFmaxClusvsTimeMaxTClus->GetYaxis()->SetTitle("Maximum Cluster TOF");
fHistEmatchedClusvsAmpMatchedTClus = new TH2F("fHistEmatchedClusvsAmpMatchedTClus","Matched Cluster Energy vs Matched L0 Trigger Candidate Amplitude", L0Ampbins, L0Amplow, L0Ampup * 4, Ebins, Elow, Eup);
fHistEmatchedClusvsAmpMatchedTClus->GetXaxis()->SetTitle("Matched Trigger Candidate Amplitude");
fHistEmatchedClusvsAmpMatchedTClus->GetYaxis()->SetTitle("Matched Cluster Energy [GeV]");
fHistEmatchedClus = new TH1F("fHistEmatchedClus","Cluster Energy spectrum that matched L0 Trigger Candidate",Ebins, Elow, Eup);
fHistEmatchedClus->GetXaxis()->SetTitle("Cluster Energy [GeV]");
fHistEmatchedClus->GetYaxis()->SetTitle("counts");
fHistEmaxMatchedClus = new TH1F("fHistEmaxMatchedClus","Maximum Cluster Energy per event that matched L0 Trigger Candidate",Ebins, Elow, Eup);
fHistEmaxMatchedClus->GetXaxis()->SetTitle("Cluster Energy [GeV]");
fHistEmaxMatchedClus->GetYaxis()->SetTitle("counts");
fHistAmpL1TimeSum = new TH1F("fHistAmpL1TimeSum","L1 Time Sum Amplitude spectrum",L1Ampbins, L1Amplow, L1Ampup);
fHistAmpL1TimeSum->GetXaxis()->SetTitle("L1 Time Sum Amplitude");
fHistAmpL1TimeSum->GetYaxis()->SetTitle("counts");
fHistAmpMaxL1TimeSum = new TH1F("fHistAmpMaxL1TimeSum","L1 Time Sum Amplitude per event spectrum",L1Ampbins, L1Amplow, L1Ampup);
fHistAmpMaxL1TimeSum->GetXaxis()->SetTitle("Maximum L1 Time Sum Amplitude");
fHistAmpMaxL1TimeSum->GetYaxis()->SetTitle("counts");
fHistAmpMaxL1TimeSumVScent = new TH2F("fHistAmpMaxL1TimeSumVScent","L1 Time Sum Amplitude vs. centrality", 100, 0, 100, L1Ampbins, L1Amplow, L1Ampup);
fHistAmpMaxL1TimeSumVScent->GetXaxis()->SetTitle("Centrality [%]");
fHistAmpMaxL1TimeSumVScent->GetYaxis()->SetTitle("Maximum L1 Time Sum Amplitude");
fHistAmpFastORvsAmpL1TimeSum = new TH2F("fHistAmpFastORvsAmpL1TimeSum","FastOR Amplitude vs L1 Time Sum Amplitude",L0Ampbins, L0Amplow, L0Ampup,L1Ampbins, L1Amplow, L1Ampup);
fHistAmpFastORvsAmpL1TimeSum->GetXaxis()->SetTitle("FastOR Amplitude");
fHistAmpFastORvsAmpL1TimeSum->GetYaxis()->SetTitle("L1 Time Sum Amplitude");
fHistAmpFastOR = new TH1F("fHistAmpFastOR","FastOR Amplitude spectrum",L0Ampbins, L0Amplow, L0Ampup);
fHistAmpFastOR->GetXaxis()->SetTitle("FastOR Amplitude");
fHistAmpFastOR->GetYaxis()->SetTitle("counts");
fHistAmpMaxFastOR = new TH1F("fHistAmpMaxFastOR","Maximum FastOR Amplitude per event spectrum",L0Ampbins, L0Amplow, L0Ampup);
fHistAmpMaxFastOR->GetXaxis()->SetTitle("max FastOR amplitude");
fHistAmpMaxFastOR->GetYaxis()->SetTitle("counts");
fHistTimeFastOR = new TH1F("fHistTimeFastOR","FastOR L0 Time distribution", L0Timebins, L0Timelow, L0Timeup);
fHistTimeFastOR->GetXaxis()->SetTitle("FastOR L0 Time");
fHistTimeFastOR->GetYaxis()->SetTitle("counts");
fHistEtavsPhiFastOR = new TH2I("fHistEtavsPhiFastOR","FastOR gCol vs gRow", ColTrgbins, ColTrglow, ColTrgup, RowTrgbins, RowTrglow, RowTrgup);
fHistEtavsPhiFastOR->GetXaxis()->SetTitle("FastOR gCol");
fHistEtavsPhiFastOR->GetYaxis()->SetTitle("FastOR gRow");
fHistEtavsPhiMaxFastOR = new TH2I("fHistEtavsPhiMaxFastOR","Maximum FastOR gCol vs gRow", ColTrgbins, ColTrglow, ColTrgup, RowTrgbins, RowTrglow, RowTrgup);
fHistEtavsPhiMaxFastOR->GetXaxis()->SetTitle("Maximum FastOR gCol");
fHistEtavsPhiMaxFastOR->GetYaxis()->SetTitle("Maximum FastOR gRow");
fHistTimeDispFastOR = new TH1F("fHistTimeDispFastOR", "Dispersion from the maximum FastOR of L0 Time per event", L0Timebins * 2, -L0Timeup + .5, L0Timeup - .5);
fHistTimeDispFastOR->GetXaxis()->SetTitle("Disperion");
fHistTimeDispFastOR->GetYaxis()->SetTitle("counts");
fHistTimevsL0TimeFastOR = new TH2F("fHistTimevsL0TimeFastOR", "FastOR Time vs FastOR L0 Time", L0Timebins, L0Timelow, L0Timeup, L0Timebins, L0Timelow, L0Timeup);
fHistTimevsL0TimeFastOR->GetXaxis()->SetTitle("Time");
fHistTimevsL0TimeFastOR->GetYaxis()->SetTitle("L0 Time");
fHistNtimesFastOR = new TH1I("fHistNtimesFastOR", "FastOR NL0Times distribution", 5, 0, 5);
fHistNtimesFastOR->GetXaxis()->SetTitle("NL0Times");
fHistNtimesFastOR->GetYaxis()->SetTitle("counts");
fHistEcells = new TH1F("fHistEcells","Cell Energy spectrum", Ebins, Elow, Eup);
fHistEcells->GetXaxis()->SetTitle("Energy [GeV]");
fHistEcells->GetYaxis()->SetTitle("counts");
fHistEmaxCell = new TH1F("fHistEmaxCell","Maximum Cell Energy per event spectrum", Ebins, Elow, Eup);
fHistEmaxCell->GetXaxis()->SetTitle("Maximum Cell Energy [GeV]");
fHistEmaxCell->GetYaxis()->SetTitle("counts");
fHistTOFvsEcells = new TH2F("fHistTOFvsEcells","TOF vs Energy of cells", TOFbins, TOFlow, TOFup, Ebins, Elow, Eup);
fHistTOFvsEcells->GetXaxis()->SetTitle("TOF [s]");
fHistTOFvsEcells->GetYaxis()->SetTitle("Energy [GeV]");
fHistTOFvsEcellsC = new TH2F("fHistTOFvsEcellsC","TOF vs Energy of cells (corrected)", TOFbins, TOFlow, TOFup, Ebins, Elow, Eup);
fHistTOFvsEcellsC->GetXaxis()->SetTitle("TOF");
fHistTOFvsEcellsC->GetYaxis()->SetTitle("E [GeV]");
fHistEmaxCellvsAmpFastOR = new TH2F("fHistEmaxCellvsAmpFastOR","Maximum Cell Energy vs Maximum FastOR Amplitude", L0Ampbins, L0Amplow, L0Ampup, Ebins, Elow, Eup);
fHistEmaxCellvsAmpFastOR->GetXaxis()->SetTitle("Maximum FastOR Amplitude");
fHistEmaxCellvsAmpFastOR->GetYaxis()->SetTitle("Maximum Cell Energy [GeV]");
fOutput->Add(fHistEclus);
fOutput->Add(fHistEmaxClus);
fOutput->Add(fHistEtavsPhiMaxClus);
fOutput->Add(fHistEtavsEmaxClus);
fOutput->Add(fHistPhivsEmaxClus);
fOutput->Add(fHistTOFvsEclus);
fOutput->Add(fHistTOFvsEclusC);
fOutput->Add(fHistNcellsvsEclus);
fOutput->Add(fHistAmpTClus);
fOutput->Add(fHistAmpMaxTClus);
fOutput->Add(fHistEtavsPhiMaxTClus);
fOutput->Add(fHistEmaxClusvsAmpMaxTClus);
fOutput->Add(fHistEmaxClusvsAmpMatchedTClus);
fOutput->Add(fHistEmaxClusNotMatchingTClus);
fOutput->Add(fHistEtavsPhiMaxClusNotMatchingTClus);
fOutput->Add(fHistEmatchedClusvsAmpMaxTClus);
fOutput->Add(fHistAmpMaxTClusNotMatchingClus);
fOutput->Add(fHistEtavsPhiMaxTClusNotMatchingClus);
fOutput->Add(fHistIdxMaxClusvsIdxMaxTClus);
fOutput->Add(fHistPhiMaxClusvsPhiMaxTClus);
fOutput->Add(fHistEtaMaxClusvsEtaMaxTClus);
fOutput->Add(fHistTOFmaxClusvsTimeMaxTClus);
fOutput->Add(fHistEmatchedClusvsAmpMatchedTClus);
fOutput->Add(fHistEmatchedClus);
fOutput->Add(fHistEmaxMatchedClus);
fOutput->Add(fHistAmpL1TimeSum);
fOutput->Add(fHistAmpMaxL1TimeSum);
fOutput->Add(fHistAmpMaxL1TimeSumVScent);
fOutput->Add(fHistAmpFastORvsAmpL1TimeSum);
fOutput->Add(fHistAmpFastOR);
fOutput->Add(fHistAmpMaxFastOR);
fOutput->Add(fHistTimeFastOR);
fOutput->Add(fHistEtavsPhiFastOR);
fOutput->Add(fHistEtavsPhiMaxFastOR);
fOutput->Add(fHistTimeDispFastOR);
fOutput->Add(fHistTimevsL0TimeFastOR);
fOutput->Add(fHistNtimesFastOR);
fOutput->Add(fHistEcells);
fOutput->Add(fHistEmaxCell);
fOutput->Add(fHistTOFvsEcells);
fOutput->Add(fHistTOFvsEcellsC);
fOutput->Add(fHistEmaxCellvsAmpFastOR);
PostData(1, fOutput);
}
void AliAnalysisTaskSATR::Init()
{
fGeom = AliEMCALGeometry::GetInstance("EMCAL_COMPLETEV1");
if (!fGeom) {
AliError("Couldn't get geometry. Returning...");
return;
}
if (fRun <= 0)
return;
AliCDBManager *cdb = AliCDBManager::Instance();
if (!fPedestal && fLoadPed) {
if (!cdb->IsDefaultStorageSet() && !fOCDBpath.IsNull())
cdb->SetDefaultStorage(fOCDBpath);
cdb->SetRun(fRun);
AliCDBEntry *entry = static_cast<AliCDBEntry*>(AliCDBManager::Instance()->Get("EMCAL/Calib/Pedestals"));
if (entry)
fPedestal = static_cast<AliCaloCalibPedestal*>(entry->GetObject());
}
}
void AliAnalysisTaskSATR::UserExec(Option_t *)
{
AliVEvent *event = InputEvent();
if (!event){
AliError("ERROR: Could not retrieve event");
return;
}
fRun = event->GetRunNumber();
Float_t cent = 99;
AliCentrality *centobj = InputEvent()->GetCentrality();
if (centobj) {
cent = centobj->GetCentralityPercentile("V0M");
}
Init();
TClonesArray *caloClusters = dynamic_cast<TClonesArray*>(event->FindListObject(fCaloClustersName));
if (!caloClusters){
AliError("Troubles trying to load clusters!");
caloClusters = dynamic_cast<TClonesArray*>(event->FindListObject("caloClusters"));
}
if(!caloClusters){
AliError("Cannot get the CaloClusters!");
return;
}
Int_t NumberOfCaloClusters = caloClusters->GetEntriesFast();
TClonesArray *triggerClusters = dynamic_cast<TClonesArray*>(event->FindListObject(fTriggerClustersName));
Int_t NumberOfTriggerClusters = 0;
if(triggerClusters){
NumberOfTriggerClusters = triggerClusters->GetEntriesFast();
}
Float_t clusterTime_corr;
if(event->GetBunchCrossNumber() % 4 < 2 )
clusterTime_corr = -0.0000001;
else
clusterTime_corr = 0;
Float_t maxL0amp = -1;
for (Int_t i = 0; i < NumberOfTriggerClusters; i++) {
AliVCluster* trgCluster = static_cast<AliVCluster*>(triggerClusters->At(i));
if (!trgCluster)
continue;
Float_t L0amp = trgCluster->E();
if (fCheckDeadClusters && trgCluster->GetDistanceToBadChannel() < 3)
continue;
if (fTimeCutOn && (trgCluster->GetTOF() < fMinL0Time || trgCluster->GetTOF() > fMaxL0Time))
continue;
if (maxL0amp < L0amp)
maxL0amp = L0amp;
}
if (maxL0amp > fMaxCutL0Amp || maxL0amp < fMinCutL0Amp) {
AliWarning(Form("Event skipped because maximum trigger cluster amplitude = %f out of limits (%f, %f)", maxL0amp, fMinCutL0Amp, fMaxCutL0Amp));
return;
}
Float_t maxe = -1;
for (Int_t iClusters = 0; iClusters < NumberOfCaloClusters; iClusters++) {
AliVCluster* cluster = dynamic_cast<AliVCluster*>(caloClusters->At(iClusters));
if (!cluster){
AliError(Form("Could not receive cluster %d", iClusters));
continue;
}
if (!(cluster->IsEMCAL()))
continue;
if (fCheckDeadClusters && cluster->GetDistanceToBadChannel() < 3) {
continue;
}
if (fTimeCutOn && (cluster->GetTOF() + clusterTime_corr < fMinClusTime || cluster->GetTOF() + clusterTime_corr > fMaxClusTime))
continue;
if (maxe < cluster->E()){
maxe = cluster->E();
}
}
if (maxe > fMaxCutClusEnergy || maxL0amp < fMinCutClusEnergy) {
AliWarning(Form("Event skipped because maximum cluster energy = %f out of limits (%f, %f)", maxe, fMaxCutClusEnergy, fMinCutClusEnergy));
return;
}
AliVCaloTrigger *triggers = event->GetCaloTrigger("EMCAL");
Float_t maxL0FastORamp = -1;
Float_t maxL0FastORtime = -1;
if (triggers && triggers->GetEntries() > 0) {
triggers->Reset();
Float_t L0FastORamp = 0;
while (triggers->Next()) {
triggers->GetAmplitude(L0FastORamp);
if (L0FastORamp < 0)
continue;
if (maxL0FastORamp < L0FastORamp) {
Int_t ntimes = 0;
triggers->GetNL0Times(ntimes);
if (fTimeCutOn && ntimes < 1) {
AliWarning(Form("FastOR removed from analysis because did not contribute to L0 trigger (no L0 time information)"));
continue;
}
maxL0FastORamp = L0FastORamp;
Int_t trgtimes[25];
triggers->GetL0Times(trgtimes);
maxL0FastORtime = trgtimes[0];
}
}
}
maxL0FastORamp = -1;
Int_t maxL0FastORrow = -1;
Int_t maxL0FastORcol = -1;
Float_t maxL1amp = -1;
Float_t TimeBinAmp = 0;
if (triggers && triggers->GetEntries() > 0) {
triggers->Reset();
Float_t L0FastORamp = 0;
Int_t L1amp = 0;
while (triggers->Next()) {
triggers->GetAmplitude(L0FastORamp);
if (L0FastORamp < 0)
continue;
Int_t ntimes = 0;
triggers->GetNL0Times(ntimes);
triggers->GetTime(TimeBinAmp);
fHistNtimesFastOR->Fill(ntimes);
if (ntimes > 0) {
Int_t trgtimes[25];
triggers->GetL0Times(trgtimes);
Int_t mintime = trgtimes[0];
Int_t maxtime = trgtimes[0];
for (Int_t i = 0; i < ntimes; ++i) {
if (trgtimes[i] < mintime)
mintime = trgtimes[i];
if (maxtime < trgtimes[i])
maxtime = trgtimes[i];
fHistTimeFastOR->Fill(trgtimes[i]);
fHistTimevsL0TimeFastOR->Fill(TimeBinAmp, trgtimes[i]);
fHistTimeDispFastOR->Fill(trgtimes[i] - maxL0FastORtime);
}
if (fTimeCutOn && ((fMinL0Time > mintime) || (fMaxL0Time < maxtime)))
continue;
}
if (fTimeCutOn && ntimes < 1)
continue;
Int_t gCol=0, gRow=0;
triggers->GetPosition(gCol, gRow);
Int_t find = -1;
fGeom->GetAbsFastORIndexFromPositionInEMCAL(gCol,gRow,find);
if (find < 0)
continue;
Int_t cidx[4] = {-1};
Bool_t ret = fGeom->GetCellIndexFromFastORIndex(find, cidx);
if (!ret)
continue;
Int_t nSupMod = 0, nModule = 0, nIphi = 0, nIeta = 0, iphi = 0, ieta = 0;
Bool_t deadCluster = kFALSE;
if (fCheckDeadClusters && fPedestal) {
for (Int_t i = 0; i < 4; i++){
fGeom->GetCellIndex(cidx[i], nSupMod, nModule, nIphi, nIeta);
fGeom->GetCellPhiEtaIndexInSModule(nSupMod, nModule, nIphi, nIeta, iphi, ieta);
Double_t d = fPedestal->GetDeadMap(nSupMod)->GetBinContent(ieta,iphi);
if (d == AliCaloCalibPedestal::kDead || d == AliCaloCalibPedestal::kHot){
AliWarning(Form("Dead/hot FastOR removed from analysis"));
deadCluster = kTRUE;
}
}
}
if (deadCluster)
continue;
fHistAmpFastOR->Fill(L0FastORamp);
fHistEtavsPhiFastOR->Fill(gCol, gRow);
if (maxL0FastORamp < L0FastORamp) {
maxL0FastORamp = L0FastORamp;
maxL0FastORcol = gCol;
maxL0FastORrow = gRow;
}
triggers->GetL1TimeSum(L1amp);
fHistAmpL1TimeSum->Fill(L1amp);
fHistAmpFastORvsAmpL1TimeSum->Fill(L0FastORamp,L1amp);
if (maxL1amp < L1amp)
maxL1amp = L1amp;
}
}
if (maxL0FastORamp > -1) {
fHistAmpMaxFastOR->Fill(maxL0FastORamp);
fHistEtavsPhiMaxFastOR->Fill(maxL0FastORcol, maxL0FastORrow);
}
if (maxL1amp > -1) {
fHistAmpMaxL1TimeSum->Fill(maxL1amp);
fHistAmpMaxL1TimeSumVScent->Fill(cent, maxL1amp);
}
maxL0amp = 0;
Float_t EmatchMaxL0 = -1;
Int_t maxL0index = -1;
Float_t EmatchL0 = -1;
AliVCluster* maxTcluster = 0;
for (Int_t i = 0; i < NumberOfTriggerClusters; i++){
AliVCluster* trgCluster = dynamic_cast<AliVCluster*>(triggerClusters->At(i));
if (!trgCluster)
continue;
if (fCheckDeadClusters && trgCluster->GetDistanceToBadChannel() < 3) {
AliWarning(Form("Trigger cluster %d removed from analysis because distance to bad channel = %f < 3", i, trgCluster->GetDistanceToBadChannel()));
continue;
}
if (fTimeCutOn && (trgCluster->GetTOF() < fMinL0Time || trgCluster->GetTOF() > fMaxL0Time)) {
AliWarning(Form("Trigger cluster %d removed from analysis because out of time %f, limits (%d, %d)", i, trgCluster->GetTOF(), fMinL0Time, fMaxL0Time));
continue;
}
Float_t L0amp = trgCluster->E();
fHistAmpTClus->Fill(L0amp);
AliVCluster* matchedcluster = GetClusterFromId(caloClusters, trgCluster->GetID());
if (matchedcluster) {
EmatchL0 = matchedcluster->E();
fHistEmatchedClus->Fill(EmatchL0);
fHistEmatchedClusvsAmpMatchedTClus->Fill(L0amp, EmatchL0);
}
if (maxL0amp < L0amp) {
maxL0amp = L0amp;
maxL0index = trgCluster->GetID();
EmatchMaxL0 = EmatchL0;
maxTcluster = trgCluster;
}
}
Int_t etaMaxTClus = 0;
Int_t phiMaxTClus = 0;
if (maxTcluster != 0) {
fHistAmpMaxTClus->Fill(maxL0amp);
fHistEmaxMatchedClus->Fill(EmatchMaxL0);
if (fTriggerClusterizer) {
Int_t nEtaDigitsSupMod = fGeom->GetNEta() * fGeom->GetNETAdiv();
Int_t nPhiDigitsSupMod = fGeom->GetNPhi() * fGeom->GetNPHIdiv();
Int_t nTRUPhi = 1;
Int_t nTRUEta = 1;
Int_t nEtaDigits = nEtaDigitsSupMod * fGeom->GetNumberOfSuperModules() / fGeom->GetNPhiSuperModule();
Int_t nPhiDigits = nPhiDigitsSupMod * fGeom->GetNPhiSuperModule();
if (fTriggerClusterizer->GetTRUShift()) {
nTRUPhi = fGeom->GetNPhiSuperModule() * 3;
nTRUEta = fGeom->GetNumberOfSuperModules() / fGeom->GetNPhiSuperModule();
nEtaDigits /= nTRUEta;
nPhiDigits /= nTRUPhi;
}
Int_t nClusEtaNoShift = nEtaDigits / fTriggerClusterizer->GetnEta();
Int_t nClusPhiNoShift = nPhiDigits / fTriggerClusterizer->GetnPhi();
Int_t nClusters = nClusEtaNoShift * nClusPhiNoShift * nTRUEta * nTRUPhi;
etaMaxTClus = (maxTcluster->GetID() % nClusters) / (nClusPhiNoShift * nTRUPhi);
phiMaxTClus = (maxTcluster->GetID() % nClusters) % (nClusPhiNoShift * nTRUPhi);
fHistEtavsPhiMaxTClus->Fill(etaMaxTClus, phiMaxTClus);
}
AliVCluster *matchedClus = GetClusterFromId(caloClusters, maxTcluster->GetID());
if (!matchedClus) {
fHistAmpMaxTClusNotMatchingClus->Fill(maxL0amp);
if (fClusterizer)
fHistEtavsPhiMaxTClusNotMatchingClus->Fill(etaMaxTClus, phiMaxTClus);
}
else {
fHistEmatchedClusvsAmpMaxTClus->Fill(maxL0amp, matchedClus->E());
}
}
maxe = 0;
Float_t maxClusterTime = 0;
AliVCluster* maxcluster = 0;
Int_t maxClusId = -1;
Int_t maxiCluster = -1;
for (Int_t iClusters = 0; iClusters < NumberOfCaloClusters; iClusters++) {
AliVCluster* cluster = dynamic_cast<AliVCluster*>(caloClusters->At(iClusters));
if (!cluster){
AliError(Form("Could not receive cluster %d", iClusters));
continue;
}
if (!(cluster->IsEMCAL()))
continue;
if (fCheckDeadClusters && cluster->GetDistanceToBadChannel() < 3) {
AliWarning(Form("Cluster %d removed from analysis because distance to bad channel = %f < 3", iClusters, cluster->GetDistanceToBadChannel()));
continue;
}
if (fTimeCutOn && (cluster->GetTOF() < fMinL0Time || cluster->GetTOF() > fMaxL0Time)) {
AliWarning(Form("Cluster %d removed from analysis because out of time %f, limits (%d, %d)", iClusters, cluster->GetTOF(), fMinL0Time, fMaxL0Time));
continue;
}
if (maxe < cluster->E()){
maxe = cluster->E();
maxcluster = cluster;
maxClusterTime = cluster->GetTOF() + clusterTime_corr;
maxClusId = cluster->GetID();
maxiCluster = iClusters;
}
fHistEclus->Fill(cluster->E());
fHistTOFvsEclus->Fill(cluster->GetTOF(),cluster->E());
fHistTOFvsEclusC->Fill(cluster->GetTOF() + clusterTime_corr,cluster->E());
fHistNcellsvsEclus->Fill(cluster->GetNCells(),cluster->E());
}
Int_t etaMaxClus = 0;
Int_t phiMaxClus = 0;
if (maxcluster != 0) {
fHistEmaxClus->Fill(maxe);
if (fClusterizer) {
Int_t nEtaDigitsSupMod = fGeom->GetNEta() * fGeom->GetNETAdiv();
Int_t nPhiDigitsSupMod = fGeom->GetNPhi() * fGeom->GetNPHIdiv();
Int_t nTRUPhi = 1;
Int_t nTRUEta = 1;
Int_t nEtaDigits = nEtaDigitsSupMod * fGeom->GetNumberOfSuperModules() / fGeom->GetNPhiSuperModule();
Int_t nPhiDigits = nPhiDigitsSupMod * fGeom->GetNPhiSuperModule();
if (fClusterizer->GetTRUShift()) {
nTRUPhi = fGeom->GetNPhiSuperModule() * 3;
nTRUEta = fGeom->GetNumberOfSuperModules() / fGeom->GetNPhiSuperModule();
nEtaDigits /= nTRUEta;
nPhiDigits /= nTRUPhi;
}
Int_t nClusEtaNoShift = nEtaDigits / fClusterizer->GetnEta();
Int_t nClusPhiNoShift = nPhiDigits / fClusterizer->GetnPhi();
Int_t nClusters = nClusEtaNoShift * nClusPhiNoShift * nTRUEta * nTRUPhi;
etaMaxClus = (maxcluster->GetID() % nClusters) / (nClusPhiNoShift * nTRUPhi);
phiMaxClus = (maxcluster->GetID() % nClusters) % (nClusPhiNoShift * nTRUPhi);
fHistEtavsPhiMaxClus->Fill(etaMaxClus, phiMaxClus);
fHistEtavsEmaxClus->Fill(etaMaxClus, maxcluster->E());
fHistPhivsEmaxClus->Fill(phiMaxClus, maxcluster->E());
}
AliVCluster *matchedTClus = GetClusterFromId(triggerClusters, maxcluster->GetID());
if (!matchedTClus || (fTimeCutOn && (matchedTClus->GetTOF() < fMinL0Time || matchedTClus->GetTOF() > fMaxL0Time))) {
fHistEmaxClusNotMatchingTClus->Fill(maxe);
if (fClusterizer)
fHistEtavsPhiMaxClusNotMatchingTClus->Fill(etaMaxClus, phiMaxClus);
}
else {
fHistEmaxClusvsAmpMatchedTClus->Fill(matchedTClus->E(), maxe);
}
}
if (maxTcluster != 0 && maxcluster != 0) {
fHistEmaxClusvsAmpMaxTClus->Fill(maxL0amp, maxe);
fHistTOFmaxClusvsTimeMaxTClus->Fill(maxTcluster->GetTOF(), maxcluster->GetTOF() + clusterTime_corr);
fHistIdxMaxClusvsIdxMaxTClus->Fill(maxL0index, maxClusId);
fHistPhiMaxClusvsPhiMaxTClus->Fill(phiMaxTClus, phiMaxClus);
fHistEtaMaxClusvsEtaMaxTClus->Fill(etaMaxTClus, etaMaxClus);
}
AliVCaloCells *cells = event->GetEMCALCells();
Int_t icells;
Float_t maxCellEnergy = -1;
for (icells = 0; icells < cells->GetNumberOfCells(); icells++) {
if (fTimeCutOn && (cells->GetTime(icells) + clusterTime_corr < fMinClusTime || cells->GetTime(icells) + clusterTime_corr > fMaxClusTime))
continue;
fHistEcells->Fill(cells->GetAmplitude(icells));
fHistTOFvsEcells->Fill(cells->GetTime(icells), cells->GetAmplitude(icells));
fHistTOFvsEcellsC->Fill(cells->GetTime(icells) + clusterTime_corr, cells->GetAmplitude(icells));
if (maxCellEnergy < cells->GetAmplitude(icells))
maxCellEnergy = cells->GetAmplitude(icells);
}
if (maxCellEnergy > -1) {
fHistEmaxCell->Fill(maxCellEnergy);
}
if (maxL0FastORamp > -1 && maxCellEnergy > -1) {
fHistEmaxCellvsAmpFastOR->Fill(maxL0FastORamp, maxCellEnergy);
}
PostData(1, fOutput);
}
void AliAnalysisTaskSATR::Terminate(Option_t *)
{
}
AliVCluster* AliAnalysisTaskSATR::GetClusterFromId(TClonesArray *caloClusters, Int_t id)
{
for (Int_t iClusters = 0; iClusters < caloClusters->GetEntriesFast(); iClusters++){
AliVCluster* cluster = dynamic_cast<AliVCluster*>(caloClusters->At(iClusters));
if (!cluster){
AliError(Form("Could not receive cluster %d", iClusters));
continue;
}
if (!(cluster->IsEMCAL()))
continue;
if (id == cluster->GetID())
return cluster;
}
return 0;
}
AliAnalysisTaskSATR.cxx:1 AliAnalysisTaskSATR.cxx:2 AliAnalysisTaskSATR.cxx:3 AliAnalysisTaskSATR.cxx:4 AliAnalysisTaskSATR.cxx:5 AliAnalysisTaskSATR.cxx:6 AliAnalysisTaskSATR.cxx:7 AliAnalysisTaskSATR.cxx:8 AliAnalysisTaskSATR.cxx:9 AliAnalysisTaskSATR.cxx:10 AliAnalysisTaskSATR.cxx:11 AliAnalysisTaskSATR.cxx:12 AliAnalysisTaskSATR.cxx:13 AliAnalysisTaskSATR.cxx:14 AliAnalysisTaskSATR.cxx:15 AliAnalysisTaskSATR.cxx:16 AliAnalysisTaskSATR.cxx:17 AliAnalysisTaskSATR.cxx:18 AliAnalysisTaskSATR.cxx:19 AliAnalysisTaskSATR.cxx:20 AliAnalysisTaskSATR.cxx:21 AliAnalysisTaskSATR.cxx:22 AliAnalysisTaskSATR.cxx:23 AliAnalysisTaskSATR.cxx:24 AliAnalysisTaskSATR.cxx:25 AliAnalysisTaskSATR.cxx:26 AliAnalysisTaskSATR.cxx:27 AliAnalysisTaskSATR.cxx:28 AliAnalysisTaskSATR.cxx:29 AliAnalysisTaskSATR.cxx:30 AliAnalysisTaskSATR.cxx:31 AliAnalysisTaskSATR.cxx:32 AliAnalysisTaskSATR.cxx:33 AliAnalysisTaskSATR.cxx:34 AliAnalysisTaskSATR.cxx:35 AliAnalysisTaskSATR.cxx:36 AliAnalysisTaskSATR.cxx:37 AliAnalysisTaskSATR.cxx:38 AliAnalysisTaskSATR.cxx:39 AliAnalysisTaskSATR.cxx:40 AliAnalysisTaskSATR.cxx:41 AliAnalysisTaskSATR.cxx:42 AliAnalysisTaskSATR.cxx:43 AliAnalysisTaskSATR.cxx:44 AliAnalysisTaskSATR.cxx:45 AliAnalysisTaskSATR.cxx:46 AliAnalysisTaskSATR.cxx:47 AliAnalysisTaskSATR.cxx:48 AliAnalysisTaskSATR.cxx:49 AliAnalysisTaskSATR.cxx:50 AliAnalysisTaskSATR.cxx:51 AliAnalysisTaskSATR.cxx:52 AliAnalysisTaskSATR.cxx:53 AliAnalysisTaskSATR.cxx:54 AliAnalysisTaskSATR.cxx:55 AliAnalysisTaskSATR.cxx:56 AliAnalysisTaskSATR.cxx:57 AliAnalysisTaskSATR.cxx:58 AliAnalysisTaskSATR.cxx:59 AliAnalysisTaskSATR.cxx:60 AliAnalysisTaskSATR.cxx:61 AliAnalysisTaskSATR.cxx:62 AliAnalysisTaskSATR.cxx:63 AliAnalysisTaskSATR.cxx:64 AliAnalysisTaskSATR.cxx:65 AliAnalysisTaskSATR.cxx:66 AliAnalysisTaskSATR.cxx:67 AliAnalysisTaskSATR.cxx:68 AliAnalysisTaskSATR.cxx:69 AliAnalysisTaskSATR.cxx:70 AliAnalysisTaskSATR.cxx:71 AliAnalysisTaskSATR.cxx:72 AliAnalysisTaskSATR.cxx:73 AliAnalysisTaskSATR.cxx:74 AliAnalysisTaskSATR.cxx:75 AliAnalysisTaskSATR.cxx:76 AliAnalysisTaskSATR.cxx:77 AliAnalysisTaskSATR.cxx:78 AliAnalysisTaskSATR.cxx:79 AliAnalysisTaskSATR.cxx:80 AliAnalysisTaskSATR.cxx:81 AliAnalysisTaskSATR.cxx:82 AliAnalysisTaskSATR.cxx:83 AliAnalysisTaskSATR.cxx:84 AliAnalysisTaskSATR.cxx:85 AliAnalysisTaskSATR.cxx:86 AliAnalysisTaskSATR.cxx:87 AliAnalysisTaskSATR.cxx:88 AliAnalysisTaskSATR.cxx:89 AliAnalysisTaskSATR.cxx:90 AliAnalysisTaskSATR.cxx:91 AliAnalysisTaskSATR.cxx:92 AliAnalysisTaskSATR.cxx:93 AliAnalysisTaskSATR.cxx:94 AliAnalysisTaskSATR.cxx:95 AliAnalysisTaskSATR.cxx:96 AliAnalysisTaskSATR.cxx:97 AliAnalysisTaskSATR.cxx:98 AliAnalysisTaskSATR.cxx:99 AliAnalysisTaskSATR.cxx:100 AliAnalysisTaskSATR.cxx:101 AliAnalysisTaskSATR.cxx:102 AliAnalysisTaskSATR.cxx:103 AliAnalysisTaskSATR.cxx:104 AliAnalysisTaskSATR.cxx:105 AliAnalysisTaskSATR.cxx:106 AliAnalysisTaskSATR.cxx:107 AliAnalysisTaskSATR.cxx:108 AliAnalysisTaskSATR.cxx:109 AliAnalysisTaskSATR.cxx:110 AliAnalysisTaskSATR.cxx:111 AliAnalysisTaskSATR.cxx:112 AliAnalysisTaskSATR.cxx:113 AliAnalysisTaskSATR.cxx:114 AliAnalysisTaskSATR.cxx:115 AliAnalysisTaskSATR.cxx:116 AliAnalysisTaskSATR.cxx:117 AliAnalysisTaskSATR.cxx:118 AliAnalysisTaskSATR.cxx:119 AliAnalysisTaskSATR.cxx:120 AliAnalysisTaskSATR.cxx:121 AliAnalysisTaskSATR.cxx:122 AliAnalysisTaskSATR.cxx:123 AliAnalysisTaskSATR.cxx:124 AliAnalysisTaskSATR.cxx:125 AliAnalysisTaskSATR.cxx:126 AliAnalysisTaskSATR.cxx:127 AliAnalysisTaskSATR.cxx:128 AliAnalysisTaskSATR.cxx:129 AliAnalysisTaskSATR.cxx:130 AliAnalysisTaskSATR.cxx:131 AliAnalysisTaskSATR.cxx:132 AliAnalysisTaskSATR.cxx:133 AliAnalysisTaskSATR.cxx:134 AliAnalysisTaskSATR.cxx:135 AliAnalysisTaskSATR.cxx:136 AliAnalysisTaskSATR.cxx:137 AliAnalysisTaskSATR.cxx:138 AliAnalysisTaskSATR.cxx:139 AliAnalysisTaskSATR.cxx:140 AliAnalysisTaskSATR.cxx:141 AliAnalysisTaskSATR.cxx:142 AliAnalysisTaskSATR.cxx:143 AliAnalysisTaskSATR.cxx:144 AliAnalysisTaskSATR.cxx:145 AliAnalysisTaskSATR.cxx:146 AliAnalysisTaskSATR.cxx:147 AliAnalysisTaskSATR.cxx:148 AliAnalysisTaskSATR.cxx:149 AliAnalysisTaskSATR.cxx:150 AliAnalysisTaskSATR.cxx:151 AliAnalysisTaskSATR.cxx:152 AliAnalysisTaskSATR.cxx:153 AliAnalysisTaskSATR.cxx:154 AliAnalysisTaskSATR.cxx:155 AliAnalysisTaskSATR.cxx:156 AliAnalysisTaskSATR.cxx:157 AliAnalysisTaskSATR.cxx:158 AliAnalysisTaskSATR.cxx:159 AliAnalysisTaskSATR.cxx:160 AliAnalysisTaskSATR.cxx:161 AliAnalysisTaskSATR.cxx:162 AliAnalysisTaskSATR.cxx:163 AliAnalysisTaskSATR.cxx:164 AliAnalysisTaskSATR.cxx:165 AliAnalysisTaskSATR.cxx:166 AliAnalysisTaskSATR.cxx:167 AliAnalysisTaskSATR.cxx:168 AliAnalysisTaskSATR.cxx:169 AliAnalysisTaskSATR.cxx:170 AliAnalysisTaskSATR.cxx:171 AliAnalysisTaskSATR.cxx:172 AliAnalysisTaskSATR.cxx:173 AliAnalysisTaskSATR.cxx:174 AliAnalysisTaskSATR.cxx:175 AliAnalysisTaskSATR.cxx:176 AliAnalysisTaskSATR.cxx:177 AliAnalysisTaskSATR.cxx:178 AliAnalysisTaskSATR.cxx:179 AliAnalysisTaskSATR.cxx:180 AliAnalysisTaskSATR.cxx:181 AliAnalysisTaskSATR.cxx:182 AliAnalysisTaskSATR.cxx:183 AliAnalysisTaskSATR.cxx:184 AliAnalysisTaskSATR.cxx:185 AliAnalysisTaskSATR.cxx:186 AliAnalysisTaskSATR.cxx:187 AliAnalysisTaskSATR.cxx:188 AliAnalysisTaskSATR.cxx:189 AliAnalysisTaskSATR.cxx:190 AliAnalysisTaskSATR.cxx:191 AliAnalysisTaskSATR.cxx:192 AliAnalysisTaskSATR.cxx:193 AliAnalysisTaskSATR.cxx:194 AliAnalysisTaskSATR.cxx:195 AliAnalysisTaskSATR.cxx:196 AliAnalysisTaskSATR.cxx:197 AliAnalysisTaskSATR.cxx:198 AliAnalysisTaskSATR.cxx:199 AliAnalysisTaskSATR.cxx:200 AliAnalysisTaskSATR.cxx:201 AliAnalysisTaskSATR.cxx:202 AliAnalysisTaskSATR.cxx:203 AliAnalysisTaskSATR.cxx:204 AliAnalysisTaskSATR.cxx:205 AliAnalysisTaskSATR.cxx:206 AliAnalysisTaskSATR.cxx:207 AliAnalysisTaskSATR.cxx:208 AliAnalysisTaskSATR.cxx:209 AliAnalysisTaskSATR.cxx:210 AliAnalysisTaskSATR.cxx:211 AliAnalysisTaskSATR.cxx:212 AliAnalysisTaskSATR.cxx:213 AliAnalysisTaskSATR.cxx:214 AliAnalysisTaskSATR.cxx:215 AliAnalysisTaskSATR.cxx:216 AliAnalysisTaskSATR.cxx:217 AliAnalysisTaskSATR.cxx:218 AliAnalysisTaskSATR.cxx:219 AliAnalysisTaskSATR.cxx:220 AliAnalysisTaskSATR.cxx:221 AliAnalysisTaskSATR.cxx:222 AliAnalysisTaskSATR.cxx:223 AliAnalysisTaskSATR.cxx:224 AliAnalysisTaskSATR.cxx:225 AliAnalysisTaskSATR.cxx:226 AliAnalysisTaskSATR.cxx:227 AliAnalysisTaskSATR.cxx:228 AliAnalysisTaskSATR.cxx:229 AliAnalysisTaskSATR.cxx:230 AliAnalysisTaskSATR.cxx:231 AliAnalysisTaskSATR.cxx:232 AliAnalysisTaskSATR.cxx:233 AliAnalysisTaskSATR.cxx:234 AliAnalysisTaskSATR.cxx:235 AliAnalysisTaskSATR.cxx:236 AliAnalysisTaskSATR.cxx:237 AliAnalysisTaskSATR.cxx:238 AliAnalysisTaskSATR.cxx:239 AliAnalysisTaskSATR.cxx:240 AliAnalysisTaskSATR.cxx:241 AliAnalysisTaskSATR.cxx:242 AliAnalysisTaskSATR.cxx:243 AliAnalysisTaskSATR.cxx:244 AliAnalysisTaskSATR.cxx:245 AliAnalysisTaskSATR.cxx:246 AliAnalysisTaskSATR.cxx:247 AliAnalysisTaskSATR.cxx:248 AliAnalysisTaskSATR.cxx:249 AliAnalysisTaskSATR.cxx:250 AliAnalysisTaskSATR.cxx:251 AliAnalysisTaskSATR.cxx:252 AliAnalysisTaskSATR.cxx:253 AliAnalysisTaskSATR.cxx:254 AliAnalysisTaskSATR.cxx:255 AliAnalysisTaskSATR.cxx:256 AliAnalysisTaskSATR.cxx:257 AliAnalysisTaskSATR.cxx:258 AliAnalysisTaskSATR.cxx:259 AliAnalysisTaskSATR.cxx:260 AliAnalysisTaskSATR.cxx:261 AliAnalysisTaskSATR.cxx:262 AliAnalysisTaskSATR.cxx:263 AliAnalysisTaskSATR.cxx:264 AliAnalysisTaskSATR.cxx:265 AliAnalysisTaskSATR.cxx:266 AliAnalysisTaskSATR.cxx:267 AliAnalysisTaskSATR.cxx:268 AliAnalysisTaskSATR.cxx:269 AliAnalysisTaskSATR.cxx:270 AliAnalysisTaskSATR.cxx:271 AliAnalysisTaskSATR.cxx:272 AliAnalysisTaskSATR.cxx:273 AliAnalysisTaskSATR.cxx:274 AliAnalysisTaskSATR.cxx:275 AliAnalysisTaskSATR.cxx:276 AliAnalysisTaskSATR.cxx:277 AliAnalysisTaskSATR.cxx:278 AliAnalysisTaskSATR.cxx:279 AliAnalysisTaskSATR.cxx:280 AliAnalysisTaskSATR.cxx:281 AliAnalysisTaskSATR.cxx:282 AliAnalysisTaskSATR.cxx:283 AliAnalysisTaskSATR.cxx:284 AliAnalysisTaskSATR.cxx:285 AliAnalysisTaskSATR.cxx:286 AliAnalysisTaskSATR.cxx:287 AliAnalysisTaskSATR.cxx:288 AliAnalysisTaskSATR.cxx:289 AliAnalysisTaskSATR.cxx:290 AliAnalysisTaskSATR.cxx:291 AliAnalysisTaskSATR.cxx:292 AliAnalysisTaskSATR.cxx:293 AliAnalysisTaskSATR.cxx:294 AliAnalysisTaskSATR.cxx:295 AliAnalysisTaskSATR.cxx:296 AliAnalysisTaskSATR.cxx:297 AliAnalysisTaskSATR.cxx:298 AliAnalysisTaskSATR.cxx:299 AliAnalysisTaskSATR.cxx:300 AliAnalysisTaskSATR.cxx:301 AliAnalysisTaskSATR.cxx:302 AliAnalysisTaskSATR.cxx:303 AliAnalysisTaskSATR.cxx:304 AliAnalysisTaskSATR.cxx:305 AliAnalysisTaskSATR.cxx:306 AliAnalysisTaskSATR.cxx:307 AliAnalysisTaskSATR.cxx:308 AliAnalysisTaskSATR.cxx:309 AliAnalysisTaskSATR.cxx:310 AliAnalysisTaskSATR.cxx:311 AliAnalysisTaskSATR.cxx:312 AliAnalysisTaskSATR.cxx:313 AliAnalysisTaskSATR.cxx:314 AliAnalysisTaskSATR.cxx:315 AliAnalysisTaskSATR.cxx:316 AliAnalysisTaskSATR.cxx:317 AliAnalysisTaskSATR.cxx:318 AliAnalysisTaskSATR.cxx:319 AliAnalysisTaskSATR.cxx:320 AliAnalysisTaskSATR.cxx:321 AliAnalysisTaskSATR.cxx:322 AliAnalysisTaskSATR.cxx:323 AliAnalysisTaskSATR.cxx:324 AliAnalysisTaskSATR.cxx:325 AliAnalysisTaskSATR.cxx:326 AliAnalysisTaskSATR.cxx:327 AliAnalysisTaskSATR.cxx:328 AliAnalysisTaskSATR.cxx:329 AliAnalysisTaskSATR.cxx:330 AliAnalysisTaskSATR.cxx:331 AliAnalysisTaskSATR.cxx:332 AliAnalysisTaskSATR.cxx:333 AliAnalysisTaskSATR.cxx:334 AliAnalysisTaskSATR.cxx:335 AliAnalysisTaskSATR.cxx:336 AliAnalysisTaskSATR.cxx:337 AliAnalysisTaskSATR.cxx:338 AliAnalysisTaskSATR.cxx:339 AliAnalysisTaskSATR.cxx:340 AliAnalysisTaskSATR.cxx:341 AliAnalysisTaskSATR.cxx:342 AliAnalysisTaskSATR.cxx:343 AliAnalysisTaskSATR.cxx:344 AliAnalysisTaskSATR.cxx:345 AliAnalysisTaskSATR.cxx:346 AliAnalysisTaskSATR.cxx:347 AliAnalysisTaskSATR.cxx:348 AliAnalysisTaskSATR.cxx:349 AliAnalysisTaskSATR.cxx:350 AliAnalysisTaskSATR.cxx:351 AliAnalysisTaskSATR.cxx:352 AliAnalysisTaskSATR.cxx:353 AliAnalysisTaskSATR.cxx:354 AliAnalysisTaskSATR.cxx:355 AliAnalysisTaskSATR.cxx:356 AliAnalysisTaskSATR.cxx:357 AliAnalysisTaskSATR.cxx:358 AliAnalysisTaskSATR.cxx:359 AliAnalysisTaskSATR.cxx:360 AliAnalysisTaskSATR.cxx:361 AliAnalysisTaskSATR.cxx:362 AliAnalysisTaskSATR.cxx:363 AliAnalysisTaskSATR.cxx:364 AliAnalysisTaskSATR.cxx:365 AliAnalysisTaskSATR.cxx:366 AliAnalysisTaskSATR.cxx:367 AliAnalysisTaskSATR.cxx:368 AliAnalysisTaskSATR.cxx:369 AliAnalysisTaskSATR.cxx:370 AliAnalysisTaskSATR.cxx:371 AliAnalysisTaskSATR.cxx:372 AliAnalysisTaskSATR.cxx:373 AliAnalysisTaskSATR.cxx:374 AliAnalysisTaskSATR.cxx:375 AliAnalysisTaskSATR.cxx:376 AliAnalysisTaskSATR.cxx:377 AliAnalysisTaskSATR.cxx:378 AliAnalysisTaskSATR.cxx:379 AliAnalysisTaskSATR.cxx:380 AliAnalysisTaskSATR.cxx:381 AliAnalysisTaskSATR.cxx:382 AliAnalysisTaskSATR.cxx:383 AliAnalysisTaskSATR.cxx:384 AliAnalysisTaskSATR.cxx:385 AliAnalysisTaskSATR.cxx:386 AliAnalysisTaskSATR.cxx:387 AliAnalysisTaskSATR.cxx:388 AliAnalysisTaskSATR.cxx:389 AliAnalysisTaskSATR.cxx:390 AliAnalysisTaskSATR.cxx:391 AliAnalysisTaskSATR.cxx:392 AliAnalysisTaskSATR.cxx:393 AliAnalysisTaskSATR.cxx:394 AliAnalysisTaskSATR.cxx:395 AliAnalysisTaskSATR.cxx:396 AliAnalysisTaskSATR.cxx:397 AliAnalysisTaskSATR.cxx:398 AliAnalysisTaskSATR.cxx:399 AliAnalysisTaskSATR.cxx:400 AliAnalysisTaskSATR.cxx:401 AliAnalysisTaskSATR.cxx:402 AliAnalysisTaskSATR.cxx:403 AliAnalysisTaskSATR.cxx:404 AliAnalysisTaskSATR.cxx:405 AliAnalysisTaskSATR.cxx:406 AliAnalysisTaskSATR.cxx:407 AliAnalysisTaskSATR.cxx:408 AliAnalysisTaskSATR.cxx:409 AliAnalysisTaskSATR.cxx:410 AliAnalysisTaskSATR.cxx:411 AliAnalysisTaskSATR.cxx:412 AliAnalysisTaskSATR.cxx:413 AliAnalysisTaskSATR.cxx:414 AliAnalysisTaskSATR.cxx:415 AliAnalysisTaskSATR.cxx:416 AliAnalysisTaskSATR.cxx:417 AliAnalysisTaskSATR.cxx:418 AliAnalysisTaskSATR.cxx:419 AliAnalysisTaskSATR.cxx:420 AliAnalysisTaskSATR.cxx:421 AliAnalysisTaskSATR.cxx:422 AliAnalysisTaskSATR.cxx:423 AliAnalysisTaskSATR.cxx:424 AliAnalysisTaskSATR.cxx:425 AliAnalysisTaskSATR.cxx:426 AliAnalysisTaskSATR.cxx:427 AliAnalysisTaskSATR.cxx:428 AliAnalysisTaskSATR.cxx:429 AliAnalysisTaskSATR.cxx:430 AliAnalysisTaskSATR.cxx:431 AliAnalysisTaskSATR.cxx:432 AliAnalysisTaskSATR.cxx:433 AliAnalysisTaskSATR.cxx:434 AliAnalysisTaskSATR.cxx:435 AliAnalysisTaskSATR.cxx:436 AliAnalysisTaskSATR.cxx:437 AliAnalysisTaskSATR.cxx:438 AliAnalysisTaskSATR.cxx:439 AliAnalysisTaskSATR.cxx:440 AliAnalysisTaskSATR.cxx:441 AliAnalysisTaskSATR.cxx:442 AliAnalysisTaskSATR.cxx:443 AliAnalysisTaskSATR.cxx:444 AliAnalysisTaskSATR.cxx:445 AliAnalysisTaskSATR.cxx:446 AliAnalysisTaskSATR.cxx:447 AliAnalysisTaskSATR.cxx:448 AliAnalysisTaskSATR.cxx:449 AliAnalysisTaskSATR.cxx:450 AliAnalysisTaskSATR.cxx:451 AliAnalysisTaskSATR.cxx:452 AliAnalysisTaskSATR.cxx:453 AliAnalysisTaskSATR.cxx:454 AliAnalysisTaskSATR.cxx:455 AliAnalysisTaskSATR.cxx:456 AliAnalysisTaskSATR.cxx:457 AliAnalysisTaskSATR.cxx:458 AliAnalysisTaskSATR.cxx:459 AliAnalysisTaskSATR.cxx:460 AliAnalysisTaskSATR.cxx:461 AliAnalysisTaskSATR.cxx:462 AliAnalysisTaskSATR.cxx:463 AliAnalysisTaskSATR.cxx:464 AliAnalysisTaskSATR.cxx:465 AliAnalysisTaskSATR.cxx:466 AliAnalysisTaskSATR.cxx:467 AliAnalysisTaskSATR.cxx:468 AliAnalysisTaskSATR.cxx:469 AliAnalysisTaskSATR.cxx:470 AliAnalysisTaskSATR.cxx:471 AliAnalysisTaskSATR.cxx:472 AliAnalysisTaskSATR.cxx:473 AliAnalysisTaskSATR.cxx:474 AliAnalysisTaskSATR.cxx:475 AliAnalysisTaskSATR.cxx:476 AliAnalysisTaskSATR.cxx:477 AliAnalysisTaskSATR.cxx:478 AliAnalysisTaskSATR.cxx:479 AliAnalysisTaskSATR.cxx:480 AliAnalysisTaskSATR.cxx:481 AliAnalysisTaskSATR.cxx:482 AliAnalysisTaskSATR.cxx:483 AliAnalysisTaskSATR.cxx:484 AliAnalysisTaskSATR.cxx:485 AliAnalysisTaskSATR.cxx:486 AliAnalysisTaskSATR.cxx:487 AliAnalysisTaskSATR.cxx:488 AliAnalysisTaskSATR.cxx:489 AliAnalysisTaskSATR.cxx:490 AliAnalysisTaskSATR.cxx:491 AliAnalysisTaskSATR.cxx:492 AliAnalysisTaskSATR.cxx:493 AliAnalysisTaskSATR.cxx:494 AliAnalysisTaskSATR.cxx:495 AliAnalysisTaskSATR.cxx:496 AliAnalysisTaskSATR.cxx:497 AliAnalysisTaskSATR.cxx:498 AliAnalysisTaskSATR.cxx:499 AliAnalysisTaskSATR.cxx:500 AliAnalysisTaskSATR.cxx:501 AliAnalysisTaskSATR.cxx:502 AliAnalysisTaskSATR.cxx:503 AliAnalysisTaskSATR.cxx:504 AliAnalysisTaskSATR.cxx:505 AliAnalysisTaskSATR.cxx:506 AliAnalysisTaskSATR.cxx:507 AliAnalysisTaskSATR.cxx:508 AliAnalysisTaskSATR.cxx:509 AliAnalysisTaskSATR.cxx:510 AliAnalysisTaskSATR.cxx:511 AliAnalysisTaskSATR.cxx:512 AliAnalysisTaskSATR.cxx:513 AliAnalysisTaskSATR.cxx:514 AliAnalysisTaskSATR.cxx:515 AliAnalysisTaskSATR.cxx:516 AliAnalysisTaskSATR.cxx:517 AliAnalysisTaskSATR.cxx:518 AliAnalysisTaskSATR.cxx:519 AliAnalysisTaskSATR.cxx:520 AliAnalysisTaskSATR.cxx:521 AliAnalysisTaskSATR.cxx:522 AliAnalysisTaskSATR.cxx:523 AliAnalysisTaskSATR.cxx:524 AliAnalysisTaskSATR.cxx:525 AliAnalysisTaskSATR.cxx:526 AliAnalysisTaskSATR.cxx:527 AliAnalysisTaskSATR.cxx:528 AliAnalysisTaskSATR.cxx:529 AliAnalysisTaskSATR.cxx:530 AliAnalysisTaskSATR.cxx:531 AliAnalysisTaskSATR.cxx:532 AliAnalysisTaskSATR.cxx:533 AliAnalysisTaskSATR.cxx:534 AliAnalysisTaskSATR.cxx:535 AliAnalysisTaskSATR.cxx:536 AliAnalysisTaskSATR.cxx:537 AliAnalysisTaskSATR.cxx:538 AliAnalysisTaskSATR.cxx:539 AliAnalysisTaskSATR.cxx:540 AliAnalysisTaskSATR.cxx:541 AliAnalysisTaskSATR.cxx:542 AliAnalysisTaskSATR.cxx:543 AliAnalysisTaskSATR.cxx:544 AliAnalysisTaskSATR.cxx:545 AliAnalysisTaskSATR.cxx:546 AliAnalysisTaskSATR.cxx:547 AliAnalysisTaskSATR.cxx:548 AliAnalysisTaskSATR.cxx:549 AliAnalysisTaskSATR.cxx:550 AliAnalysisTaskSATR.cxx:551 AliAnalysisTaskSATR.cxx:552 AliAnalysisTaskSATR.cxx:553 AliAnalysisTaskSATR.cxx:554 AliAnalysisTaskSATR.cxx:555 AliAnalysisTaskSATR.cxx:556 AliAnalysisTaskSATR.cxx:557 AliAnalysisTaskSATR.cxx:558 AliAnalysisTaskSATR.cxx:559 AliAnalysisTaskSATR.cxx:560 AliAnalysisTaskSATR.cxx:561 AliAnalysisTaskSATR.cxx:562 AliAnalysisTaskSATR.cxx:563 AliAnalysisTaskSATR.cxx:564 AliAnalysisTaskSATR.cxx:565 AliAnalysisTaskSATR.cxx:566 AliAnalysisTaskSATR.cxx:567 AliAnalysisTaskSATR.cxx:568 AliAnalysisTaskSATR.cxx:569 AliAnalysisTaskSATR.cxx:570 AliAnalysisTaskSATR.cxx:571 AliAnalysisTaskSATR.cxx:572 AliAnalysisTaskSATR.cxx:573 AliAnalysisTaskSATR.cxx:574 AliAnalysisTaskSATR.cxx:575 AliAnalysisTaskSATR.cxx:576 AliAnalysisTaskSATR.cxx:577 AliAnalysisTaskSATR.cxx:578 AliAnalysisTaskSATR.cxx:579 AliAnalysisTaskSATR.cxx:580 AliAnalysisTaskSATR.cxx:581 AliAnalysisTaskSATR.cxx:582 AliAnalysisTaskSATR.cxx:583 AliAnalysisTaskSATR.cxx:584 AliAnalysisTaskSATR.cxx:585 AliAnalysisTaskSATR.cxx:586 AliAnalysisTaskSATR.cxx:587 AliAnalysisTaskSATR.cxx:588 AliAnalysisTaskSATR.cxx:589 AliAnalysisTaskSATR.cxx:590 AliAnalysisTaskSATR.cxx:591 AliAnalysisTaskSATR.cxx:592 AliAnalysisTaskSATR.cxx:593 AliAnalysisTaskSATR.cxx:594 AliAnalysisTaskSATR.cxx:595 AliAnalysisTaskSATR.cxx:596 AliAnalysisTaskSATR.cxx:597 AliAnalysisTaskSATR.cxx:598 AliAnalysisTaskSATR.cxx:599 AliAnalysisTaskSATR.cxx:600 AliAnalysisTaskSATR.cxx:601 AliAnalysisTaskSATR.cxx:602 AliAnalysisTaskSATR.cxx:603 AliAnalysisTaskSATR.cxx:604 AliAnalysisTaskSATR.cxx:605 AliAnalysisTaskSATR.cxx:606 AliAnalysisTaskSATR.cxx:607 AliAnalysisTaskSATR.cxx:608 AliAnalysisTaskSATR.cxx:609 AliAnalysisTaskSATR.cxx:610 AliAnalysisTaskSATR.cxx:611 AliAnalysisTaskSATR.cxx:612 AliAnalysisTaskSATR.cxx:613 AliAnalysisTaskSATR.cxx:614 AliAnalysisTaskSATR.cxx:615 AliAnalysisTaskSATR.cxx:616 AliAnalysisTaskSATR.cxx:617 AliAnalysisTaskSATR.cxx:618 AliAnalysisTaskSATR.cxx:619 AliAnalysisTaskSATR.cxx:620 AliAnalysisTaskSATR.cxx:621 AliAnalysisTaskSATR.cxx:622 AliAnalysisTaskSATR.cxx:623 AliAnalysisTaskSATR.cxx:624 AliAnalysisTaskSATR.cxx:625 AliAnalysisTaskSATR.cxx:626 AliAnalysisTaskSATR.cxx:627 AliAnalysisTaskSATR.cxx:628 AliAnalysisTaskSATR.cxx:629 AliAnalysisTaskSATR.cxx:630 AliAnalysisTaskSATR.cxx:631 AliAnalysisTaskSATR.cxx:632 AliAnalysisTaskSATR.cxx:633 AliAnalysisTaskSATR.cxx:634 AliAnalysisTaskSATR.cxx:635 AliAnalysisTaskSATR.cxx:636 AliAnalysisTaskSATR.cxx:637 AliAnalysisTaskSATR.cxx:638 AliAnalysisTaskSATR.cxx:639 AliAnalysisTaskSATR.cxx:640 AliAnalysisTaskSATR.cxx:641 AliAnalysisTaskSATR.cxx:642 AliAnalysisTaskSATR.cxx:643 AliAnalysisTaskSATR.cxx:644 AliAnalysisTaskSATR.cxx:645 AliAnalysisTaskSATR.cxx:646 AliAnalysisTaskSATR.cxx:647 AliAnalysisTaskSATR.cxx:648 AliAnalysisTaskSATR.cxx:649 AliAnalysisTaskSATR.cxx:650 AliAnalysisTaskSATR.cxx:651 AliAnalysisTaskSATR.cxx:652 AliAnalysisTaskSATR.cxx:653 AliAnalysisTaskSATR.cxx:654 AliAnalysisTaskSATR.cxx:655 AliAnalysisTaskSATR.cxx:656 AliAnalysisTaskSATR.cxx:657 AliAnalysisTaskSATR.cxx:658 AliAnalysisTaskSATR.cxx:659 AliAnalysisTaskSATR.cxx:660 AliAnalysisTaskSATR.cxx:661 AliAnalysisTaskSATR.cxx:662 AliAnalysisTaskSATR.cxx:663 AliAnalysisTaskSATR.cxx:664 AliAnalysisTaskSATR.cxx:665 AliAnalysisTaskSATR.cxx:666 AliAnalysisTaskSATR.cxx:667 AliAnalysisTaskSATR.cxx:668 AliAnalysisTaskSATR.cxx:669 AliAnalysisTaskSATR.cxx:670 AliAnalysisTaskSATR.cxx:671 AliAnalysisTaskSATR.cxx:672 AliAnalysisTaskSATR.cxx:673 AliAnalysisTaskSATR.cxx:674 AliAnalysisTaskSATR.cxx:675 AliAnalysisTaskSATR.cxx:676 AliAnalysisTaskSATR.cxx:677 AliAnalysisTaskSATR.cxx:678 AliAnalysisTaskSATR.cxx:679 AliAnalysisTaskSATR.cxx:680 AliAnalysisTaskSATR.cxx:681 AliAnalysisTaskSATR.cxx:682 AliAnalysisTaskSATR.cxx:683 AliAnalysisTaskSATR.cxx:684 AliAnalysisTaskSATR.cxx:685 AliAnalysisTaskSATR.cxx:686 AliAnalysisTaskSATR.cxx:687 AliAnalysisTaskSATR.cxx:688 AliAnalysisTaskSATR.cxx:689 AliAnalysisTaskSATR.cxx:690 AliAnalysisTaskSATR.cxx:691 AliAnalysisTaskSATR.cxx:692 AliAnalysisTaskSATR.cxx:693 AliAnalysisTaskSATR.cxx:694 AliAnalysisTaskSATR.cxx:695 AliAnalysisTaskSATR.cxx:696 AliAnalysisTaskSATR.cxx:697 AliAnalysisTaskSATR.cxx:698 AliAnalysisTaskSATR.cxx:699 AliAnalysisTaskSATR.cxx:700 AliAnalysisTaskSATR.cxx:701 AliAnalysisTaskSATR.cxx:702 AliAnalysisTaskSATR.cxx:703 AliAnalysisTaskSATR.cxx:704 AliAnalysisTaskSATR.cxx:705 AliAnalysisTaskSATR.cxx:706 AliAnalysisTaskSATR.cxx:707 AliAnalysisTaskSATR.cxx:708 AliAnalysisTaskSATR.cxx:709 AliAnalysisTaskSATR.cxx:710 AliAnalysisTaskSATR.cxx:711 AliAnalysisTaskSATR.cxx:712 AliAnalysisTaskSATR.cxx:713 AliAnalysisTaskSATR.cxx:714 AliAnalysisTaskSATR.cxx:715 AliAnalysisTaskSATR.cxx:716 AliAnalysisTaskSATR.cxx:717 AliAnalysisTaskSATR.cxx:718 AliAnalysisTaskSATR.cxx:719 AliAnalysisTaskSATR.cxx:720 AliAnalysisTaskSATR.cxx:721 AliAnalysisTaskSATR.cxx:722 AliAnalysisTaskSATR.cxx:723 AliAnalysisTaskSATR.cxx:724 AliAnalysisTaskSATR.cxx:725 AliAnalysisTaskSATR.cxx:726 AliAnalysisTaskSATR.cxx:727 AliAnalysisTaskSATR.cxx:728 AliAnalysisTaskSATR.cxx:729 AliAnalysisTaskSATR.cxx:730 AliAnalysisTaskSATR.cxx:731 AliAnalysisTaskSATR.cxx:732 AliAnalysisTaskSATR.cxx:733 AliAnalysisTaskSATR.cxx:734 AliAnalysisTaskSATR.cxx:735 AliAnalysisTaskSATR.cxx:736 AliAnalysisTaskSATR.cxx:737 AliAnalysisTaskSATR.cxx:738 AliAnalysisTaskSATR.cxx:739 AliAnalysisTaskSATR.cxx:740 AliAnalysisTaskSATR.cxx:741 AliAnalysisTaskSATR.cxx:742 AliAnalysisTaskSATR.cxx:743 AliAnalysisTaskSATR.cxx:744 AliAnalysisTaskSATR.cxx:745 AliAnalysisTaskSATR.cxx:746 AliAnalysisTaskSATR.cxx:747 AliAnalysisTaskSATR.cxx:748 AliAnalysisTaskSATR.cxx:749 AliAnalysisTaskSATR.cxx:750 AliAnalysisTaskSATR.cxx:751 AliAnalysisTaskSATR.cxx:752 AliAnalysisTaskSATR.cxx:753 AliAnalysisTaskSATR.cxx:754 AliAnalysisTaskSATR.cxx:755 AliAnalysisTaskSATR.cxx:756 AliAnalysisTaskSATR.cxx:757 AliAnalysisTaskSATR.cxx:758 AliAnalysisTaskSATR.cxx:759 AliAnalysisTaskSATR.cxx:760 AliAnalysisTaskSATR.cxx:761 AliAnalysisTaskSATR.cxx:762 AliAnalysisTaskSATR.cxx:763 AliAnalysisTaskSATR.cxx:764 AliAnalysisTaskSATR.cxx:765 AliAnalysisTaskSATR.cxx:766 AliAnalysisTaskSATR.cxx:767 AliAnalysisTaskSATR.cxx:768 AliAnalysisTaskSATR.cxx:769 AliAnalysisTaskSATR.cxx:770 AliAnalysisTaskSATR.cxx:771 AliAnalysisTaskSATR.cxx:772 AliAnalysisTaskSATR.cxx:773 AliAnalysisTaskSATR.cxx:774 AliAnalysisTaskSATR.cxx:775 AliAnalysisTaskSATR.cxx:776 AliAnalysisTaskSATR.cxx:777 AliAnalysisTaskSATR.cxx:778 AliAnalysisTaskSATR.cxx:779 AliAnalysisTaskSATR.cxx:780 AliAnalysisTaskSATR.cxx:781 AliAnalysisTaskSATR.cxx:782 AliAnalysisTaskSATR.cxx:783 AliAnalysisTaskSATR.cxx:784 AliAnalysisTaskSATR.cxx:785 AliAnalysisTaskSATR.cxx:786 AliAnalysisTaskSATR.cxx:787 AliAnalysisTaskSATR.cxx:788 AliAnalysisTaskSATR.cxx:789 AliAnalysisTaskSATR.cxx:790 AliAnalysisTaskSATR.cxx:791 AliAnalysisTaskSATR.cxx:792 AliAnalysisTaskSATR.cxx:793 AliAnalysisTaskSATR.cxx:794 AliAnalysisTaskSATR.cxx:795 AliAnalysisTaskSATR.cxx:796 AliAnalysisTaskSATR.cxx:797 AliAnalysisTaskSATR.cxx:798 AliAnalysisTaskSATR.cxx:799 AliAnalysisTaskSATR.cxx:800 AliAnalysisTaskSATR.cxx:801 AliAnalysisTaskSATR.cxx:802 AliAnalysisTaskSATR.cxx:803 AliAnalysisTaskSATR.cxx:804 AliAnalysisTaskSATR.cxx:805 AliAnalysisTaskSATR.cxx:806 AliAnalysisTaskSATR.cxx:807 AliAnalysisTaskSATR.cxx:808 AliAnalysisTaskSATR.cxx:809 AliAnalysisTaskSATR.cxx:810 AliAnalysisTaskSATR.cxx:811 AliAnalysisTaskSATR.cxx:812 AliAnalysisTaskSATR.cxx:813 AliAnalysisTaskSATR.cxx:814 AliAnalysisTaskSATR.cxx:815 AliAnalysisTaskSATR.cxx:816 AliAnalysisTaskSATR.cxx:817 AliAnalysisTaskSATR.cxx:818 AliAnalysisTaskSATR.cxx:819 AliAnalysisTaskSATR.cxx:820 AliAnalysisTaskSATR.cxx:821 AliAnalysisTaskSATR.cxx:822 AliAnalysisTaskSATR.cxx:823 AliAnalysisTaskSATR.cxx:824 AliAnalysisTaskSATR.cxx:825 AliAnalysisTaskSATR.cxx:826 AliAnalysisTaskSATR.cxx:827 AliAnalysisTaskSATR.cxx:828 AliAnalysisTaskSATR.cxx:829 AliAnalysisTaskSATR.cxx:830 AliAnalysisTaskSATR.cxx:831 AliAnalysisTaskSATR.cxx:832 AliAnalysisTaskSATR.cxx:833 AliAnalysisTaskSATR.cxx:834 AliAnalysisTaskSATR.cxx:835 AliAnalysisTaskSATR.cxx:836 AliAnalysisTaskSATR.cxx:837 AliAnalysisTaskSATR.cxx:838 AliAnalysisTaskSATR.cxx:839 AliAnalysisTaskSATR.cxx:840 AliAnalysisTaskSATR.cxx:841 AliAnalysisTaskSATR.cxx:842 AliAnalysisTaskSATR.cxx:843 AliAnalysisTaskSATR.cxx:844 AliAnalysisTaskSATR.cxx:845 AliAnalysisTaskSATR.cxx:846 AliAnalysisTaskSATR.cxx:847 AliAnalysisTaskSATR.cxx:848 AliAnalysisTaskSATR.cxx:849 AliAnalysisTaskSATR.cxx:850 AliAnalysisTaskSATR.cxx:851 AliAnalysisTaskSATR.cxx:852 AliAnalysisTaskSATR.cxx:853 AliAnalysisTaskSATR.cxx:854 AliAnalysisTaskSATR.cxx:855 AliAnalysisTaskSATR.cxx:856 AliAnalysisTaskSATR.cxx:857 AliAnalysisTaskSATR.cxx:858 AliAnalysisTaskSATR.cxx:859 AliAnalysisTaskSATR.cxx:860 AliAnalysisTaskSATR.cxx:861 AliAnalysisTaskSATR.cxx:862 AliAnalysisTaskSATR.cxx:863 AliAnalysisTaskSATR.cxx:864 AliAnalysisTaskSATR.cxx:865 AliAnalysisTaskSATR.cxx:866 AliAnalysisTaskSATR.cxx:867 AliAnalysisTaskSATR.cxx:868 AliAnalysisTaskSATR.cxx:869 AliAnalysisTaskSATR.cxx:870 AliAnalysisTaskSATR.cxx:871 AliAnalysisTaskSATR.cxx:872 AliAnalysisTaskSATR.cxx:873 AliAnalysisTaskSATR.cxx:874 AliAnalysisTaskSATR.cxx:875 AliAnalysisTaskSATR.cxx:876 AliAnalysisTaskSATR.cxx:877 AliAnalysisTaskSATR.cxx:878 AliAnalysisTaskSATR.cxx:879 AliAnalysisTaskSATR.cxx:880 AliAnalysisTaskSATR.cxx:881 AliAnalysisTaskSATR.cxx:882 AliAnalysisTaskSATR.cxx:883 AliAnalysisTaskSATR.cxx:884 AliAnalysisTaskSATR.cxx:885 AliAnalysisTaskSATR.cxx:886 AliAnalysisTaskSATR.cxx:887 AliAnalysisTaskSATR.cxx:888 AliAnalysisTaskSATR.cxx:889 AliAnalysisTaskSATR.cxx:890 AliAnalysisTaskSATR.cxx:891 AliAnalysisTaskSATR.cxx:892 AliAnalysisTaskSATR.cxx:893 AliAnalysisTaskSATR.cxx:894 AliAnalysisTaskSATR.cxx:895 AliAnalysisTaskSATR.cxx:896 AliAnalysisTaskSATR.cxx:897 AliAnalysisTaskSATR.cxx:898 AliAnalysisTaskSATR.cxx:899 AliAnalysisTaskSATR.cxx:900 AliAnalysisTaskSATR.cxx:901 AliAnalysisTaskSATR.cxx:902 AliAnalysisTaskSATR.cxx:903 AliAnalysisTaskSATR.cxx:904 AliAnalysisTaskSATR.cxx:905 AliAnalysisTaskSATR.cxx:906 AliAnalysisTaskSATR.cxx:907 AliAnalysisTaskSATR.cxx:908 AliAnalysisTaskSATR.cxx:909 AliAnalysisTaskSATR.cxx:910 AliAnalysisTaskSATR.cxx:911 AliAnalysisTaskSATR.cxx:912 AliAnalysisTaskSATR.cxx:913 AliAnalysisTaskSATR.cxx:914 AliAnalysisTaskSATR.cxx:915 AliAnalysisTaskSATR.cxx:916 AliAnalysisTaskSATR.cxx:917 AliAnalysisTaskSATR.cxx:918 AliAnalysisTaskSATR.cxx:919 AliAnalysisTaskSATR.cxx:920 AliAnalysisTaskSATR.cxx:921 AliAnalysisTaskSATR.cxx:922 AliAnalysisTaskSATR.cxx:923 AliAnalysisTaskSATR.cxx:924 AliAnalysisTaskSATR.cxx:925 AliAnalysisTaskSATR.cxx:926 AliAnalysisTaskSATR.cxx:927 AliAnalysisTaskSATR.cxx:928 AliAnalysisTaskSATR.cxx:929 AliAnalysisTaskSATR.cxx:930 AliAnalysisTaskSATR.cxx:931 AliAnalysisTaskSATR.cxx:932 AliAnalysisTaskSATR.cxx:933 AliAnalysisTaskSATR.cxx:934 AliAnalysisTaskSATR.cxx:935 AliAnalysisTaskSATR.cxx:936 AliAnalysisTaskSATR.cxx:937 AliAnalysisTaskSATR.cxx:938 AliAnalysisTaskSATR.cxx:939 AliAnalysisTaskSATR.cxx:940 AliAnalysisTaskSATR.cxx:941 AliAnalysisTaskSATR.cxx:942 AliAnalysisTaskSATR.cxx:943 AliAnalysisTaskSATR.cxx:944 AliAnalysisTaskSATR.cxx:945 AliAnalysisTaskSATR.cxx:946 AliAnalysisTaskSATR.cxx:947 AliAnalysisTaskSATR.cxx:948 AliAnalysisTaskSATR.cxx:949 AliAnalysisTaskSATR.cxx:950 AliAnalysisTaskSATR.cxx:951 AliAnalysisTaskSATR.cxx:952 AliAnalysisTaskSATR.cxx:953 AliAnalysisTaskSATR.cxx:954 AliAnalysisTaskSATR.cxx:955 AliAnalysisTaskSATR.cxx:956 AliAnalysisTaskSATR.cxx:957 AliAnalysisTaskSATR.cxx:958 AliAnalysisTaskSATR.cxx:959 AliAnalysisTaskSATR.cxx:960 AliAnalysisTaskSATR.cxx:961 AliAnalysisTaskSATR.cxx:962 AliAnalysisTaskSATR.cxx:963 AliAnalysisTaskSATR.cxx:964 AliAnalysisTaskSATR.cxx:965 AliAnalysisTaskSATR.cxx:966 AliAnalysisTaskSATR.cxx:967 AliAnalysisTaskSATR.cxx:968 AliAnalysisTaskSATR.cxx:969 AliAnalysisTaskSATR.cxx:970 AliAnalysisTaskSATR.cxx:971 AliAnalysisTaskSATR.cxx:972 AliAnalysisTaskSATR.cxx:973 AliAnalysisTaskSATR.cxx:974 AliAnalysisTaskSATR.cxx:975 AliAnalysisTaskSATR.cxx:976 AliAnalysisTaskSATR.cxx:977 AliAnalysisTaskSATR.cxx:978 AliAnalysisTaskSATR.cxx:979