#include <TFile.h>
#include <TTree.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TMultiGraph.h>
#include <TGraphErrors.h>
#include <TCanvas.h>
#include <TLegend.h>
#include <Riostream.h>
#include <TString.h>
#include <TGeoManager.h>
#include <TList.h>
#include <TObjString.h>
#include <TRegexp.h>
#include "AliESDEvent.h"
#include "AliESDMuonTrack.h"
#include "AliCDBManager.h"
#include "AliCDBStorage.h"
#include "AliGeomManager.h"
#include "AliVVertex.h"
#include "AliAnalysisDataSlot.h"
#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliAnalysisTaskMuonResolution.h"
#include "AliCentrality.h"
#include "AliMUONCDB.h"
#include "AliMUONConstants.h"
#include "AliMUONRecoParam.h"
#include "AliMUONESDInterface.h"
#include "AliMUONVTrackReconstructor.h"
#include "AliMUONTrack.h"
#include "AliMUONTrackParam.h"
#include "AliMUONTrackExtrap.h"
#include "AliMUONVCluster.h"
#include "AliMUONVDigit.h"
#include "AliMUONGeometryTransformer.h"
#include "AliMUONGeometryModuleTransformer.h"
#include "AliMUONGeometryDetElement.h"
#include "AliMpDEIterator.h"
#include "AliMpSegmentation.h"
#include "AliMpVSegmentation.h"
#include "AliMpConstants.h"
#include "AliMpDDLStore.h"
#include "AliMpPad.h"
#include "AliMpDetElement.h"
#include "AliMpCathodType.h"
#ifndef SafeDelete
#define SafeDelete(x) if (x != NULL) { delete x; x = NULL; }
#endif
using std::cout;
using std::endl;
using std::flush;
ClassImp(AliAnalysisTaskMuonResolution)
const Int_t AliAnalysisTaskMuonResolution::fgkMinEntries = 10;
AliAnalysisTaskMuonResolution::AliAnalysisTaskMuonResolution() :
AliAnalysisTaskSE(),
fResiduals(NULL),
fResidualsVsP(NULL),
fResidualsVsCent(NULL),
fResidualsVsAngle(NULL),
fLocalChi2(NULL),
fChamberRes(NULL),
fTrackRes(NULL),
fCanvases(NULL),
fTmpHists(NULL),
fDefaultStorage(""),
fNEvents(0),
fShowProgressBar(kFALSE),
fPrintClResPerCh(kFALSE),
fPrintClResPerDE(kFALSE),
fGaus(NULL),
fMinMomentum(0.),
fSelectPhysics(kFALSE),
fMatchTrig(kFALSE),
fApplyAccCut(kFALSE),
fSelectTrigger(kFALSE),
fTriggerMask(0),
fExtrapMode(1),
fCorrectForSystematics(kTRUE),
fRemoveMonoCathCl(kFALSE),
fCheckAllPads(kFALSE),
fImproveTracks(kFALSE),
fShiftHalfCh(kFALSE),
fPrintHalfChShift(kFALSE),
fShiftDE(kFALSE),
fPrintDEShift(kFALSE),
fOCDBLoaded(kFALSE),
fNDE(0),
fReAlign(kFALSE),
fOldAlignStorage(""),
fNewAlignStorage(""),
fOldGeoTransformer(NULL),
fNewGeoTransformer(NULL),
fSelectTriggerClass(NULL),
fMuonTrackCuts(0x0)
{
for (Int_t i = 0; i < 10; i++) SetStartingResolution(i, -1., -1.);
for (Int_t i = 0; i < 1100; i++) fDEIndices[i] = 0;
for (Int_t i = 0; i < 200; i++) fDEIds[i] = 0;
for (Int_t i = 0; i < 20; i++) SetHalfChShift(i, 0., 0.);
for (Int_t i = 0; i < 200; i++) SetDEShift(i, 0., 0.);
}
AliAnalysisTaskMuonResolution::AliAnalysisTaskMuonResolution(const char *name) :
AliAnalysisTaskSE(name),
fResiduals(NULL),
fResidualsVsP(NULL),
fResidualsVsCent(NULL),
fResidualsVsAngle(NULL),
fLocalChi2(NULL),
fChamberRes(NULL),
fTrackRes(NULL),
fCanvases(NULL),
fTmpHists(NULL),
fDefaultStorage("raw://"),
fNEvents(0),
fShowProgressBar(kFALSE),
fPrintClResPerCh(kFALSE),
fPrintClResPerDE(kFALSE),
fGaus(NULL),
fMinMomentum(0.),
fSelectPhysics(kFALSE),
fMatchTrig(kFALSE),
fApplyAccCut(kFALSE),
fSelectTrigger(kFALSE),
fTriggerMask(0),
fExtrapMode(1),
fCorrectForSystematics(kTRUE),
fRemoveMonoCathCl(kFALSE),
fCheckAllPads(kFALSE),
fImproveTracks(kFALSE),
fShiftHalfCh(kFALSE),
fPrintHalfChShift(kFALSE),
fShiftDE(kFALSE),
fPrintDEShift(kFALSE),
fOCDBLoaded(kFALSE),
fNDE(0),
fReAlign(kFALSE),
fOldAlignStorage(""),
fNewAlignStorage(""),
fOldGeoTransformer(NULL),
fNewGeoTransformer(NULL),
fSelectTriggerClass(NULL),
fMuonTrackCuts(0x0)
{
for (Int_t i = 0; i < 10; i++) SetStartingResolution(i, -1., -1.);
for (Int_t i = 0; i < 1100; i++) fDEIndices[i] = 0;
for (Int_t i = 0; i < 200; i++) fDEIds[i] = 0;
for (Int_t i = 0; i < 20; i++) SetHalfChShift(i, 0., 0.);
for (Int_t i = 0; i < 200; i++) SetDEShift(i, 0., 0.);
FitResiduals();
DefineOutput(1,TObjArray::Class());
DefineOutput(2,TObjArray::Class());
DefineOutput(3,TObjArray::Class());
DefineOutput(4,TObjArray::Class());
DefineOutput(5,TObjArray::Class());
DefineOutput(6,TObjArray::Class());
DefineOutput(7,TObjArray::Class());
}
AliAnalysisTaskMuonResolution::~AliAnalysisTaskMuonResolution()
{
if (!AliAnalysisManager::GetAnalysisManager()->IsProofMode()) {
SafeDelete(fResiduals);
SafeDelete(fResidualsVsP);
SafeDelete(fResidualsVsCent);
SafeDelete(fResidualsVsAngle);
SafeDelete(fTrackRes);
}
SafeDelete(fLocalChi2);
SafeDelete(fChamberRes);
SafeDelete(fCanvases);
SafeDelete(fTmpHists);
SafeDelete(fGaus);
SafeDelete(fOldGeoTransformer);
SafeDelete(fNewGeoTransformer);
SafeDelete(fSelectTriggerClass);
SafeDelete(fMuonTrackCuts);
}
void AliAnalysisTaskMuonResolution::UserCreateOutputObjects()
{
if (!fOCDBLoaded) return;
fSelectTriggerClass = new TList();
fSelectTriggerClass->SetOwner();
fSelectTriggerClass->AddLast(new TObjString(" CINT1B-ABCE-NOPF-ALL ")); fSelectTriggerClass->Last()->SetUniqueID(AliVEvent::kMB);
fSelectTriggerClass->AddLast(new TObjString(" CMUS1B-ABCE-NOPF-MUON ")); fSelectTriggerClass->Last()->SetUniqueID(AliVEvent::kMUON);
fSelectTriggerClass->AddLast(new TObjString(" CINT1-B-")); fSelectTriggerClass->Last()->SetUniqueID(AliVEvent::kMB);
fSelectTriggerClass->AddLast(new TObjString(" CMUS1-B-")); fSelectTriggerClass->Last()->SetUniqueID(AliVEvent::kMUON);
fSelectTriggerClass->AddLast(new TObjString(" CSH1-B-")); fSelectTriggerClass->Last()->SetUniqueID(AliVEvent::kHighMult);
fResiduals = new TObjArray(1000);
fResiduals->SetOwner();
fResidualsVsP = new TObjArray(1000);
fResidualsVsP->SetOwner();
fResidualsVsCent = new TObjArray(1000);
fResidualsVsCent->SetOwner();
fResidualsVsAngle = new TObjArray(1000);
fResidualsVsAngle->SetOwner();
fTrackRes = new TObjArray(1000);
fTrackRes->SetOwner();
TH2F* h2;
const AliMUONRecoParam* recoParam = AliMUONESDInterface::GetTracker()->GetRecoParam();
Double_t maxSigma[2] = {-1., -1.};
for (Int_t i = 0; i < 10; i++) {
if (recoParam->GetDefaultNonBendingReso(i) > maxSigma[0]) maxSigma[0] = recoParam->GetDefaultNonBendingReso(i);
if (recoParam->GetDefaultBendingReso(i) > maxSigma[1]) maxSigma[1] = recoParam->GetDefaultBendingReso(i);
}
const char* axes[2] = {"X", "Y"};
const char* side[2] = {"I", "O"};
const Int_t nBins = 5000;
const Int_t nSigma = 10;
const Int_t pNBins = 20;
const Double_t pEdges[2] = {0., 50.};
Int_t nCentBins = 12;
Double_t centRange[2] = {-10., 110.};
Int_t nAngleBins = 20;
Double_t angleRange[2][2] = {{-15., 15.}, {-40., 40.}};
TString name, title;
for (Int_t ia = 0; ia < 2; ia++) {
Double_t maxRes = nSigma*maxSigma[ia];
name = Form("hResidual%sPerCh_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s distribution per chamber (cluster attached to the track);chamber ID;#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 10, 0.5, 10.5, nBins, -maxRes, maxRes);
fResiduals->AddAtAndExpand(h2, kResidualPerChClusterIn+ia);
name = Form("hResidual%sPerCh_ClusterOut",axes[ia]); title = Form("cluster-track residual-%s distribution per chamber (cluster not attached to the track);chamber ID;#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 10, 0.5, 10.5, nBins, -2.*maxRes, 2.*maxRes);
fResiduals->AddAtAndExpand(h2, kResidualPerChClusterOut+ia);
name = Form("hResidual%sPerHalfCh_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s distribution per half chamber (cluster attached to the track);half chamber ID;#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 20, 0.5, 20.5, nBins, -maxRes, maxRes);
for (Int_t i = 0; i < 10; i++) { h2->GetXaxis()->SetBinLabel(2*i+1, Form("%d-I",i+1)); h2->GetXaxis()->SetBinLabel(2*i+2, Form("%d-O",i+1)); }
fResiduals->AddAtAndExpand(h2, kResidualPerHalfChClusterIn+ia);
name = Form("hResidual%sPerHalfCh_ClusterOut",axes[ia]); title = Form("cluster-track residual-%s distribution per half chamber (cluster not attached to the track);half chamber ID;#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 20, 0.5, 20.5, nBins, -2.*maxRes, 2.*maxRes);
for (Int_t i = 0; i < 10; i++) { h2->GetXaxis()->SetBinLabel(2*i+1, Form("%d-I",i+1)); h2->GetXaxis()->SetBinLabel(2*i+2, Form("%d-O",i+1)); }
fResiduals->AddAtAndExpand(h2, kResidualPerHalfChClusterOut+ia);
name = Form("hResidual%sPerDE_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s distribution per DE (cluster attached to the track);DE ID;#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), fNDE, 0.5, fNDE+0.5, nBins, -maxRes, maxRes);
for (Int_t i = 1; i <= fNDE; i++) h2->GetXaxis()->SetBinLabel(i, Form("%d",fDEIds[i]));
fResiduals->AddAtAndExpand(h2, kResidualPerDEClusterIn+ia);
name = Form("hResidual%sPerDE_ClusterOut",axes[ia]); title = Form("cluster-track residual-%s distribution per DE (cluster not attached to the track);DE ID;#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), fNDE, 0.5, fNDE+0.5, nBins, -2.*maxRes, 2.*maxRes);
for (Int_t i = 1; i <= fNDE; i++) h2->GetXaxis()->SetBinLabel(i, Form("%d",fDEIds[i]));
fResiduals->AddAtAndExpand(h2, kResidualPerDEClusterOut+ia);
name = Form("hTrackRes%sPerCh",axes[ia]); title = Form("track #sigma_{%s} per Ch;chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 10, 0.5, 10.5, nBins, 0., maxRes);
fResiduals->AddAtAndExpand(h2, kTrackResPerCh+ia);
name = Form("hTrackRes%sPerHalfCh",axes[ia]); title = Form("track #sigma_{%s} per half Ch;half chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 20, 0.5, 20.5, nBins, 0., maxRes);
for (Int_t i = 0; i < 10; i++) { h2->GetXaxis()->SetBinLabel(2*i+1, Form("%d-I",i+1)); h2->GetXaxis()->SetBinLabel(2*i+2, Form("%d-O",i+1)); }
fResiduals->AddAtAndExpand(h2, kTrackResPerHalfCh+ia);
name = Form("hTrackRes%sPerDE",axes[ia]); title = Form("track #sigma_{%s} per DE;DE ID;#sigma_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), fNDE, 0.5, fNDE+0.5, nBins, 0., maxRes);
for (Int_t i = 1; i <= fNDE; i++) h2->GetXaxis()->SetBinLabel(i, Form("%d",fDEIds[i]));
fResiduals->AddAtAndExpand(h2, kTrackResPerDE+ia);
name = Form("hMCS%sPerCh",axes[ia]); title = Form("MCS %s-dispersion of extrapolated track per Ch;chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 10, 0.5, 10.5, nBins, 0., 0.2);
fResiduals->AddAtAndExpand(h2, kMCSPerCh+ia);
name = Form("hMCS%sPerHalfCh",axes[ia]); title = Form("MCS %s-dispersion of extrapolated track per half Ch;half chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 20, 0.5, 20.5, nBins, 0., 0.2);
for (Int_t i = 0; i < 10; i++) { h2->GetXaxis()->SetBinLabel(2*i+1, Form("%d-I",i+1)); h2->GetXaxis()->SetBinLabel(2*i+2, Form("%d-O",i+1)); }
fResiduals->AddAtAndExpand(h2, kMCSPerHalfCh+ia);
name = Form("hMCS%sPerDE",axes[ia]); title = Form("MCS %s-dispersion of extrapolated track per DE;DE ID;#sigma_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), fNDE, 0.5, fNDE+0.5, nBins, 0., 0.2);
for (Int_t i = 1; i <= fNDE; i++) h2->GetXaxis()->SetBinLabel(i, Form("%d",fDEIds[i]));
fResiduals->AddAtAndExpand(h2, kMCSPerDE+ia);
name = Form("hClusterRes2%sPerCh",axes[ia]); title = Form("cluster #sigma_{%s}^{2} per Ch;chamber ID;#sigma_{%s}^{2} (cm^{2})",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 10, 0.5, 10.5, nSigma*nBins, -0.1*maxRes*maxRes, maxRes*maxRes);
fResiduals->AddAtAndExpand(h2, kClusterRes2PerCh+ia);
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
name = Form("hResidual%sInCh%dVsP_ClusterIn",axes[ia],i+1); title = Form("cluster-track residual-%s distribution in chamber %d versus momentum (cluster attached to the track);p (GeV/c^{2});#Delta_{%s} (cm)",axes[ia],i+1,axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), pNBins, pEdges[0], pEdges[1], nBins, -maxRes, maxRes);
fResidualsVsP->AddAtAndExpand(h2, kResidualInChVsPClusterIn+10*ia+i);
name = Form("hResidual%sInCh%dVsP_ClusterOut",axes[ia],i+1); title = Form("cluster-track residual-%s distribution in chamber %d versus momentum (cluster not attached to the track);p (GeV/c^{2});#Delta_{%s} (cm)",axes[ia],i+1,axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), pNBins, pEdges[0], pEdges[1], nBins, -2.*maxRes, 2.*maxRes);
fResidualsVsP->AddAtAndExpand(h2, kResidualInChVsPClusterOut+10*ia+i);
name = Form("hResidual%sInCh%dVsCent_ClusterIn",axes[ia],i+1); title = Form("cluster-track residual-%s distribution in chamber %d versus centrality (cluster attached to the track);centrality (%%);#Delta_{%s} (cm)",axes[ia],i+1,axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nCentBins, centRange[0], centRange[1], nBins, -maxRes, maxRes);
fResidualsVsCent->AddAtAndExpand(h2, kResidualInChVsCentClusterIn+10*ia+i);
name = Form("hResidual%sInCh%dVsCent_ClusterOut",axes[ia],i+1); title = Form("cluster-track residual-%s distribution in chamber %d versus centrality (cluster not attached to the track);centrality (%%);#Delta_{%s} (cm)",axes[ia],i+1,axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nCentBins, centRange[0], centRange[1], nBins, -2.*maxRes, 2.*maxRes);
fResidualsVsCent->AddAtAndExpand(h2, kResidualInChVsCentClusterOut+10*ia+i);
name = Form("hResidual%sInCh%dVsAngle_ClusterIn",axes[ia],i+1); title = Form("cluster-track residual-%s distribution in chamber %d versus track angle (cluster attached to the track);%s-angle (deg);#Delta_{%s} (cm)",axes[ia],i+1,axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nAngleBins, angleRange[ia][0], angleRange[ia][1], nBins, -maxRes, maxRes);
fResidualsVsAngle->AddAtAndExpand(h2, kResidualInChVsAngleClusterIn+10*ia+i);
name = Form("hResidual%sInCh%dVsAngle_ClusterOut",axes[ia],i+1); title = Form("cluster-track residual-%s distribution in chamber %d versus track angle (cluster not attached to the track);%s-angle (deg);#Delta_{%s} (cm)",axes[ia],i+1,axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nAngleBins, angleRange[ia][0], angleRange[ia][1], nBins, -2.*maxRes, 2.*maxRes);
fResidualsVsAngle->AddAtAndExpand(h2, kResidualInChVsAngleClusterOut+10*ia+i);
for (Int_t j = 0; j < 2; j++) {
name = Form("hResidual%sInHalfCh%d%sVsAngle_ClusterIn",axes[ia],i+1,side[j]); title = Form("cluster-track residual-%s distribution in half-chamber %d-%s versus track angle (cluster attached to the track);%s-angle (deg);#Delta_{%s} (cm)",axes[ia],i+1,side[j],axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nAngleBins, angleRange[ia][0], angleRange[ia][1], nBins, -maxRes, maxRes);
fResidualsVsAngle->AddAtAndExpand(h2, kResidualInHalfChVsAngleClusterIn+20*ia+2*i+j);
}
}
name = Form("hResidual%sVsP_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s distribution integrated over chambers versus momentum (cluster attached to the track);p (GeV/c^{2});#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), pNBins, pEdges[0], pEdges[1], nBins, -maxRes, maxRes);
fResidualsVsP->AddAtAndExpand(h2, kResidualVsPClusterIn+ia);
name = Form("hResidual%sVsP_ClusterOut",axes[ia]); title = Form("cluster-track residual-%s distribution integrated over chambers versus momentum (cluster not attached to the track);p (GeV/c^{2});#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), pNBins, pEdges[0], pEdges[1], nBins, -2.*maxRes, 2.*maxRes);
fResidualsVsP->AddAtAndExpand(h2, kResidualVsPClusterOut+ia);
name = Form("hResidual%sVsCent_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s distribution integrated over chambers versus centrality (cluster attached to the track);centrality (%%);#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nCentBins, centRange[0], centRange[1], nBins, -maxRes, maxRes);
fResidualsVsCent->AddAtAndExpand(h2, kResidualVsCentClusterIn+ia);
name = Form("hResidual%sVsCent_ClusterOut",axes[ia]); title = Form("cluster-track residual-%s distribution integrated over chambers versus centrality (cluster not attached to the track);centrality (%%);#Delta_{%s} (cm)",axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nCentBins, centRange[0], centRange[1], nBins, -2.*maxRes, 2.*maxRes);
fResidualsVsCent->AddAtAndExpand(h2, kResidualVsCentClusterOut+ia);
name = Form("hResidual%sVsAngle_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s distribution integrated over chambers versus track angle (cluster attached to the track);%s-angle (deg);#Delta_{%s} (cm)",axes[ia],axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nAngleBins, angleRange[ia][0], angleRange[ia][1], nBins, -maxRes, maxRes);
fResidualsVsAngle->AddAtAndExpand(h2, kResidualVsAngleClusterIn+ia);
name = Form("hResidual%sVsAngle_ClusterOut",axes[ia]); title = Form("cluster-track residual-%s distribution integrated over chambers versus track angle (cluster not attached to the track);%s-angle (deg);#Delta_{%s} (cm)",axes[ia],axes[ia],axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), nAngleBins, angleRange[ia][0], angleRange[ia][1], nBins, -2.*maxRes, 2.*maxRes);
fResidualsVsAngle->AddAtAndExpand(h2, kResidualVsAngleClusterOut+ia);
name = Form("hLocalChi2%sPerCh",axes[ia]); title = Form("local chi2-%s distribution per chamber;chamber ID;local #chi^{2}_{%s}", axes[ia], axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 10, 0.5, 10.5, 1000, 0., 25.);
fResiduals->AddAtAndExpand(h2, kLocalChi2PerCh+ia);
name = Form("hLocalChi2%sPerDE",axes[ia]); title = Form("local chi2-%s distribution per DE;DE ID;local #chi^{2}_{%s}", axes[ia], axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), fNDE, 0.5, fNDE+0.5, 1000, 0., 25.);
for (Int_t i = 1; i <= fNDE; i++) h2->GetXaxis()->SetBinLabel(i, Form("%d",fDEIds[i]));
fResiduals->AddAtAndExpand(h2, kLocalChi2PerDE+ia);
name = Form("hUncorrSlope%sRes",axes[ia]); title = Form("muon slope_{%s} reconstructed resolution at first cluster vs p;p (GeV/c); #sigma_{slope_{%s}}", axes[ia], axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 300, 0., 300., 1000, 0., 0.003);
fTrackRes->AddAtAndExpand(h2, kUncorrSlopeRes+ia);
name = Form("hSlope%sRes",axes[ia]); title = Form("muon slope_{%s} reconstructed resolution at vertex vs p;p (GeV/c); #sigma_{slope_{%s}}", axes[ia], axes[ia]);
h2 = new TH2F(name.Data(), title.Data(), 300, 0., 300., 1000, 0., 0.02);
fTrackRes->AddAtAndExpand(h2, kSlopeRes+ia);
}
h2 = new TH2F("hLocalChi2PerCh", "local chi2 (~0.5*(#chi^{2}_{X}+#chi^{2}_{Y})) distribution per chamber;chamber ID;local #chi^{2}", 10, 0.5, 10.5, 1000, 0., 25.);
fResiduals->AddAtAndExpand(h2, kLocalChi2PerCh+2);
h2 = new TH2F("hLocalChi2PerDE", "local chi2 (~0.5*(#chi^{2}_{X}+#chi^{2}_{Y})) distribution per chamber;DE ID;local #chi^{2}", fNDE, 0.5, fNDE+0.5, 1000, 0., 25.);
for (Int_t i = 1; i <= fNDE; i++) h2->GetXaxis()->SetBinLabel(i, Form("%d",fDEIds[i]));
fResiduals->AddAtAndExpand(h2, kLocalChi2PerDE+2);
h2 = new TH2F("hUncorrPRes", "muon momentum reconstructed resolution at first cluster vs p;p (GeV/c); #sigma_{p}/p (%)", 300, 0., 300., 1000, 0., 10.);
fTrackRes->AddAtAndExpand(h2, kUncorrPRes);
h2 = new TH2F("hPRes", "muon momentum reconstructed resolution at vertex vs p;p (GeV/c); #sigma_{p}/p (%)", 300, 0., 300., 1000, 0., 10.);
fTrackRes->AddAtAndExpand(h2, kPRes);
h2 = new TH2F("hUncorrPtRes", "muon transverse momentum reconstructed resolution at first cluster vs p_{t};p_{t} (GeV/c); #sigma_{p_{t}}/p_{t} (%)", 300, 0., 30., 300, 0., 30.);
fTrackRes->AddAtAndExpand(h2, kUncorrPtRes);
h2 = new TH2F("hPtRes", "muon transverse momentum reconstructed resolution at vertex vs p_{t};p_{t} (GeV/c); #sigma_{p_{t}}/p_{t} (%)", 300, 0., 30., 300, 0., 30.);
fTrackRes->AddAtAndExpand(h2, kPtRes);
PostData(1, fResiduals);
PostData(2, fResidualsVsP);
PostData(3, fResidualsVsCent);
PostData(4, fResidualsVsAngle);
PostData(5, fTrackRes);
}
void AliAnalysisTaskMuonResolution::UserExec(Option_t *)
{
if (!fOCDBLoaded) AliFatal("Problem occur while loading OCDB objects");
AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent());
if (!esd) return;
if (fShowProgressBar && (++fNEvents)%100 == 0) cout<<"\rEvent processing... "<<fNEvents<<"\r"<<flush;
UInt_t triggerWord = (fInputHandler) ? fInputHandler->IsEventSelected() : 0;
if (fSelectPhysics && triggerWord == 0) return;
TString firedTriggerClasses = esd->GetFiredTriggerClasses();
if (!fSelectPhysics) triggerWord = BuildTriggerWord(firedTriggerClasses);
if (fSelectTrigger && (triggerWord & fTriggerMask) == 0) return;
Float_t centrality = esd->GetCentrality()->GetCentralityPercentileUnchecked("V0M");
AliMUONVTrackReconstructor* tracker = AliMUONESDInterface::GetTracker();
Int_t nTracks = (Int_t) esd->GetNumberOfMuonTracks();
for (Int_t iTrack = 0; iTrack < nTracks; ++iTrack) {
AliESDMuonTrack* esdTrack = esd->GetMuonTrack(iTrack);
if (!esdTrack->ContainTrackerData()) continue;
if (fMatchTrig && !esdTrack->ContainTriggerData()) continue;
Double_t thetaAbs = TMath::ATan(esdTrack->GetRAtAbsorberEnd()/505.) * TMath::RadToDeg();
Double_t eta = esdTrack->Eta();
if (fApplyAccCut && (thetaAbs < 2. || thetaAbs > 10. || eta < -4. || eta > -2.5)) continue;
if (fMuonTrackCuts && !fMuonTrackCuts->IsSelected(esdTrack)) continue;
if (esdTrack->PUncorrected() < fMinMomentum) continue;
AliMUONTrack track;
AliMUONESDInterface::ESDToMUON(*esdTrack, track, kFALSE);
ModifyClusters(track);
if (!tracker->RefitTrack(track, fImproveTracks) || (fImproveTracks && !track.IsImproved())) break;
AliMUONTrack referenceTrack(track);
AliMUONTrackParam trackParamAtFirstCluster(*(static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->First())));
Int_t firstCh = trackParamAtFirstCluster.GetClusterPtr()->GetChamberId();
AliMUONTrackExtrap::AddMCSEffect(&trackParamAtFirstCluster, AliMUONConstants::ChamberThicknessInX0(firstCh)/2., -1.);
Double_t pXUncorr = trackParamAtFirstCluster.Px();
Double_t pYUncorr = trackParamAtFirstCluster.Py();
Double_t pZUncorr = trackParamAtFirstCluster.Pz();
Double_t pUncorr = trackParamAtFirstCluster.P();
TMatrixD covUncorr(5,5);
Cov2CovP(trackParamAtFirstCluster,covUncorr);
Double_t sigmaPUncorr = TMath::Sqrt(pXUncorr * (pXUncorr*covUncorr(2,2) + pYUncorr*covUncorr(2,3) + pZUncorr*covUncorr(2,4)) +
pYUncorr * (pXUncorr*covUncorr(3,2) + pYUncorr*covUncorr(3,3) + pZUncorr*covUncorr(3,4)) +
pZUncorr * (pXUncorr*covUncorr(4,2) + pYUncorr*covUncorr(4,3) + pZUncorr*covUncorr(4,4))) / pUncorr;
((TH2F*)fTrackRes->UncheckedAt(kUncorrPRes))->Fill(pUncorr,100.*sigmaPUncorr/pUncorr);
Double_t ptUncorr = TMath::Sqrt(pXUncorr*pXUncorr + pYUncorr*pYUncorr);
Double_t sigmaPtUncorr = TMath::Sqrt(pXUncorr * (pXUncorr*covUncorr(2,2) + pYUncorr*covUncorr(2,3)) + pYUncorr * (pXUncorr*covUncorr(3,2) + pYUncorr*covUncorr(3,3))) / ptUncorr;
((TH2F*)fTrackRes->UncheckedAt(kUncorrPtRes))->Fill(ptUncorr,100.*sigmaPtUncorr/ptUncorr);
((TH2F*)fTrackRes->UncheckedAt(kUncorrSlopeRes))->Fill(pUncorr,TMath::Sqrt(trackParamAtFirstCluster.GetCovariances()(1,1)));
((TH2F*)fTrackRes->UncheckedAt(kUncorrSlopeRes+1))->Fill(pUncorr,TMath::Sqrt(trackParamAtFirstCluster.GetCovariances()(3,3)));
AliMUONTrackParam trackParamAtVtx(trackParamAtFirstCluster);
AliMUONTrackExtrap::ExtrapToVertex(&trackParamAtVtx, esdTrack->GetNonBendingCoor(), esdTrack->GetBendingCoor(), esdTrack->GetZ(), 0., 0.);
Double_t pXVtx = trackParamAtVtx.Px();
Double_t pYVtx = trackParamAtVtx.Py();
Double_t pZVtx = trackParamAtVtx.Pz();
Double_t pVtx = trackParamAtVtx.P();
TMatrixD covVtx(5,5);
Cov2CovP(trackParamAtVtx,covVtx);
Double_t sigmaPVtx = TMath::Sqrt(pXVtx * (pXVtx*covVtx(2,2) + pYVtx*covVtx(2,3) + pZVtx*covVtx(2,4)) +
pYVtx * (pXVtx*covVtx(3,2) + pYVtx*covVtx(3,3) + pZVtx*covVtx(3,4)) +
pZVtx * (pXVtx*covVtx(4,2) + pYVtx*covVtx(4,3) + pZVtx*covVtx(4,4))) / pVtx;
((TH2F*)fTrackRes->UncheckedAt(kPRes))->Fill(pVtx,100.*sigmaPVtx/pVtx);
Double_t ptVtx = TMath::Sqrt(pXVtx*pXVtx + pYVtx*pYVtx);
Double_t sigmaPtVtx = TMath::Sqrt(pXVtx * (pXVtx*covVtx(2,2) + pYVtx*covVtx(2,3)) + pYVtx * (pXVtx*covVtx(3,2) + pYVtx*covVtx(3,3))) / ptVtx;
((TH2F*)fTrackRes->UncheckedAt(kPtRes))->Fill(ptVtx,100.*sigmaPtVtx/ptVtx);
((TH2F*)fTrackRes->UncheckedAt(kSlopeRes))->Fill(pVtx,TMath::Sqrt(trackParamAtVtx.GetCovariances()(1,1)));
((TH2F*)fTrackRes->UncheckedAt(kSlopeRes+1))->Fill(pVtx,TMath::Sqrt(trackParamAtVtx.GetCovariances()(3,3)));
Int_t nClusters = track.GetNClusters();
for (Int_t iCluster=0; iCluster<nClusters; iCluster++) {
AliMUONTrackParam* trackParam = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->UncheckedAt(iCluster));
AliMUONTrackParam* previousTrackParam = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->Before(trackParam));
AliMUONTrackParam* nextTrackParam = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->After(trackParam));
if (!previousTrackParam && !nextTrackParam) {
AliError(Form("unable to find a cluster neither before nor after the one at position %d !?!", iCluster));
track.RecursiveDump();
break;
}
if (fRemoveMonoCathCl && trackParam->GetClusterPtr()->GetChamberId() > 3) {
Bool_t hasBending, hasNonBending;
if (fCheckAllPads) CheckPads(trackParam->GetClusterPtr(), hasBending, hasNonBending);
else CheckPadsBelow(trackParam->GetClusterPtr(), hasBending, hasNonBending);
if (!hasBending || !hasNonBending) continue;
}
AliMUONTrackParam currentTrackParam(*trackParam);
track.RemoveTrackParamAtCluster(trackParam);
AliMUONVCluster* cluster = currentTrackParam.GetClusterPtr();
Int_t chId = cluster->GetChamberId();
Int_t halfChId = (cluster->GetX() > 0) ? 2*chId : 2*chId+1;
Int_t deId = cluster->GetDetElemId();
AliMUONTrackParam* referenceTrackParam = static_cast<AliMUONTrackParam*>(referenceTrack.GetTrackParamAtCluster()->UncheckedAt(iCluster));
Double_t deltaX = cluster->GetX() - referenceTrackParam->GetNonBendingCoor();
Double_t deltaY = cluster->GetY() - referenceTrackParam->GetBendingCoor();
Double_t angleX = TMath::ATan(referenceTrackParam->GetNonBendingSlope())*TMath::RadToDeg();
Double_t angleY = TMath::ATan(referenceTrackParam->GetBendingSlope())*TMath::RadToDeg();
Double_t sigmaDeltaX2 = cluster->GetErrX2() - referenceTrackParam->GetCovariances()(0,0);
Double_t sigmaDeltaY2 = cluster->GetErrY2() - referenceTrackParam->GetCovariances()(2,2);
Double_t localChi2X = (sigmaDeltaX2 > 0.) ? deltaX*deltaX/sigmaDeltaX2 : 0.;
Double_t localChi2Y = (sigmaDeltaY2 > 0.) ? deltaY*deltaY/sigmaDeltaY2 : 0.;
Double_t localChi2 = 0.5 * referenceTrackParam->GetLocalChi2();
((TH2F*)fResiduals->UncheckedAt(kLocalChi2PerCh))->Fill(chId+1, localChi2X);
((TH2F*)fResiduals->UncheckedAt(kLocalChi2PerCh+1))->Fill(chId+1, localChi2Y);
((TH2F*)fResiduals->UncheckedAt(kLocalChi2PerCh+2))->Fill(chId+1, localChi2);
((TH2F*)fResiduals->UncheckedAt(kLocalChi2PerDE))->Fill(fDEIndices[deId], localChi2X);
((TH2F*)fResiduals->UncheckedAt(kLocalChi2PerDE+1))->Fill(fDEIndices[deId], localChi2Y);
((TH2F*)fResiduals->UncheckedAt(kLocalChi2PerDE+2))->Fill(fDEIndices[deId], localChi2);
Bool_t refit = track.IsValid( 1 << (chId/2) );
if (refit) {
if (tracker->RefitTrack(track, kFALSE)) {
((TH2F*)fResiduals->UncheckedAt(kResidualPerChClusterIn))->Fill(chId+1, deltaX);
((TH2F*)fResiduals->UncheckedAt(kResidualPerChClusterIn+1))->Fill(chId+1, deltaY);
((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterIn))->Fill(halfChId+1, deltaX);
((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterIn+1))->Fill(halfChId+1, deltaY);
((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterIn))->Fill(fDEIndices[deId], deltaX);
((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterIn+1))->Fill(fDEIndices[deId], deltaY);
((TH2F*)fResidualsVsP->UncheckedAt(kResidualInChVsPClusterIn+chId))->Fill(pUncorr, deltaX);
((TH2F*)fResidualsVsP->UncheckedAt(kResidualInChVsPClusterIn+10+chId))->Fill(pUncorr, deltaY);
((TH2F*)fResidualsVsP->UncheckedAt(kResidualVsPClusterIn))->Fill(pUncorr, deltaX);
((TH2F*)fResidualsVsP->UncheckedAt(kResidualVsPClusterIn+1))->Fill(pUncorr, deltaY);
((TH2F*)fResidualsVsCent->UncheckedAt(kResidualInChVsCentClusterIn+chId))->Fill(centrality, deltaX);
((TH2F*)fResidualsVsCent->UncheckedAt(kResidualInChVsCentClusterIn+10+chId))->Fill(centrality, deltaY);
((TH2F*)fResidualsVsCent->UncheckedAt(kResidualVsCentClusterIn))->Fill(centrality, deltaX);
((TH2F*)fResidualsVsCent->UncheckedAt(kResidualVsCentClusterIn+1))->Fill(centrality, deltaY);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInChVsAngleClusterIn+chId))->Fill(angleX, deltaX);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInChVsAngleClusterIn+10+chId))->Fill(angleY, deltaY);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualVsAngleClusterIn))->Fill(angleX, deltaX);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualVsAngleClusterIn+1))->Fill(angleY, deltaY);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInHalfChVsAngleClusterIn+halfChId))->Fill(angleX, deltaX);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInHalfChVsAngleClusterIn+20+halfChId))->Fill(angleY, deltaY);
Double_t dZWithPrevious = (previousTrackParam) ? TMath::Abs(previousTrackParam->GetClusterPtr()->GetZ() - cluster->GetZ()) : FLT_MAX;
Int_t previousChId = (previousTrackParam) ? previousTrackParam->GetClusterPtr()->GetChamberId() : -1;
Double_t dZWithNext = (nextTrackParam) ? TMath::Abs(nextTrackParam->GetClusterPtr()->GetZ() - cluster->GetZ()) : FLT_MAX;
AliMUONTrackParam* startingTrackParam = (nextTrackParam) ? nextTrackParam : previousTrackParam;
if ((fExtrapMode == 0 && previousTrackParam && dZWithPrevious < dZWithNext) ||
(fExtrapMode == 1 && previousTrackParam && !(chId/2 == 2 && previousChId/2 == 1) &&
!(chId/2 == 3 && previousChId/2 == 2))) startingTrackParam = previousTrackParam;
currentTrackParam.SetParameters(startingTrackParam->GetParameters());
currentTrackParam.SetZ(startingTrackParam->GetZ());
currentTrackParam.SetCovariances(startingTrackParam->GetCovariances());
currentTrackParam.ResetPropagator();
if (AliMUONTrackExtrap::ExtrapToZCov(¤tTrackParam, currentTrackParam.GetClusterPtr()->GetZ(), kTRUE)) {
TMatrixD mcsCov(5,5);
if (startingTrackParam == nextTrackParam && chId == 0) {
AliMUONTrackParam trackParamForMCS;
trackParamForMCS.SetParameters(nextTrackParam->GetParameters());
AliMUONTrackExtrap::AddMCSEffect(&trackParamForMCS,AliMUONConstants::ChamberThicknessInX0(nextTrackParam->GetClusterPtr()->GetChamberId()),-1.);
const TMatrixD &propagator = currentTrackParam.GetPropagator();
TMatrixD tmp(trackParamForMCS.GetCovariances(),TMatrixD::kMultTranspose,propagator);
mcsCov.Mult(propagator,tmp);
} else mcsCov.Zero();
Double_t trackResX2 = currentTrackParam.GetCovariances()(0,0) + mcsCov(0,0);
Double_t trackResY2 = currentTrackParam.GetCovariances()(2,2) + mcsCov(2,2);
deltaX = cluster->GetX() - currentTrackParam.GetNonBendingCoor();
deltaY = cluster->GetY() - currentTrackParam.GetBendingCoor();
((TH2F*)fResiduals->UncheckedAt(kResidualPerChClusterOut))->Fill(chId+1, deltaX);
((TH2F*)fResiduals->UncheckedAt(kResidualPerChClusterOut+1))->Fill(chId+1, deltaY);
((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterOut))->Fill(halfChId+1, deltaX);
((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterOut+1))->Fill(halfChId+1, deltaY);
((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterOut))->Fill(fDEIndices[deId], deltaX);
((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterOut+1))->Fill(fDEIndices[deId], deltaY);
((TH2F*)fResidualsVsP->UncheckedAt(kResidualInChVsPClusterOut+chId))->Fill(pUncorr, deltaX);
((TH2F*)fResidualsVsP->UncheckedAt(kResidualInChVsPClusterOut+10+chId))->Fill(pUncorr, deltaY);
((TH2F*)fResidualsVsP->UncheckedAt(kResidualVsPClusterOut))->Fill(pUncorr, deltaX);
((TH2F*)fResidualsVsP->UncheckedAt(kResidualVsPClusterOut+1))->Fill(pUncorr, deltaY);
((TH2F*)fResidualsVsCent->UncheckedAt(kResidualInChVsCentClusterOut+chId))->Fill(centrality, deltaX);
((TH2F*)fResidualsVsCent->UncheckedAt(kResidualInChVsCentClusterOut+10+chId))->Fill(centrality, deltaY);
((TH2F*)fResidualsVsCent->UncheckedAt(kResidualVsCentClusterOut))->Fill(centrality, deltaX);
((TH2F*)fResidualsVsCent->UncheckedAt(kResidualVsCentClusterOut+1))->Fill(centrality, deltaY);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInChVsAngleClusterOut+chId))->Fill(angleX, deltaX);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInChVsAngleClusterOut+10+chId))->Fill(angleY, deltaY);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualVsAngleClusterOut))->Fill(angleX, deltaX);
((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualVsAngleClusterOut+1))->Fill(angleY, deltaY);
((TH2F*)fResiduals->UncheckedAt(kTrackResPerCh))->Fill(chId+1, TMath::Sqrt(trackResX2));
((TH2F*)fResiduals->UncheckedAt(kTrackResPerCh+1))->Fill(chId+1, TMath::Sqrt(trackResY2));
((TH2F*)fResiduals->UncheckedAt(kTrackResPerHalfCh))->Fill(halfChId+1, TMath::Sqrt(trackResX2));
((TH2F*)fResiduals->UncheckedAt(kTrackResPerHalfCh+1))->Fill(halfChId+1, TMath::Sqrt(trackResY2));
((TH2F*)fResiduals->UncheckedAt(kTrackResPerDE))->Fill(fDEIndices[deId], TMath::Sqrt(trackResX2));
((TH2F*)fResiduals->UncheckedAt(kTrackResPerDE+1))->Fill(fDEIndices[deId], TMath::Sqrt(trackResY2));
((TH2F*)fResiduals->UncheckedAt(kMCSPerCh))->Fill(chId+1, TMath::Sqrt(mcsCov(0,0)));
((TH2F*)fResiduals->UncheckedAt(kMCSPerCh+1))->Fill(chId+1, TMath::Sqrt(mcsCov(2,2)));
((TH2F*)fResiduals->UncheckedAt(kMCSPerHalfCh))->Fill(halfChId+1, TMath::Sqrt(mcsCov(0,0)));
((TH2F*)fResiduals->UncheckedAt(kMCSPerHalfCh+1))->Fill(halfChId+1, TMath::Sqrt(mcsCov(2,2)));
((TH2F*)fResiduals->UncheckedAt(kMCSPerDE))->Fill(fDEIndices[deId], TMath::Sqrt(mcsCov(0,0)));
((TH2F*)fResiduals->UncheckedAt(kMCSPerDE+1))->Fill(fDEIndices[deId], TMath::Sqrt(mcsCov(2,2)));
((TH2F*)fResiduals->UncheckedAt(kClusterRes2PerCh))->Fill(chId+1, deltaX*deltaX - trackResX2);
((TH2F*)fResiduals->UncheckedAt(kClusterRes2PerCh+1))->Fill(chId+1, deltaY*deltaY - trackResY2);
}
}
}
track.AddTrackParamAtCluster(currentTrackParam, *(currentTrackParam.GetClusterPtr()), kTRUE);
}
}
PostData(1, fResiduals);
PostData(2, fResidualsVsP);
PostData(3, fResidualsVsCent);
PostData(4, fResidualsVsAngle);
PostData(5, fTrackRes);
}
void AliAnalysisTaskMuonResolution::NotifyRun()
{
if (fOCDBLoaded) return;
AliCDBManager* cdbm = AliCDBManager::Instance();
cdbm->SetDefaultStorage(fDefaultStorage.Data());
cdbm->SetRun(fCurrentRunNumber);
if (!AliMUONCDB::LoadField()) return;
if (!AliMUONCDB::LoadMapping()) return;
AliMUONRecoParam* recoParam = AliMUONCDB::LoadRecoParam();
if (!recoParam) return;
if (fImproveTracks) recoParam->ImproveTracks(kTRUE);
else recoParam->ImproveTracks(kFALSE);
AliMUONESDInterface::ResetTracker(recoParam);
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
if (fClusterResNB[i] < 0.) fClusterResNB[i] = recoParam->GetDefaultNonBendingReso(i);
if (fClusterResB[i] < 0.) fClusterResB[i] = recoParam->GetDefaultBendingReso(i);
AliMpDEIterator it;
it.First(i);
while (!it.IsDone()) {
fNDE++;
fDEIndices[it.CurrentDEId()] = fNDE;
fDEIds[fNDE] = it.CurrentDEId();
it.Next();
}
}
if (fReAlign) {
TString defaultStorage(cdbm->GetDefaultStorage()->GetType());
if (defaultStorage == "alien") defaultStorage += Form("://folder=%s", cdbm->GetDefaultStorage()->GetBaseFolder().Data());
else defaultStorage += Form("://%s", cdbm->GetDefaultStorage()->GetBaseFolder().Data());
if (cdbm->GetEntryCache()->Contains("GRP/Geometry/Data")) cdbm->UnloadFromCache("GRP/Geometry/Data");
if (cdbm->GetEntryCache()->Contains("MUON/Align/Data")) cdbm->UnloadFromCache("MUON/Align/Data");
if (AliGeomManager::GetGeometry()) AliGeomManager::GetGeometry()->UnlockGeometry();
AliGeomManager::LoadGeometry();
if (!AliGeomManager::GetGeometry()) return;
if (fOldAlignStorage != "none") {
if (!fOldAlignStorage.IsNull()) cdbm->SetSpecificStorage("MUON/Align/Data",fOldAlignStorage.Data());
else cdbm->SetSpecificStorage("MUON/Align/Data",defaultStorage.Data());
AliGeomManager::ApplyAlignObjsFromCDB("MUON");
}
fOldGeoTransformer = new AliMUONGeometryTransformer();
fOldGeoTransformer->LoadGeometryData();
cdbm->UnloadFromCache("GRP/Geometry/Data");
if (fOldAlignStorage != "none") cdbm->UnloadFromCache("MUON/Align/Data");
AliGeomManager::GetGeometry()->UnlockGeometry();
AliGeomManager::LoadGeometry();
if (!AliGeomManager::GetGeometry()) return;
if (!fNewAlignStorage.IsNull()) cdbm->SetSpecificStorage("MUON/Align/Data",fNewAlignStorage.Data());
else cdbm->SetSpecificStorage("MUON/Align/Data",defaultStorage.Data());
AliGeomManager::ApplyAlignObjsFromCDB("MUON");
fNewGeoTransformer = new AliMUONGeometryTransformer();
fNewGeoTransformer->LoadGeometryData();
} else {
if (cdbm->GetEntryCache()->Contains("GRP/Geometry/Data")) cdbm->UnloadFromCache("GRP/Geometry/Data");
if (cdbm->GetEntryCache()->Contains("MUON/Align/Data")) cdbm->UnloadFromCache("MUON/Align/Data");
if (AliGeomManager::GetGeometry()) AliGeomManager::GetGeometry()->UnlockGeometry();
AliGeomManager::LoadGeometry();
if (!AliGeomManager::GetGeometry()) return;
if (!fNewAlignStorage.IsNull()) cdbm->SetSpecificStorage("MUON/Align/Data",fNewAlignStorage.Data());
AliGeomManager::ApplyAlignObjsFromCDB("MUON");
fNewGeoTransformer = new AliMUONGeometryTransformer();
fNewGeoTransformer->LoadGeometryData();
}
if (fPrintClResPerCh) {
printf("\nstarting chamber resolution:\n");
printf(" - non-bending:");
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) printf((i==0)?" %5.3f":", %5.3f",fClusterResNB[i]);
printf("\n - bending:");
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) printf((i==0)?" %6.4f":", %6.4f",fClusterResB[i]);
printf("\n\n");
}
if (fMuonTrackCuts) fMuonTrackCuts->SetRun(fInputHandler);
fOCDBLoaded = kTRUE;
UserCreateOutputObjects();
}
void AliAnalysisTaskMuonResolution::Terminate(Option_t *)
{
fResiduals = static_cast<TObjArray*> (GetOutputData(1));
fResidualsVsP = static_cast<TObjArray*> (GetOutputData(2));
fResidualsVsCent = static_cast<TObjArray*> (GetOutputData(3));
fResidualsVsAngle = static_cast<TObjArray*> (GetOutputData(4));
fTrackRes = static_cast<TObjArray*> (GetOutputData(5));
if (!fResiduals || !fResidualsVsP || !fResidualsVsCent || !fResidualsVsAngle || !fTrackRes) return;
fLocalChi2 = new TObjArray(1000);
fLocalChi2->SetOwner();
fChamberRes = new TObjArray(1000);
fChamberRes->SetOwner();
fCanvases = new TObjArray(1000);
fCanvases->SetOwner();
fTmpHists = new TObjArray(1000);
fTmpHists->SetOwner();
TGraphErrors* g;
TMultiGraph* mg;
TCanvas* c;
const char* axes[2] = {"X", "Y"};
const char* side[2] = {"I", "O"};
Double_t newClusterRes[2][10], newClusterResErr[2][10];
fNDE = ((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterIn))->GetXaxis()->GetNbins();
TString name, title;
for (Int_t ia = 0; ia < 2; ia++) {
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gResidual%sPerChMean_ClusterIn",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per Ch: mean (cluster in);chamber ID;<#Delta_{%s}> (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerChMeanClusterIn+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gResidual%sPerChMean_ClusterOut",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per Ch: mean (cluster out);chamber ID;<#Delta_{%s}> (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerChMeanClusterOut+ia);
g = new TGraphErrors(2*AliMUONConstants::NTrackingCh());
g->SetName(Form("gResidual%sPerHalfChMean_ClusterIn",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per half Ch: mean (cluster in);half chamber ID;<#Delta_{%s}> (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerHalfChMeanClusterIn+ia);
g = new TGraphErrors(2*AliMUONConstants::NTrackingCh());
g->SetName(Form("gResidual%sPerHalfChMean_ClusterOut",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per half Ch: mean (cluster out);half chamber ID;<#Delta_{%s}> (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerHalfChMeanClusterOut+ia);
g = new TGraphErrors(fNDE);
g->SetName(Form("gResidual%sPerDEMean_ClusterIn",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per DE: mean (cluster in);DE ID;<#Delta_{%s}> (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerDEMeanClusterIn+ia);
g = new TGraphErrors(fNDE);
g->SetName(Form("gResidual%sPerDEMean_ClusterOut",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per DE: mean (cluster out);DE ID;<#Delta_{%s}> (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerDEMeanClusterOut+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gResidual%sPerChSigma_ClusterIn",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per Ch: sigma (cluster in);chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerChSigmaClusterIn+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gResidual%sPerChSigma_ClusterOut",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per Ch: sigma (cluster out);chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerChSigmaClusterOut+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gResidual%sPerChDispersion_ClusterOut",axes[ia]));
g->SetTitle(Form("cluster-track residual-%s per Ch: dispersion (cluster out);chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kResidualPerChDispersionClusterOut+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gCombinedResidual%sPerChSigma",axes[ia]));
g->SetTitle(Form("combined cluster-track residual-%s per Ch: sigma;chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kCombinedResidualPerChSigma+ia);
g = new TGraphErrors(2*AliMUONConstants::NTrackingCh());
g->SetName(Form("gCombinedResidual%sPerHalfChSigma",axes[ia]));
g->SetTitle(Form("combined cluster-track residual-%s per half Ch: sigma;half chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kCombinedResidualPerHalfChSigma+ia);
g = new TGraphErrors(fNDE);
g->SetName(Form("gCombinedResidual%sPerDESigma",axes[ia]));
g->SetTitle(Form("combined cluster-track residual-%s per DE: sigma;DE ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kCombinedResidualPerDESigma+ia);
name = Form("mgResidual%sMeanVsP_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s per chamber versus momentum: mean (cluster in);p (GeV/c^{2});<#Delta_{%s}> (cm)",axes[ia],axes[ia]);
mg = new TMultiGraph(name.Data(), title.Data());
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
g = new TGraphErrors(((TH2F*)fResidualsVsP->UncheckedAt(kResidualInChVsPClusterIn+10*ia+i))->GetNbinsX());
g->SetName(Form("gShift%sVsP_ch%d",axes[ia],i+1));
g->SetMarkerStyle(kFullDotMedium);
g->SetMarkerColor(i+1+i/9);
mg->Add(g,"p");
}
fChamberRes->AddAtAndExpand(mg, kResidualMeanClusterInVsP+ia);
name = Form("mgCombinedResidual%sSigmaVsP",axes[ia]); title = Form("cluster %s-resolution per chamber versus momentum;p (GeV/c^{2});#sigma_{%s} (cm)",axes[ia],axes[ia]);
mg = new TMultiGraph(name.Data(), title.Data());
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
g = new TGraphErrors(((TH2F*)fResidualsVsP->UncheckedAt(kResidualInChVsPClusterIn+10*ia+i))->GetNbinsX());
g->SetName(Form("gRes%sVsP_ch%d",axes[ia],i+1));
g->SetMarkerStyle(kFullDotMedium);
g->SetMarkerColor(i+1+i/9);
mg->Add(g,"p");
}
fChamberRes->AddAtAndExpand(mg, kCombinedResidualSigmaVsP+ia);
g = new TGraphErrors(((TH2F*)fResidualsVsP->UncheckedAt(kResidualVsPClusterIn+ia))->GetNbinsX());
g->SetName(Form("gCombinedResidual%sSigmaVsP",axes[ia]));
g->SetTitle(Form("cluster %s-resolution integrated over chambers versus momentum: sigma;p (GeV/c^{2});#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kCombinedResidualAllChSigmaVsP+ia);
name = Form("mgResidual%sMeanVsCent_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s per chamber versus centrality: mean (cluster in);centrality (%%);<#Delta_{%s}> (cm)",axes[ia],axes[ia]);
mg = new TMultiGraph(name.Data(), title.Data());
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
g = new TGraphErrors(((TH2F*)fResidualsVsCent->UncheckedAt(kResidualInChVsCentClusterIn+10*ia+i))->GetNbinsX());
g->SetName(Form("gShift%sVsCent_ch%d",axes[ia],i+1));
g->SetMarkerStyle(kFullDotMedium);
g->SetMarkerColor(i+1+i/9);
mg->Add(g,"p");
}
fChamberRes->AddAtAndExpand(mg, kResidualMeanClusterInVsCent+ia);
name = Form("mgCombinedResidual%sSigmaVsCent",axes[ia]); title = Form("cluster %s-resolution per chamber versus centrality;centrality (%%);#sigma_{%s} (cm)",axes[ia],axes[ia]);
mg = new TMultiGraph(name.Data(), title.Data());
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
g = new TGraphErrors(((TH2F*)fResidualsVsCent->UncheckedAt(kResidualInChVsCentClusterIn+10*ia+i))->GetNbinsX());
g->SetName(Form("gRes%sVsCent_ch%d",axes[ia],i+1));
g->SetMarkerStyle(kFullDotMedium);
g->SetMarkerColor(i+1+i/9);
mg->Add(g,"p");
}
fChamberRes->AddAtAndExpand(mg, kCombinedResidualSigmaVsCent+ia);
g = new TGraphErrors(((TH2F*)fResidualsVsCent->UncheckedAt(kResidualVsCentClusterIn+ia))->GetNbinsX());
g->SetName(Form("gCombinedResidual%sSigmaVsCent",axes[ia]));
g->SetTitle(Form("cluster %s-resolution integrated over chambers versus centrality: sigma;centrality (%%);#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kCombinedResidualAllChSigmaVsCent+ia);
name = Form("mgResidual%sMeanVsAngle_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s per chamber versus track angle: mean (cluster in);%s-angle (deg);<#Delta_{%s}> (cm)",axes[ia],axes[ia],axes[ia]);
mg = new TMultiGraph(name.Data(), title.Data());
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
g = new TGraphErrors(((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInChVsAngleClusterIn+10*ia+i))->GetNbinsX());
g->SetName(Form("gShift%sVsAngle_ch%d",axes[ia],i+1));
g->SetMarkerStyle(kFullDotMedium);
g->SetMarkerColor(i+1+i/9);
mg->Add(g,"p");
}
fChamberRes->AddAtAndExpand(mg, kResidualMeanClusterInVsAngle+ia);
name = Form("mgHChResidual%sMeanVsAngle_ClusterIn",axes[ia]); title = Form("cluster-track residual-%s per half-chamber versus track angle: mean (cluster in);%s-angle (deg);<#Delta_{%s}> (cm)",axes[ia],axes[ia],axes[ia]);
mg = new TMultiGraph(name.Data(), title.Data());
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
for (Int_t j = 0; j < 2; j++) {
g = new TGraphErrors(((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInHalfChVsAngleClusterIn+20*ia+2*i+j))->GetNbinsX());
g->SetName(Form("gShift%sVsAngle_halfCh%d%s",axes[ia],i+1,side[j]));
g->SetMarkerStyle(kFullDotMedium);
g->SetMarkerColor(2*i+j+1+(2*i+j)/9);
mg->Add(g,"p");
}
}
fChamberRes->AddAtAndExpand(mg, kHChResidualMeanClusterInVsAngle+ia);
name = Form("mgCombinedResidual%sSigmaVsAngle",axes[ia]); title = Form("cluster %s-resolution per chamber versus track angle;%s-angle (deg);#sigma_{%s} (cm)",axes[ia],axes[ia],axes[ia]);
mg = new TMultiGraph(name.Data(), title.Data());
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
g = new TGraphErrors(((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInChVsAngleClusterIn+10*ia+i))->GetNbinsX());
g->SetName(Form("gRes%sVsAngle_ch%d",axes[ia],i+1));
g->SetMarkerStyle(kFullDotMedium);
g->SetMarkerColor(i+1+i/9);
mg->Add(g,"p");
}
fChamberRes->AddAtAndExpand(mg, kCombinedResidualSigmaVsAngle+ia);
g = new TGraphErrors(((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualVsAngleClusterIn+ia))->GetNbinsX());
g->SetName(Form("gCombinedResidual%sSigmaVsAngle",axes[ia]));
g->SetTitle(Form("cluster %s-resolution integrated over chambers versus track angle: sigma;%s-angle (deg);#sigma_{%s} (cm)",axes[ia],axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kCombinedResidualAllChSigmaVsAngle+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gTrackRes%sPerCh",axes[ia]));
g->SetTitle(Form("track <#sigma_{%s}> per Ch;chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kTrackResPerChMean+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gMCS%sPerCh",axes[ia]));
g->SetTitle(Form("MCS %s-dispersion of extrapolated track per Ch;chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kMCSPerChMean+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gClusterRes%sPerCh",axes[ia]));
g->SetTitle(Form("cluster <#sigma_{%s}> per Ch;chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kClusterResPerCh+ia);
g = new TGraphErrors(2*AliMUONConstants::NTrackingCh());
g->SetName(Form("gClusterRes%sPerHalfCh",axes[ia]));
g->SetTitle(Form("cluster <#sigma_{%s}> per half Ch;half chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kClusterResPerHalfCh+ia);
g = new TGraphErrors(fNDE);
g->SetName(Form("gClusterRes%sPerDE",axes[ia]));
g->SetTitle(Form("cluster <#sigma_{%s}> per DE;DE ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kClusterResPerDE+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gCalcClusterRes%sPerCh",axes[ia]));
g->SetTitle(Form("calculated cluster <#sigma_{%s}> per Ch;chamber ID;#sigma_{%s} (cm)",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fChamberRes->AddAtAndExpand(g, kCalcClusterResPerCh+ia);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName(Form("gLocalChi2%sPerChMean",axes[ia]));
g->SetTitle(Form("local chi2-%s per Ch: mean;chamber ID;<local #chi^{2}_{%s}>",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fLocalChi2->AddAtAndExpand(g, kLocalChi2PerChMean+ia);
g = new TGraphErrors(fNDE);
g->SetName(Form("gLocalChi2%sPerDEMean",axes[ia]));
g->SetTitle(Form("local chi2-%s per DE: mean;DE ID;<local #chi^{2}_{%s}>",axes[ia],axes[ia]));
g->SetMarkerStyle(kFullDotLarge);
fLocalChi2->AddAtAndExpand(g, kLocalChi2PerDEMean+ia);
name = Form("cDetailRes%sPerChClIn",axes[ia]); title = Form("cDetailRes%sPerChClIn",axes[ia]);
c = new TCanvas(name.Data(), title.Data(), 1200, 500);
c->Divide(5,2);
fCanvases->AddAtAndExpand(c, kDetailResPerCh+2*ia);
name = Form("cDetailRes%sPerChClOut",axes[ia]); title = Form("cDetailRes%sPerChClOut",axes[ia]);
c = new TCanvas(name.Data(), title.Data(), 1200, 500);
c->Divide(5,2);
fCanvases->AddAtAndExpand(c, kDetailResPerCh+1+2*ia);
name = Form("cDetailRes%sPerHalfChClIn",axes[ia]); title = Form("cDetailRes%sPerHalfChClIn",axes[ia]);
c = new TCanvas(name.Data(), title.Data(), 1200, 800);
c->Divide(5,4);
fCanvases->AddAtAndExpand(c, kDetailResPerHalfCh+2*ia);
name = Form("cDetailRes%sPerHalfChClOut",axes[ia]); title = Form("cDetailRes%sPerHalfChClOut",axes[ia]);
c = new TCanvas(name.Data(), title.Data(), 1200, 800);
c->Divide(5,4);
fCanvases->AddAtAndExpand(c, kDetailResPerHalfCh+1+2*ia);
name = Form("cDetailRes%sPerDEClIn",axes[ia]); title = Form("cDetailRes%sPerDEClIn",axes[ia]);
c = new TCanvas(name.Data(), title.Data(), 1200, 800);
c->Divide(13,12);
fCanvases->AddAtAndExpand(c, kDetailResPerDE+2*ia);
name = Form("cDetailRes%sPerDEClOut",axes[ia]); title = Form("cDetailRes%sPerDEClOut",axes[ia]);
c = new TCanvas(name.Data(), title.Data(), 1200, 800);
c->Divide(13,12);
fCanvases->AddAtAndExpand(c, kDetailResPerDE+1+2*ia);
FillMeanSigmaClusterVsX((TH2F*)fResidualsVsP->UncheckedAt(kResidualVsPClusterIn+ia),
(TH2F*)fResidualsVsP->UncheckedAt(kResidualVsPClusterOut+ia),
0x0, (TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualAllChSigmaVsP+ia));
FillMeanSigmaClusterVsX((TH2F*)fResidualsVsCent->UncheckedAt(kResidualVsCentClusterIn+ia),
(TH2F*)fResidualsVsCent->UncheckedAt(kResidualVsCentClusterOut+ia),
0x0, (TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualAllChSigmaVsCent+ia));
FillMeanSigmaClusterVsX((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualVsAngleClusterIn+ia),
(TH2F*)fResidualsVsAngle->UncheckedAt(kResidualVsAngleClusterOut+ia),
0x0, (TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualAllChSigmaVsAngle+ia));
Double_t meanIn, meanInErr, meanOut, meanOutErr, sigma, sigmaIn, sigmaInErr, sigmaOut, sigmaOutErr;
Double_t sigmaTrack, sigmaTrackErr, sigmaMCS, sigmaMCSErr, clusterRes, clusterResErr, sigmaCluster, sigmaClusterErr;
Double_t dumy1, dumy2;
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
TH1D *tmp = ((TH2F*)fResiduals->UncheckedAt(kResidualPerChClusterIn+ia))->ProjectionY(Form("hRes%sCh%dClIn",axes[ia],i+1),i+1,i+1,"e");
tmp->SetTitle(Form("chamber %d",i+1));
GetMeanRMS(tmp, meanIn, meanInErr, sigmaIn, sigmaInErr, (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChMeanClusterIn+ia),
(TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChSigmaClusterIn+ia), i, i+1);
fTmpHists->AddLast(tmp);
tmp = ((TH2F*)fResiduals->UncheckedAt(kResidualPerChClusterOut+ia))->ProjectionY(Form("hRes%sCh%dClOut",axes[ia],i+1),i+1,i+1,"e");
tmp->SetTitle(Form("chamber %d",i+1));
GetMeanRMS(tmp, meanOut, meanOutErr, sigmaOut, sigmaOutErr, (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChMeanClusterOut+ia),
(TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChSigmaClusterOut+ia), i, i+1);
fTmpHists->AddLast(tmp);
if (fCorrectForSystematics) {
sigma = TMath::Sqrt(sigmaIn*sigmaIn + meanIn*meanIn);
sigmaInErr = (sigma>0) ? TMath::Sqrt(sigmaIn*sigmaIn*sigmaInErr*sigmaInErr + meanIn*meanIn*meanInErr*meanInErr) / sigma : 0.;
sigmaIn = sigma;
sigma = TMath::Sqrt(sigmaOut*sigmaOut + meanOut*meanOut);
sigmaOutErr = (sigma>0) ? TMath::Sqrt(sigmaOut*sigmaOut*sigmaOutErr*sigmaOutErr + meanOut*meanOut*meanOutErr*meanOutErr) / sigma : 0.;
sigmaOut = sigma;
}
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChDispersionClusterOut+ia))->SetPoint(i, i+1, sigmaOut);
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChDispersionClusterOut+ia))->SetPointError(i, 0., sigmaOutErr);
clusterRes = TMath::Sqrt(sigmaIn*sigmaOut);
clusterResErr = TMath::Sqrt(sigmaInErr*sigmaOutErr);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerChSigma+ia))->SetPoint(i, i+1, clusterRes);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerChSigma+ia))->SetPointError(i, 0., clusterResErr);
newClusterRes[ia][i] = clusterRes;
newClusterResErr[ia][i] = clusterResErr;
tmp = ((TH2F*)fResiduals->UncheckedAt(kTrackResPerCh+ia))->ProjectionY("tmp",i+1,i+1,"e");
GetMeanRMS(tmp, sigmaTrack, sigmaTrackErr, dumy1, dumy2, (TGraphErrors*)fChamberRes->UncheckedAt(kTrackResPerChMean+ia), 0x0, i, i+1, kFALSE, kFALSE);
delete tmp;
tmp = ((TH2F*)fResiduals->UncheckedAt(kMCSPerCh+ia))->ProjectionY("tmp",i+1,i+1,"e");
GetMeanRMS(tmp, sigmaMCS, sigmaMCSErr, dumy1, dumy2, (TGraphErrors*)fChamberRes->UncheckedAt(kMCSPerChMean+ia), 0x0, i, i+1, kFALSE, kFALSE);
delete tmp;
sigmaCluster = sigmaOut*sigmaOut - sigmaTrack*sigmaTrack;
if (sigmaCluster > 0.) {
sigmaCluster = TMath::Sqrt(sigmaCluster);
sigmaClusterErr = TMath::Sqrt(sigmaOut*sigmaOut*sigmaOutErr*sigmaOutErr + sigmaTrack*sigmaTrack*sigmaTrackErr*sigmaTrackErr) / sigmaCluster;
} else {
sigmaCluster = 0.;
sigmaClusterErr = 0.;
}
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerCh+ia))->SetPoint(i, i+1, sigmaCluster);
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerCh+ia))->SetPointError(i, 0., sigmaClusterErr);
tmp = ((TH2F*)fResiduals->UncheckedAt(kClusterRes2PerCh+ia))->ProjectionY("tmp",i+1,i+1,"e");
ZoomRight(tmp);
clusterRes = tmp->GetMean();
if (clusterRes > 0.) {
((TGraphErrors*)fChamberRes->UncheckedAt(kCalcClusterResPerCh+ia))->SetPoint(i, i+1, TMath::Sqrt(clusterRes));
((TGraphErrors*)fChamberRes->UncheckedAt(kCalcClusterResPerCh+ia))->SetPointError(i, 0., 0.5 * tmp->GetMeanError() / TMath::Sqrt(clusterRes));
} else {
((TGraphErrors*)fChamberRes->UncheckedAt(kCalcClusterResPerCh+ia))->SetPoint(i, i+1, 0.);
((TGraphErrors*)fChamberRes->UncheckedAt(kCalcClusterResPerCh+ia))->SetPointError(i, 0., 0.);
}
delete tmp;
FillMeanSigmaClusterVsX((TH2F*)fResidualsVsP->UncheckedAt(kResidualInChVsPClusterIn+10*ia+i),
(TH2F*)fResidualsVsP->UncheckedAt(kResidualInChVsPClusterOut+10*ia+i),
(TGraphErrors*)((TMultiGraph*)fChamberRes->UncheckedAt(kResidualMeanClusterInVsP+ia))->GetListOfGraphs()->FindObject(Form("gShift%sVsP_ch%d",axes[ia],i+1)),
(TGraphErrors*)((TMultiGraph*)fChamberRes->UncheckedAt(kCombinedResidualSigmaVsP+ia))->GetListOfGraphs()->FindObject(Form("gRes%sVsP_ch%d",axes[ia],i+1)));
FillMeanSigmaClusterVsX((TH2F*)fResidualsVsCent->UncheckedAt(kResidualInChVsCentClusterIn+10*ia+i),
(TH2F*)fResidualsVsCent->UncheckedAt(kResidualInChVsCentClusterOut+10*ia+i),
(TGraphErrors*)((TMultiGraph*)fChamberRes->UncheckedAt(kResidualMeanClusterInVsCent+ia))->GetListOfGraphs()->FindObject(Form("gShift%sVsCent_ch%d",axes[ia],i+1)),
(TGraphErrors*)((TMultiGraph*)fChamberRes->UncheckedAt(kCombinedResidualSigmaVsCent+ia))->GetListOfGraphs()->FindObject(Form("gRes%sVsCent_ch%d",axes[ia],i+1)));
FillMeanSigmaClusterVsX((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInChVsAngleClusterIn+10*ia+i),
(TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInChVsAngleClusterOut+10*ia+i),
(TGraphErrors*)((TMultiGraph*)fChamberRes->UncheckedAt(kResidualMeanClusterInVsAngle+ia))->GetListOfGraphs()->FindObject(Form("gShift%sVsAngle_ch%d",axes[ia],i+1)),
(TGraphErrors*)((TMultiGraph*)fChamberRes->UncheckedAt(kCombinedResidualSigmaVsAngle+ia))->GetListOfGraphs()->FindObject(Form("gRes%sVsAngle_ch%d",axes[ia],i+1)));
for (Int_t j = 0; j < 2; j++) {
Int_t k = 2*i+j;
tmp = ((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterIn+ia))->ProjectionY(Form("hRes%sHalfCh%dClIn",axes[ia],k+1),k+1,k+1,"e");
tmp->SetTitle(Form("half chamber %s",((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterIn+ia))->GetXaxis()->GetBinLabel(k+1)));
GetMeanRMS(tmp, meanIn, meanInErr, sigmaIn, sigmaInErr, (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterIn+ia), 0x0, k, k+1);
fTmpHists->AddLast(tmp);
tmp = ((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterOut+ia))->ProjectionY(Form("hRes%sHalfCh%dClOut",axes[ia],k+1),k+1,k+1,"e");
tmp->SetTitle(Form("half chamber %s",((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterOut+ia))->GetXaxis()->GetBinLabel(k+1)));
GetMeanRMS(tmp, meanOut, meanOutErr, sigmaOut, sigmaOutErr, (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterOut+ia), 0x0, k, k+1);
fTmpHists->AddLast(tmp);
if (fCorrectForSystematics) {
sigma = TMath::Sqrt(sigmaIn*sigmaIn + meanIn*meanIn);
sigmaInErr = (sigma>0) ? TMath::Sqrt(sigmaIn*sigmaIn*sigmaInErr*sigmaInErr + meanIn*meanIn*meanInErr*meanInErr) / sigma : 0.;
sigmaIn = sigma;
sigma = TMath::Sqrt(sigmaOut*sigmaOut + meanOut*meanOut);
sigmaOutErr = (sigma>0) ? TMath::Sqrt(sigmaOut*sigmaOut*sigmaOutErr*sigmaOutErr + meanOut*meanOut*meanOutErr*meanOutErr) / sigma : 0.;
sigmaOut = sigma;
}
clusterRes = TMath::Sqrt(sigmaIn*sigmaOut);
clusterResErr = TMath::Sqrt(sigmaInErr*sigmaOutErr);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerHalfChSigma+ia))->SetPoint(k, k+1, clusterRes);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerHalfChSigma+ia))->SetPointError(k, 0., clusterResErr);
tmp = ((TH2F*)fResiduals->UncheckedAt(kTrackResPerHalfCh+ia))->ProjectionY("tmp",k+1,k+1,"e");
GetMeanRMS(tmp, sigmaTrack, sigmaTrackErr, dumy1, dumy2, 0x0, 0x0, 0, 0, kFALSE, kFALSE);
delete tmp;
tmp = ((TH2F*)fResiduals->UncheckedAt(kMCSPerHalfCh+ia))->ProjectionY("tmp",k+1,k+1,"e");
GetMeanRMS(tmp, sigmaMCS, sigmaMCSErr, dumy1, dumy2, 0x0, 0x0, 0, 0, kFALSE, kFALSE);
delete tmp;
sigmaCluster = sigmaOut*sigmaOut - sigmaTrack*sigmaTrack;
if (sigmaCluster > 0.) {
sigmaCluster = TMath::Sqrt(sigmaCluster);
sigmaClusterErr = TMath::Sqrt(sigmaOut*sigmaOut*sigmaOutErr*sigmaOutErr + sigmaTrack*sigmaTrack*sigmaTrackErr*sigmaTrackErr) / sigmaCluster;
} else {
sigmaCluster = 0.;
sigmaClusterErr = 0.;
}
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerHalfCh+ia))->SetPoint(k, k+1, sigmaCluster);
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerHalfCh+ia))->SetPointError(k, 0., sigmaClusterErr);
FillMeanSigmaClusterVsX((TH2F*)fResidualsVsAngle->UncheckedAt(kResidualInHalfChVsAngleClusterIn+20*ia+2*i+j), 0x0,
(TGraphErrors*)((TMultiGraph*)fChamberRes->UncheckedAt(kHChResidualMeanClusterInVsAngle+ia))->GetListOfGraphs()->FindObject(Form("gShift%sVsAngle_halfCh%d%s",axes[ia],i+1,side[j])), 0x0);
}
tmp = ((TH2F*)fResiduals->UncheckedAt(kLocalChi2PerCh+ia))->ProjectionY("tmp",i+1,i+1,"e");
((TGraphErrors*)fLocalChi2->UncheckedAt(kLocalChi2PerChMean+ia))->SetPoint(i, i+1, tmp->GetMean());
((TGraphErrors*)fLocalChi2->UncheckedAt(kLocalChi2PerChMean+ia))->SetPointError(i, 0., tmp->GetMeanError());
delete tmp;
}
for (Int_t i = 0; i < fNDE; i++) {
TH1D *tmp = ((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterIn+ia))->ProjectionY(Form("hRes%sDE%dClIn",axes[ia],i+1),i+1,i+1,"e");
tmp->SetTitle(Form("DE %s",((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterIn+ia))->GetXaxis()->GetBinLabel(i+1)));
GetMeanRMS(tmp, meanIn, meanInErr, sigmaIn, sigmaInErr, (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterIn+ia), 0x0, i, i+1);
fTmpHists->AddLast(tmp);
tmp = ((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterOut+ia))->ProjectionY(Form("hRes%sDE%dClOut",axes[ia],i+1),i+1,i+1,"e");
tmp->SetTitle(Form("DE %s",((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterOut+ia))->GetXaxis()->GetBinLabel(i+1)));
GetMeanRMS(tmp, meanOut, meanOutErr, sigmaOut, sigmaOutErr, (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterOut+ia), 0x0, i, i+1);
fTmpHists->AddLast(tmp);
if (fCorrectForSystematics) {
sigma = TMath::Sqrt(sigmaIn*sigmaIn + meanIn*meanIn);
sigmaInErr = (sigma>0) ? TMath::Sqrt(sigmaIn*sigmaIn*sigmaInErr*sigmaInErr + meanIn*meanIn*meanInErr*meanInErr) / sigma : 0.;
sigmaIn = sigma;
sigma = TMath::Sqrt(sigmaOut*sigmaOut + meanOut*meanOut);
sigmaOutErr = (sigma>0) ? TMath::Sqrt(sigmaOut*sigmaOut*sigmaOutErr*sigmaOutErr + meanOut*meanOut*meanOutErr*meanOutErr) / sigma : 0.;
sigmaOut = sigma;
}
clusterRes = TMath::Sqrt(sigmaIn*sigmaOut);
clusterResErr = TMath::Sqrt(sigmaInErr*sigmaOutErr);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerDESigma+ia))->SetPoint(i, i+1, clusterRes);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerDESigma+ia))->SetPointError(i, 0., clusterResErr);
tmp = ((TH2F*)fResiduals->UncheckedAt(kTrackResPerDE+ia))->ProjectionY("tmp",i+1,i+1,"e");
GetMeanRMS(tmp, sigmaTrack, sigmaTrackErr, dumy1, dumy2, 0x0, 0x0, 0, 0, kFALSE, kFALSE);
delete tmp;
tmp = ((TH2F*)fResiduals->UncheckedAt(kMCSPerDE+ia))->ProjectionY("tmp",i+1,i+1,"e");
GetMeanRMS(tmp, sigmaMCS, sigmaMCSErr, dumy1, dumy2, 0x0, 0x0, 0, 0, kFALSE, kFALSE);
delete tmp;
sigmaCluster = sigmaOut*sigmaOut - sigmaTrack*sigmaTrack;
if (sigmaCluster > 0.) {
sigmaCluster = TMath::Sqrt(sigmaCluster);
sigmaClusterErr = TMath::Sqrt(sigmaOut*sigmaOut*sigmaOutErr*sigmaOutErr + sigmaTrack*sigmaTrack*sigmaTrackErr*sigmaTrackErr) / sigmaCluster;
} else {
sigmaCluster = 0.;
sigmaClusterErr = 0.;
}
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerDE+ia))->SetPoint(i, i+1, sigmaCluster);
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerDE+ia))->SetPointError(i, 0., sigmaClusterErr);
tmp = ((TH2F*)fResiduals->UncheckedAt(kLocalChi2PerDE+ia))->ProjectionY("tmp",i+1,i+1,"e");
((TGraphErrors*)fLocalChi2->UncheckedAt(kLocalChi2PerDEMean+ia))->SetPoint(i, i+1, tmp->GetMean());
((TGraphErrors*)fLocalChi2->UncheckedAt(kLocalChi2PerDEMean+ia))->SetPointError(i, 0., tmp->GetMeanError());
delete tmp;
}
TAxis* xAxis = ((TH2F*)fResiduals->UncheckedAt(kResidualPerHalfChClusterIn+ia))->GetXaxis();
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterIn+ia))->GetXaxis()->Set(20, 0.5, 20.5);
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterOut+ia))->GetXaxis()->Set(20, 0.5, 20.5);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerHalfChSigma+ia))->GetXaxis()->Set(20, 0.5, 20.5);
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerHalfCh+ia))->GetXaxis()->Set(20, 0.5, 20.5);
for (Int_t i = 1; i <= 20; i++) {
const char* label = xAxis->GetBinLabel(i);
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterIn+ia))->GetXaxis()->SetBinLabel(i, label);
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterOut+ia))->GetXaxis()->SetBinLabel(i, label);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerHalfChSigma+ia))->GetXaxis()->SetBinLabel(i, label);
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerHalfCh+ia))->GetXaxis()->SetBinLabel(i, label);
}
xAxis = ((TH2F*)fResiduals->UncheckedAt(kResidualPerDEClusterOut+ia))->GetXaxis();
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterIn+ia))->GetXaxis()->Set(fNDE, 0.5, fNDE+0.5);
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterOut+ia))->GetXaxis()->Set(fNDE, 0.5, fNDE+0.5);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerDESigma+ia))->GetXaxis()->Set(fNDE, 0.5, fNDE+0.5);
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerDE+ia))->GetXaxis()->Set(fNDE, 0.5, fNDE+0.5);
((TGraphErrors*)fLocalChi2->UncheckedAt(kLocalChi2PerDEMean+ia))->GetXaxis()->Set(fNDE, 0.5, fNDE+0.5);
for (Int_t i = 1; i <= fNDE; i++) {
const char* label = xAxis->GetBinLabel(i);
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterIn+ia))->GetXaxis()->SetBinLabel(i, label);
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterOut+ia))->GetXaxis()->SetBinLabel(i, label);
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerDESigma+ia))->GetXaxis()->SetBinLabel(i, label);
((TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerDE+ia))->GetXaxis()->SetBinLabel(i, label);
((TGraphErrors*)fLocalChi2->UncheckedAt(kLocalChi2PerDEMean+ia))->GetXaxis()->SetBinLabel(i, label);
}
}
TH2F* h2 = (TH2F*)fResiduals->UncheckedAt(kLocalChi2PerCh+2);
g = new TGraphErrors(AliMUONConstants::NTrackingCh());
g->SetName("gLocalChi2PerChMean");
g->SetTitle("local chi2 per Ch: mean;chamber ID;<local #chi^{2}>");
g->SetMarkerStyle(kFullDotLarge);
fLocalChi2->AddAtAndExpand(g, kLocalChi2PerChMean+2);
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) {
TH1D* tmp = h2->ProjectionY("tmp",i+1,i+1,"e");
g->SetPoint(i, i+1, tmp->GetMean());
g->SetPointError(i, 0., tmp->GetMeanError());
delete tmp;
}
h2 = (TH2F*)fResiduals->UncheckedAt(kLocalChi2PerDE+2);
g = new TGraphErrors(fNDE);
g->SetName("gLocalChi2PerDEMean");
g->SetTitle("local chi2 per DE: mean;DE ID;<local #chi^{2}>");
g->SetMarkerStyle(kFullDotLarge);
fLocalChi2->AddAtAndExpand(g, kLocalChi2PerDEMean+2);
for (Int_t i = 0; i < fNDE; i++) {
TH1D* tmp = h2->ProjectionY("tmp",i+1,i+1,"e");
g->SetPoint(i, i+1, tmp->GetMean());
g->SetPointError(i, 0., tmp->GetMeanError());
delete tmp;
}
g->GetXaxis()->Set(fNDE, 0.5, fNDE+0.5);
for (Int_t i = 1; i <= fNDE; i++) {
const char* label = h2->GetXaxis()->GetBinLabel(i);
g->GetXaxis()->SetBinLabel(i, label);
}
TLegend *lResPerChMean = new TLegend(0.75,0.85,0.99,0.99);
TLegend *lResPerChSigma1 = new TLegend(0.75,0.85,0.99,0.99);
TLegend *lResPerChSigma2 = new TLegend(0.75,0.85,0.99,0.99);
TLegend *lResPerChSigma3 = new TLegend(0.75,0.85,0.99,0.99);
TCanvas* cResPerCh = new TCanvas("cResPerCh","cResPerCh",1200,500);
cResPerCh->Divide(4,2);
for (Int_t ia = 0; ia < 2; ia++) {
cResPerCh->cd(1+4*ia);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChMeanClusterOut+ia);
g->Draw("ap");
g->SetMarkerColor(2);
g->SetLineColor(2);
if (ia == 0) lResPerChMean->AddEntry(g,"cluster out","PL");
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChMeanClusterIn+ia);
g->Draw("p");
g->SetMarkerColor(4);
g->SetLineColor(4);
if (ia == 0) lResPerChMean->AddEntry(g,"cluster in","PL");
if (ia == 0) lResPerChMean->Draw();
else lResPerChMean->DrawClone();
cResPerCh->cd(2+4*ia);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChSigmaClusterOut+ia);
g->Draw("ap");
g->SetMinimum(0.);
g->SetMarkerColor(2);
g->SetLineColor(2);
if (ia == 0) lResPerChSigma1->AddEntry(g,"cluster out","PL");
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChSigmaClusterIn+ia);
g->Draw("p");
g->SetMarkerColor(4);
g->SetLineColor(4);
if (ia == 0) lResPerChSigma1->AddEntry(g,"cluster in","PL");
g = (TGraphErrors*)fChamberRes->UncheckedAt(kMCSPerChMean+ia);
g->Draw("p");
g->SetMarkerColor(5);
g->SetLineColor(5);
if (ia == 0) lResPerChSigma1->AddEntry(g,"MCS","PL");
g = (TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerChSigma+ia);
g->Draw("p");
g->SetMarkerColor(3);
g->SetLineColor(3);
if (ia == 0) lResPerChSigma1->AddEntry(g,"combined 1","PL");
if (ia == 0) lResPerChSigma1->Draw();
else lResPerChSigma1->DrawClone();
cResPerCh->cd(3+4*ia);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerChDispersionClusterOut+ia);
g->Draw("ap");
g->SetMinimum(0.);
g->SetMarkerColor(2);
g->SetLineColor(2);
if (ia == 0) lResPerChSigma2->AddEntry(g,"cluster out","PL");
g = (TGraphErrors*)fChamberRes->UncheckedAt(kMCSPerChMean+ia);
g->Draw("p");
if (ia == 0) lResPerChSigma2->AddEntry(g,"MCS","PL");
g = (TGraphErrors*)fChamberRes->UncheckedAt(kTrackResPerChMean+ia);
g->Draw("p");
g->SetMarkerColor(4);
g->SetLineColor(4);
if (ia == 0) lResPerChSigma2->AddEntry(g,"track res.","PL");
g = (TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerCh+ia);
g->Draw("p");
if (ia == 0) lResPerChSigma2->AddEntry(g,"combined 2","PL");
if (ia == 0) lResPerChSigma2->Draw();
else lResPerChSigma2->DrawClone();
cResPerCh->cd(4+4*ia);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerChSigma+ia);
g->Draw("ap");
g->SetMinimum(0.);
if (ia == 0) lResPerChSigma3->AddEntry(g,"combined 1","PL");
g = (TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerCh+ia);
g->Draw("p");
if (ia == 0) lResPerChSigma3->AddEntry(g,"combined 2","PL");
if (ia == 0) lResPerChSigma3->Draw();
else lResPerChSigma3->DrawClone();
}
fCanvases->AddAtAndExpand(cResPerCh, kResPerCh);
TCanvas* cResPerHalfCh = new TCanvas("cResPerHalfCh","cResPerHalfCh",1200,500);
cResPerHalfCh->Divide(2,2);
for (Int_t ia = 0; ia < 2; ia++) {
cResPerHalfCh->cd(1+2*ia);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterOut+ia);
g->Draw("ap");
g->SetMarkerColor(2);
g->SetLineColor(2);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterIn+ia);
g->Draw("p");
g->SetMarkerColor(4);
g->SetLineColor(4);
lResPerChMean->DrawClone();
cResPerHalfCh->cd(2+2*ia);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerHalfChSigma+ia);
g->Draw("ap");
g->SetMinimum(0.);
g->SetMarkerColor(3);
g->SetLineColor(3);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerHalfCh+ia);
g->Draw("p");
lResPerChSigma3->DrawClone();
}
fCanvases->AddAtAndExpand(cResPerHalfCh, kResPerHalfCh);
TCanvas* cResPerDE = new TCanvas("cResPerDE","cResPerDE",1200,800);
cResPerDE->Divide(1,4);
for (Int_t ia = 0; ia < 2; ia++) {
cResPerDE->cd(1+ia);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterOut+ia);
g->Draw("ap");
g->SetMarkerColor(2);
g->SetLineColor(2);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterIn+ia);
g->Draw("p");
g->SetMarkerColor(4);
g->SetLineColor(4);
lResPerChMean->DrawClone();
cResPerDE->cd(3+ia);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerDESigma+ia);
g->Draw("ap");
g->SetMinimum(0.);
g->SetMarkerColor(3);
g->SetLineColor(3);
g = (TGraphErrors*)fChamberRes->UncheckedAt(kClusterResPerDE+ia);
g->Draw("p");
lResPerChSigma3->DrawClone();
}
fCanvases->AddAtAndExpand(cResPerDE, kResPerDE);
TCanvas* cResPerChVsP = new TCanvas("cResPerChVsP","cResPerChVsP");
cResPerChVsP->Divide(1,2);
for (Int_t ia = 0; ia < 2; ia++) {
cResPerChVsP->cd(1+ia);
mg = (TMultiGraph*)fChamberRes->UncheckedAt(kCombinedResidualSigmaVsP+ia);
mg->Draw("ap");
}
fCanvases->AddAtAndExpand(cResPerChVsP, kResPerChVsP);
TCanvas* cResPerChVsCent = new TCanvas("cResPerChVsCent","cResPerChVsCent");
cResPerChVsCent->Divide(1,2);
for (Int_t ia = 0; ia < 2; ia++) {
cResPerChVsCent->cd(1+ia);
mg = (TMultiGraph*)fChamberRes->UncheckedAt(kCombinedResidualSigmaVsCent+ia);
mg->Draw("ap");
}
fCanvases->AddAtAndExpand(cResPerChVsCent, kResPerChVsCent);
TCanvas* cResPerChVsAngle = new TCanvas("cResPerChVsAngle","cResPerChVsAngle");
cResPerChVsAngle->Divide(1,2);
for (Int_t ia = 0; ia < 2; ia++) {
cResPerChVsAngle->cd(1+ia);
mg = (TMultiGraph*)fChamberRes->UncheckedAt(kCombinedResidualSigmaVsAngle+ia);
mg->Draw("ap");
}
fCanvases->AddAtAndExpand(cResPerChVsAngle, kResPerChVsAngle);
TCanvas* cShiftPerChVsP = new TCanvas("cShiftPerChVsP","cShiftPerChVsP");
cShiftPerChVsP->Divide(1,2);
for (Int_t ia = 0; ia < 2; ia++) {
cShiftPerChVsP->cd(1+ia);
mg = (TMultiGraph*)fChamberRes->UncheckedAt(kResidualMeanClusterInVsP+ia);
mg->Draw("ap");
}
fCanvases->AddAtAndExpand(cShiftPerChVsP, kShiftPerChVsP);
TCanvas* cShiftPerChVsCent = new TCanvas("cShiftPerChVsCent","cShiftPerChVsCent");
cShiftPerChVsCent->Divide(1,2);
for (Int_t ia = 0; ia < 2; ia++) {
cShiftPerChVsCent->cd(1+ia);
mg = (TMultiGraph*)fChamberRes->UncheckedAt(kResidualMeanClusterInVsCent+ia);
mg->Draw("ap");
}
fCanvases->AddAtAndExpand(cShiftPerChVsCent, kShiftPerChVsCent);
TCanvas* cShiftPerChVsAngle = new TCanvas("cShiftPerChVsAngle","cShiftPerChVsAngle");
cShiftPerChVsAngle->Divide(1,2);
for (Int_t ia = 0; ia < 2; ia++) {
cShiftPerChVsAngle->cd(1+ia);
mg = (TMultiGraph*)fChamberRes->UncheckedAt(kResidualMeanClusterInVsAngle+ia);
mg->Draw("ap");
}
fCanvases->AddAtAndExpand(cShiftPerChVsAngle, kShiftPerChVsAngle);
if (fPrintClResPerCh) {
printf("\nchamber resolution:\n");
printf(" - non-bending:");
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) printf((i==0)?" %5.3f":", %5.3f",newClusterRes[0][i]);
printf("\n - bending:");
for (Int_t i = 0; i < AliMUONConstants::NTrackingCh(); i++) printf((i==0)?" %6.4f":", %6.4f",newClusterRes[1][i]);
printf("\n\n");
}
if (fPrintClResPerDE) {
Double_t iDE, clRes;
printf("\nDE resolution:\n");
printf(" - non-bending:");
for (Int_t i = 0; i < fNDE; i++) {
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerDESigma))->GetPoint(i, iDE, clRes);
printf((i==0)?" %5.3f":", %5.3f", clRes);
}
printf("\n - bending:");
for (Int_t i = 0; i < fNDE; i++) {
((TGraphErrors*)fChamberRes->UncheckedAt(kCombinedResidualPerDESigma+1))->GetPoint(i, iDE, clRes);
printf((i==0)?" %6.4f":", %6.4f", clRes);
}
printf("\n\n");
}
if (fPrintHalfChShift) {
Double_t iHCh, hChShift;
printf("\nhalf-chamber residual displacements:\n");
printf(" - non-bending:");
for (Int_t i = 0; i < 2*AliMUONConstants::NTrackingCh(); i++) {
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterIn))->GetPoint(i, iHCh, hChShift);
printf((i==0)?" %6.4f":", %6.4f", hChShift);
}
printf("\n - bending:");
for (Int_t i = 0; i < 2*AliMUONConstants::NTrackingCh(); i++) {
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerHalfChMeanClusterIn+1))->GetPoint(i, iHCh, hChShift);
printf((i==0)?" %6.4f":", %6.4f", hChShift);
}
printf("\n\n");
}
if (fPrintDEShift) {
Double_t iDE, deShift;
printf("\nDE residual displacements:\n");
printf(" - non-bending:");
for (Int_t i = 0; i < fNDE; i++) {
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterIn))->GetPoint(i, iDE, deShift);
printf((i==0)?" %6.4f":", %6.4f", deShift);
}
printf("\n - bending:");
for (Int_t i = 0; i < fNDE; i++) {
((TGraphErrors*)fChamberRes->UncheckedAt(kResidualPerDEMeanClusterIn+1))->GetPoint(i, iDE, deShift);
printf((i==0)?" %6.4f":", %6.4f", deShift);
}
printf("\n\n");
}
PostData(6, fLocalChi2);
PostData(7, fChamberRes);
}
void AliAnalysisTaskMuonResolution::ModifyClusters(AliMUONTrack& track)
{
Double_t gX,gY,gZ,lX,lY,lZ;
Int_t nClusters = track.GetNClusters();
for (Int_t iCluster=0; iCluster<nClusters; iCluster++) {
AliMUONVCluster* cl = static_cast<AliMUONTrackParam*>(track.GetTrackParamAtCluster()->UncheckedAt(iCluster))->GetClusterPtr();
Int_t chId = cl->GetChamberId();
Int_t halfChId = (cl->GetX() > 0) ? 2*chId : 2*chId+1;
Int_t deId = cl->GetDetElemId();
cl->SetErrXY(fClusterResNB[chId], fClusterResB[chId]);
gX = cl->GetX();
gY = cl->GetY();
gZ = cl->GetZ();
if (fReAlign) {
fOldGeoTransformer->Global2Local(deId,gX,gY,gZ,lX,lY,lZ);
fNewGeoTransformer->Local2Global(deId,lX,lY,lZ,gX,gY,gZ);
}
if (fShiftHalfCh) {
gX -= fHalfChShiftNB[halfChId];
gY -= fHalfChShiftB[halfChId];
}
if (fShiftDE) {
gX -= fDEShiftNB[fDEIndices[deId]-1];
gY -= fDEShiftB[fDEIndices[deId]-1];
}
cl->SetXYZ(gX,gY,gZ);
if (fRemoveMonoCathCl && chId > 3) {
Bool_t hasBending, hasNonBending;
if (fCheckAllPads) CheckPads(cl, hasBending, hasNonBending);
else CheckPadsBelow(cl, hasBending, hasNonBending);
if (!hasNonBending) cl->SetErrXY(10., cl->GetErrY());
if (!hasBending) cl->SetErrXY(cl->GetErrX(), 10.);
}
}
}
void AliAnalysisTaskMuonResolution::Zoom(TH1* h, Double_t fractionCut)
{
ZoomLeft(h, fractionCut);
ZoomRight(h, fractionCut);
}
void AliAnalysisTaskMuonResolution::ZoomLeft(TH1* h, Double_t fractionCut)
{
Int_t maxEventsCut = (Int_t) (fractionCut * h->GetEntries());
Int_t nBins = h->GetNbinsX();
Int_t minBin;
Int_t eventsCut = 0;
for (minBin = 1; minBin <= nBins; minBin++) {
eventsCut += (Int_t) h->GetBinContent(minBin);
if (eventsCut > maxEventsCut) break;
}
h->GetXaxis()->SetRange(--minBin, h->GetXaxis()->GetLast());
}
void AliAnalysisTaskMuonResolution::ZoomRight(TH1* h, Double_t fractionCut)
{
Int_t maxEventsCut = (Int_t) (fractionCut * h->GetEntries());
Int_t nBins = h->GetNbinsX();
Int_t maxBin;
Int_t eventsCut = 0;
for (maxBin = nBins; maxBin >= 1; maxBin--) {
eventsCut += (Int_t) h->GetBinContent(maxBin);
if (eventsCut > maxEventsCut) break;
}
h->GetXaxis()->SetRange(h->GetXaxis()->GetFirst(), ++maxBin);
}
void AliAnalysisTaskMuonResolution::GetMeanRMS(TH1* h, Double_t& mean, Double_t& meanErr,
Double_t& rms, Double_t& rmsErr,
TGraphErrors* gMean, TGraphErrors* gRMS,
Int_t i, Double_t x, Bool_t zoom, Bool_t enableFit)
{
if (h->GetEntries() < fgkMinEntries) {
mean = 0.;
meanErr = 0.;
rms = 0.;
rmsErr = 0.;
} else if (enableFit && fGaus) {
Double_t xMin = h->GetXaxis()->GetXmin();
Double_t xMax = h->GetXaxis()->GetXmax();
fGaus->SetRange(xMin, xMax);
fGaus->SetParameters(h->GetEntries(), 0., 0.1);
fGaus->SetParLimits(1, xMin, xMax);
h->Fit("fGaus", "WWNQ");
Int_t rebin = TMath::Max(static_cast<Int_t>(0.3*fGaus->GetParameter(2)/h->GetBinWidth(1)),1);
while (h->GetNbinsX()%rebin!=0) rebin--;
h->Rebin(rebin);
xMin = TMath::Max(fGaus->GetParameter(1)-10.*fGaus->GetParameter(2), h->GetXaxis()->GetXmin());
xMax = TMath::Min(fGaus->GetParameter(1)+10.*fGaus->GetParameter(2), h->GetXaxis()->GetXmax());
fGaus->SetRange(xMin, xMax);
fGaus->SetParLimits(1, xMin, xMax);
h->Fit("fGaus","NQR");
mean = fGaus->GetParameter(1);
meanErr = fGaus->GetParError(1);
rms = fGaus->GetParameter(2);
rmsErr = fGaus->GetParError(2);
if (!strstr(h->GetName(),"tmp")) {
Int_t ia = (strstr(h->GetName(),"ResX")) ? 0 : 1;
Int_t ib = (strstr(h->GetName(),"ClIn")) ? 0 : 1;
if (strstr(h->GetName(),"Half")) ((TCanvas*)fCanvases->UncheckedAt(kDetailResPerHalfCh+ib+2*ia))->cd(i+1);
else if (strstr(h->GetName(),"Ch")) ((TCanvas*)fCanvases->UncheckedAt(kDetailResPerCh+ib+2*ia))->cd(i+1);
else ((TCanvas*)fCanvases->UncheckedAt(kDetailResPerDE+ib+2*ia))->cd(i+1);
gPad->SetLogy();
h->Draw("hist");
TF1* f = (TF1*)fGaus->DrawClone("same");
f->SetLineWidth(1);
f->SetLineColor(2);
fTmpHists->AddLast(f);
}
} else {
if (zoom) Zoom(h);
mean = h->GetMean();
meanErr = h->GetMeanError();
rms = h->GetRMS();
rmsErr = h->GetRMSError();
if (zoom) h->GetXaxis()->SetRange(0,0);
}
if (gMean) {
gMean->SetPoint(i, x, mean);
gMean->SetPointError(i, 0., meanErr);
}
if (gRMS) {
gRMS->SetPoint(i, x, rms);
gRMS->SetPointError(i, 0., rmsErr);
}
}
void AliAnalysisTaskMuonResolution::FillMeanSigmaClusterVsX(const TH2* hIn, const TH2* hOut,
TGraphErrors* gMean, TGraphErrors* gSigma)
{
Double_t meanIn, meanInErr, sigmaIn, sigmaInErr, sigmaOut, sigmaOutErr, clusterRes, clusterResErr, dumy1, dumy2;
for (Int_t j = 1; j <= hIn->GetNbinsX(); j++) {
TH1D* tmp = hIn->ProjectionY("tmp",j,j,"e");
GetMeanRMS(tmp, meanIn, meanInErr, sigmaIn, sigmaInErr, 0x0, 0x0, 0, 0.);
delete tmp;
if (hOut) {
tmp = hOut->ProjectionY("tmp",j,j,"e");
GetMeanRMS(tmp, dumy1, dumy2, sigmaOut, sigmaOutErr, 0x0, 0x0, 0, 0.);
delete tmp;
}
Double_t x = 0.5 * (hIn->GetBinLowEdge(j) + hIn->GetBinLowEdge(j+1));
Double_t xErr = x - hIn->GetBinLowEdge(j);
if (gMean) {
gMean->SetPoint(j-1, x, meanIn);
gMean->SetPointError(j-1, xErr, meanInErr);
}
if (hOut && gSigma) {
clusterRes = TMath::Sqrt(sigmaIn*sigmaOut);
clusterResErr = TMath::Sqrt(sigmaInErr*sigmaOutErr);
gSigma->SetPoint(j-1, x, clusterRes);
gSigma->SetPointError(j-1, xErr, clusterResErr);
}
}
}
void AliAnalysisTaskMuonResolution::Cov2CovP(const AliMUONTrackParam ¶m, TMatrixD &covP)
{
Double_t slopeX = param.GetNonBendingSlope();
Double_t slopeY = param.GetBendingSlope();
Double_t qOverPYZ = param.GetInverseBendingMomentum();
Double_t pZ = param.Pz();
Double_t dpZdSlopeY = - qOverPYZ * qOverPYZ * pZ * pZ * pZ * slopeY;
Double_t dpZdQOverPYZ = (qOverPYZ != 0.) ? - pZ / qOverPYZ : - FLT_MAX;
TMatrixD jacob(5,5);
jacob.Zero();
jacob(0,0) = 1.;
jacob(1,2) = 1.;
jacob(2,1) = pZ;
jacob(2,3) = slopeX * dpZdSlopeY;
jacob(2,4) = slopeX * dpZdQOverPYZ;
jacob(3,3) = pZ + slopeY * dpZdSlopeY;
jacob(3,4) = slopeY * dpZdQOverPYZ;
jacob(4,3) = dpZdSlopeY;
jacob(4,4) = dpZdQOverPYZ;
TMatrixD tmp(param.GetCovariances(),TMatrixD::kMultTranspose,jacob);
covP.Mult(jacob,tmp);
}
UInt_t AliAnalysisTaskMuonResolution::BuildTriggerWord(const TString& firedTriggerClasses)
{
UInt_t word = 0;
TObjString* trigClasseName = 0x0;
TIter nextTrigger(fSelectTriggerClass);
while ((trigClasseName = static_cast<TObjString*>(nextTrigger()))) {
TRegexp GenericTriggerClasseName(trigClasseName->String());
if (firedTriggerClasses.Contains(GenericTriggerClasseName)) word |= trigClasseName->GetUniqueID();
}
return word;
}
void AliAnalysisTaskMuonResolution::CheckPads(AliMUONVCluster *cl, Bool_t &hasBending, Bool_t &hasNonBending) const
{
hasBending = kFALSE;
hasNonBending = kFALSE;
for (Int_t iDigit = 0; iDigit < cl->GetNDigits(); iDigit++) {
Int_t manuId = AliMUONVDigit::ManuId(cl->GetDigitId(iDigit));
if (manuId > 0) {
if (manuId & AliMpConstants::ManuMask(AliMp::kNonBendingPlane)) hasNonBending = kTRUE;
else hasBending = kTRUE;
}
}
}
void AliAnalysisTaskMuonResolution::CheckPadsBelow(AliMUONVCluster *cl, Bool_t &hasBending, Bool_t &hasNonBending) const
{
hasBending = kFALSE;
hasNonBending = kFALSE;
Int_t deId = cl->GetDetElemId();
AliMpDetElement* de = AliMpDDLStore::Instance()->GetDetElement(deId, kFALSE);
if (!de) return;
AliMp::CathodType cath1 = de->GetCathodType(AliMp::kBendingPlane);
AliMp::CathodType cath2 = de->GetCathodType(AliMp::kNonBendingPlane);
const AliMpVSegmentation* seg1 = AliMpSegmentation::Instance()->GetMpSegmentation(deId, cath1);
const AliMpVSegmentation* seg2 = AliMpSegmentation::Instance()->GetMpSegmentation(deId, cath2);
if (!seg1 || !seg2) return;
Double_t gX = cl->GetX();
Double_t gY = cl->GetY();
Double_t gZ = cl->GetZ();
Int_t chId = cl->GetChamberId();
Int_t halfChId = (cl->GetX() > 0) ? 2*chId : 2*chId+1;
if (fShiftHalfCh) {
gX += fHalfChShiftNB[halfChId];
gY += fHalfChShiftB[halfChId];
}
if (fShiftDE) {
gX += fDEShiftNB[fDEIndices[deId]-1];
gY += fDEShiftB[fDEIndices[deId]-1];
}
Double_t lX,lY,lZ;
fNewGeoTransformer->Global2Local(deId,gX,gY,gZ,lX,lY,lZ);
AliMpPad pad1 = seg1->PadByPosition(lX, lY, kFALSE);
AliMpPad pad2 = seg2->PadByPosition(lX, lY, kFALSE);
UInt_t padId1 = (pad1.IsValid()) ? AliMUONVDigit::BuildUniqueID(deId, pad1.GetManuId(), pad1.GetManuChannel(), cath1) : 0;
UInt_t padId2 = (pad2.IsValid()) ? AliMUONVDigit::BuildUniqueID(deId, pad2.GetManuId(), pad2.GetManuChannel(), cath2) : 0;
for (Int_t iDigit = 0; iDigit < cl->GetNDigits(); iDigit++) {
UInt_t digitId = cl->GetDigitId(iDigit);
if (digitId == padId1) {
hasBending = kTRUE;
if (hasNonBending) break;
} else if (digitId == padId2) {
hasNonBending = kTRUE;
if (hasBending) break;
}
}
}
AliAnalysisTaskMuonResolution.cxx:1 AliAnalysisTaskMuonResolution.cxx:2 AliAnalysisTaskMuonResolution.cxx:3 AliAnalysisTaskMuonResolution.cxx:4 AliAnalysisTaskMuonResolution.cxx:5 AliAnalysisTaskMuonResolution.cxx:6 AliAnalysisTaskMuonResolution.cxx:7 AliAnalysisTaskMuonResolution.cxx:8 AliAnalysisTaskMuonResolution.cxx:9 AliAnalysisTaskMuonResolution.cxx:10 AliAnalysisTaskMuonResolution.cxx:11 AliAnalysisTaskMuonResolution.cxx:12 AliAnalysisTaskMuonResolution.cxx:13 AliAnalysisTaskMuonResolution.cxx:14 AliAnalysisTaskMuonResolution.cxx:15 AliAnalysisTaskMuonResolution.cxx:16 AliAnalysisTaskMuonResolution.cxx:17 AliAnalysisTaskMuonResolution.cxx:18 AliAnalysisTaskMuonResolution.cxx:19 AliAnalysisTaskMuonResolution.cxx:20 AliAnalysisTaskMuonResolution.cxx:21 AliAnalysisTaskMuonResolution.cxx:22 AliAnalysisTaskMuonResolution.cxx:23 AliAnalysisTaskMuonResolution.cxx:24 AliAnalysisTaskMuonResolution.cxx:25 AliAnalysisTaskMuonResolution.cxx:26 AliAnalysisTaskMuonResolution.cxx:27 AliAnalysisTaskMuonResolution.cxx:28 AliAnalysisTaskMuonResolution.cxx:29 AliAnalysisTaskMuonResolution.cxx:30 AliAnalysisTaskMuonResolution.cxx:31 AliAnalysisTaskMuonResolution.cxx:32 AliAnalysisTaskMuonResolution.cxx:33 AliAnalysisTaskMuonResolution.cxx:34 AliAnalysisTaskMuonResolution.cxx:35 AliAnalysisTaskMuonResolution.cxx:36 AliAnalysisTaskMuonResolution.cxx:37 AliAnalysisTaskMuonResolution.cxx:38 AliAnalysisTaskMuonResolution.cxx:39 AliAnalysisTaskMuonResolution.cxx:40 AliAnalysisTaskMuonResolution.cxx:41 AliAnalysisTaskMuonResolution.cxx:42 AliAnalysisTaskMuonResolution.cxx:43 AliAnalysisTaskMuonResolution.cxx:44 AliAnalysisTaskMuonResolution.cxx:45 AliAnalysisTaskMuonResolution.cxx:46 AliAnalysisTaskMuonResolution.cxx:47 AliAnalysisTaskMuonResolution.cxx:48 AliAnalysisTaskMuonResolution.cxx:49 AliAnalysisTaskMuonResolution.cxx:50 AliAnalysisTaskMuonResolution.cxx:51 AliAnalysisTaskMuonResolution.cxx:52 AliAnalysisTaskMuonResolution.cxx:53 AliAnalysisTaskMuonResolution.cxx:54 AliAnalysisTaskMuonResolution.cxx:55 AliAnalysisTaskMuonResolution.cxx:56 AliAnalysisTaskMuonResolution.cxx:57 AliAnalysisTaskMuonResolution.cxx:58 AliAnalysisTaskMuonResolution.cxx:59 AliAnalysisTaskMuonResolution.cxx:60 AliAnalysisTaskMuonResolution.cxx:61 AliAnalysisTaskMuonResolution.cxx:62 AliAnalysisTaskMuonResolution.cxx:63 AliAnalysisTaskMuonResolution.cxx:64 AliAnalysisTaskMuonResolution.cxx:65 AliAnalysisTaskMuonResolution.cxx:66 AliAnalysisTaskMuonResolution.cxx:67 AliAnalysisTaskMuonResolution.cxx:68 AliAnalysisTaskMuonResolution.cxx:69 AliAnalysisTaskMuonResolution.cxx:70 AliAnalysisTaskMuonResolution.cxx:71 AliAnalysisTaskMuonResolution.cxx:72 AliAnalysisTaskMuonResolution.cxx:73 AliAnalysisTaskMuonResolution.cxx:74 AliAnalysisTaskMuonResolution.cxx:75 AliAnalysisTaskMuonResolution.cxx:76 AliAnalysisTaskMuonResolution.cxx:77 AliAnalysisTaskMuonResolution.cxx:78 AliAnalysisTaskMuonResolution.cxx:79 AliAnalysisTaskMuonResolution.cxx:80 AliAnalysisTaskMuonResolution.cxx:81 AliAnalysisTaskMuonResolution.cxx:82 AliAnalysisTaskMuonResolution.cxx:83 AliAnalysisTaskMuonResolution.cxx:84 AliAnalysisTaskMuonResolution.cxx:85 AliAnalysisTaskMuonResolution.cxx:86 AliAnalysisTaskMuonResolution.cxx:87 AliAnalysisTaskMuonResolution.cxx:88 AliAnalysisTaskMuonResolution.cxx:89 AliAnalysisTaskMuonResolution.cxx:90 AliAnalysisTaskMuonResolution.cxx:91 AliAnalysisTaskMuonResolution.cxx:92 AliAnalysisTaskMuonResolution.cxx:93 AliAnalysisTaskMuonResolution.cxx:94 AliAnalysisTaskMuonResolution.cxx:95 AliAnalysisTaskMuonResolution.cxx:96 AliAnalysisTaskMuonResolution.cxx:97 AliAnalysisTaskMuonResolution.cxx:98 AliAnalysisTaskMuonResolution.cxx:99 AliAnalysisTaskMuonResolution.cxx:100 AliAnalysisTaskMuonResolution.cxx:101 AliAnalysisTaskMuonResolution.cxx:102 AliAnalysisTaskMuonResolution.cxx:103 AliAnalysisTaskMuonResolution.cxx:104 AliAnalysisTaskMuonResolution.cxx:105 AliAnalysisTaskMuonResolution.cxx:106 AliAnalysisTaskMuonResolution.cxx:107 AliAnalysisTaskMuonResolution.cxx:108 AliAnalysisTaskMuonResolution.cxx:109 AliAnalysisTaskMuonResolution.cxx:110 AliAnalysisTaskMuonResolution.cxx:111 AliAnalysisTaskMuonResolution.cxx:112 AliAnalysisTaskMuonResolution.cxx:113 AliAnalysisTaskMuonResolution.cxx:114 AliAnalysisTaskMuonResolution.cxx:115 AliAnalysisTaskMuonResolution.cxx:116 AliAnalysisTaskMuonResolution.cxx:117 AliAnalysisTaskMuonResolution.cxx:118 AliAnalysisTaskMuonResolution.cxx:119 AliAnalysisTaskMuonResolution.cxx:120 AliAnalysisTaskMuonResolution.cxx:121 AliAnalysisTaskMuonResolution.cxx:122 AliAnalysisTaskMuonResolution.cxx:123 AliAnalysisTaskMuonResolution.cxx:124 AliAnalysisTaskMuonResolution.cxx:125 AliAnalysisTaskMuonResolution.cxx:126 AliAnalysisTaskMuonResolution.cxx:127 AliAnalysisTaskMuonResolution.cxx:128 AliAnalysisTaskMuonResolution.cxx:129 AliAnalysisTaskMuonResolution.cxx:130 AliAnalysisTaskMuonResolution.cxx:131 AliAnalysisTaskMuonResolution.cxx:132 AliAnalysisTaskMuonResolution.cxx:133 AliAnalysisTaskMuonResolution.cxx:134 AliAnalysisTaskMuonResolution.cxx:135 AliAnalysisTaskMuonResolution.cxx:136 AliAnalysisTaskMuonResolution.cxx:137 AliAnalysisTaskMuonResolution.cxx:138 AliAnalysisTaskMuonResolution.cxx:139 AliAnalysisTaskMuonResolution.cxx:140 AliAnalysisTaskMuonResolution.cxx:141 AliAnalysisTaskMuonResolution.cxx:142 AliAnalysisTaskMuonResolution.cxx:143 AliAnalysisTaskMuonResolution.cxx:144 AliAnalysisTaskMuonResolution.cxx:145 AliAnalysisTaskMuonResolution.cxx:146 AliAnalysisTaskMuonResolution.cxx:147 AliAnalysisTaskMuonResolution.cxx:148 AliAnalysisTaskMuonResolution.cxx:149 AliAnalysisTaskMuonResolution.cxx:150 AliAnalysisTaskMuonResolution.cxx:151 AliAnalysisTaskMuonResolution.cxx:152 AliAnalysisTaskMuonResolution.cxx:153 AliAnalysisTaskMuonResolution.cxx:154 AliAnalysisTaskMuonResolution.cxx:155 AliAnalysisTaskMuonResolution.cxx:156 AliAnalysisTaskMuonResolution.cxx:157 AliAnalysisTaskMuonResolution.cxx:158 AliAnalysisTaskMuonResolution.cxx:159 AliAnalysisTaskMuonResolution.cxx:160 AliAnalysisTaskMuonResolution.cxx:161 AliAnalysisTaskMuonResolution.cxx:162 AliAnalysisTaskMuonResolution.cxx:163 AliAnalysisTaskMuonResolution.cxx:164 AliAnalysisTaskMuonResolution.cxx:165 AliAnalysisTaskMuonResolution.cxx:166 AliAnalysisTaskMuonResolution.cxx:167 AliAnalysisTaskMuonResolution.cxx:168 AliAnalysisTaskMuonResolution.cxx:169 AliAnalysisTaskMuonResolution.cxx:170 AliAnalysisTaskMuonResolution.cxx:171 AliAnalysisTaskMuonResolution.cxx:172 AliAnalysisTaskMuonResolution.cxx:173 AliAnalysisTaskMuonResolution.cxx:174 AliAnalysisTaskMuonResolution.cxx:175 AliAnalysisTaskMuonResolution.cxx:176 AliAnalysisTaskMuonResolution.cxx:177 AliAnalysisTaskMuonResolution.cxx:178 AliAnalysisTaskMuonResolution.cxx:179 AliAnalysisTaskMuonResolution.cxx:180 AliAnalysisTaskMuonResolution.cxx:181 AliAnalysisTaskMuonResolution.cxx:182 AliAnalysisTaskMuonResolution.cxx:183 AliAnalysisTaskMuonResolution.cxx:184 AliAnalysisTaskMuonResolution.cxx:185 AliAnalysisTaskMuonResolution.cxx:186 AliAnalysisTaskMuonResolution.cxx:187 AliAnalysisTaskMuonResolution.cxx:188 AliAnalysisTaskMuonResolution.cxx:189 AliAnalysisTaskMuonResolution.cxx:190 AliAnalysisTaskMuonResolution.cxx:191 AliAnalysisTaskMuonResolution.cxx:192 AliAnalysisTaskMuonResolution.cxx:193 AliAnalysisTaskMuonResolution.cxx:194 AliAnalysisTaskMuonResolution.cxx:195 AliAnalysisTaskMuonResolution.cxx:196 AliAnalysisTaskMuonResolution.cxx:197 AliAnalysisTaskMuonResolution.cxx:198 AliAnalysisTaskMuonResolution.cxx:199 AliAnalysisTaskMuonResolution.cxx:200 AliAnalysisTaskMuonResolution.cxx:201 AliAnalysisTaskMuonResolution.cxx:202 AliAnalysisTaskMuonResolution.cxx:203 AliAnalysisTaskMuonResolution.cxx:204 AliAnalysisTaskMuonResolution.cxx:205 AliAnalysisTaskMuonResolution.cxx:206 AliAnalysisTaskMuonResolution.cxx:207 AliAnalysisTaskMuonResolution.cxx:208 AliAnalysisTaskMuonResolution.cxx:209 AliAnalysisTaskMuonResolution.cxx:210 AliAnalysisTaskMuonResolution.cxx:211 AliAnalysisTaskMuonResolution.cxx:212 AliAnalysisTaskMuonResolution.cxx:213 AliAnalysisTaskMuonResolution.cxx:214 AliAnalysisTaskMuonResolution.cxx:215 AliAnalysisTaskMuonResolution.cxx:216 AliAnalysisTaskMuonResolution.cxx:217 AliAnalysisTaskMuonResolution.cxx:218 AliAnalysisTaskMuonResolution.cxx:219 AliAnalysisTaskMuonResolution.cxx:220 AliAnalysisTaskMuonResolution.cxx:221 AliAnalysisTaskMuonResolution.cxx:222 AliAnalysisTaskMuonResolution.cxx:223 AliAnalysisTaskMuonResolution.cxx:224 AliAnalysisTaskMuonResolution.cxx:225 AliAnalysisTaskMuonResolution.cxx:226 AliAnalysisTaskMuonResolution.cxx:227 AliAnalysisTaskMuonResolution.cxx:228 AliAnalysisTaskMuonResolution.cxx:229 AliAnalysisTaskMuonResolution.cxx:230 AliAnalysisTaskMuonResolution.cxx:231 AliAnalysisTaskMuonResolution.cxx:232 AliAnalysisTaskMuonResolution.cxx:233 AliAnalysisTaskMuonResolution.cxx:234 AliAnalysisTaskMuonResolution.cxx:235 AliAnalysisTaskMuonResolution.cxx:236 AliAnalysisTaskMuonResolution.cxx:237 AliAnalysisTaskMuonResolution.cxx:238 AliAnalysisTaskMuonResolution.cxx:239 AliAnalysisTaskMuonResolution.cxx:240 AliAnalysisTaskMuonResolution.cxx:241 AliAnalysisTaskMuonResolution.cxx:242 AliAnalysisTaskMuonResolution.cxx:243 AliAnalysisTaskMuonResolution.cxx:244 AliAnalysisTaskMuonResolution.cxx:245 AliAnalysisTaskMuonResolution.cxx:246 AliAnalysisTaskMuonResolution.cxx:247 AliAnalysisTaskMuonResolution.cxx:248 AliAnalysisTaskMuonResolution.cxx:249 AliAnalysisTaskMuonResolution.cxx:250 AliAnalysisTaskMuonResolution.cxx:251 AliAnalysisTaskMuonResolution.cxx:252 AliAnalysisTaskMuonResolution.cxx:253 AliAnalysisTaskMuonResolution.cxx:254 AliAnalysisTaskMuonResolution.cxx:255 AliAnalysisTaskMuonResolution.cxx:256 AliAnalysisTaskMuonResolution.cxx:257 AliAnalysisTaskMuonResolution.cxx:258 AliAnalysisTaskMuonResolution.cxx:259 AliAnalysisTaskMuonResolution.cxx:260 AliAnalysisTaskMuonResolution.cxx:261 AliAnalysisTaskMuonResolution.cxx:262 AliAnalysisTaskMuonResolution.cxx:263 AliAnalysisTaskMuonResolution.cxx:264 AliAnalysisTaskMuonResolution.cxx:265 AliAnalysisTaskMuonResolution.cxx:266 AliAnalysisTaskMuonResolution.cxx:267 AliAnalysisTaskMuonResolution.cxx:268 AliAnalysisTaskMuonResolution.cxx:269 AliAnalysisTaskMuonResolution.cxx:270 AliAnalysisTaskMuonResolution.cxx:271 AliAnalysisTaskMuonResolution.cxx:272 AliAnalysisTaskMuonResolution.cxx:273 AliAnalysisTaskMuonResolution.cxx:274 AliAnalysisTaskMuonResolution.cxx:275 AliAnalysisTaskMuonResolution.cxx:276 AliAnalysisTaskMuonResolution.cxx:277 AliAnalysisTaskMuonResolution.cxx:278 AliAnalysisTaskMuonResolution.cxx:279 AliAnalysisTaskMuonResolution.cxx:280 AliAnalysisTaskMuonResolution.cxx:281 AliAnalysisTaskMuonResolution.cxx:282 AliAnalysisTaskMuonResolution.cxx:283 AliAnalysisTaskMuonResolution.cxx:284 AliAnalysisTaskMuonResolution.cxx:285 AliAnalysisTaskMuonResolution.cxx:286 AliAnalysisTaskMuonResolution.cxx:287 AliAnalysisTaskMuonResolution.cxx:288 AliAnalysisTaskMuonResolution.cxx:289 AliAnalysisTaskMuonResolution.cxx:290 AliAnalysisTaskMuonResolution.cxx:291 AliAnalysisTaskMuonResolution.cxx:292 AliAnalysisTaskMuonResolution.cxx:293 AliAnalysisTaskMuonResolution.cxx:294 AliAnalysisTaskMuonResolution.cxx:295 AliAnalysisTaskMuonResolution.cxx:296 AliAnalysisTaskMuonResolution.cxx:297 AliAnalysisTaskMuonResolution.cxx:298 AliAnalysisTaskMuonResolution.cxx:299 AliAnalysisTaskMuonResolution.cxx:300 AliAnalysisTaskMuonResolution.cxx:301 AliAnalysisTaskMuonResolution.cxx:302 AliAnalysisTaskMuonResolution.cxx:303 AliAnalysisTaskMuonResolution.cxx:304 AliAnalysisTaskMuonResolution.cxx:305 AliAnalysisTaskMuonResolution.cxx:306 AliAnalysisTaskMuonResolution.cxx:307 AliAnalysisTaskMuonResolution.cxx:308 AliAnalysisTaskMuonResolution.cxx:309 AliAnalysisTaskMuonResolution.cxx:310 AliAnalysisTaskMuonResolution.cxx:311 AliAnalysisTaskMuonResolution.cxx:312 AliAnalysisTaskMuonResolution.cxx:313 AliAnalysisTaskMuonResolution.cxx:314 AliAnalysisTaskMuonResolution.cxx:315 AliAnalysisTaskMuonResolution.cxx:316 AliAnalysisTaskMuonResolution.cxx:317 AliAnalysisTaskMuonResolution.cxx:318 AliAnalysisTaskMuonResolution.cxx:319 AliAnalysisTaskMuonResolution.cxx:320 AliAnalysisTaskMuonResolution.cxx:321 AliAnalysisTaskMuonResolution.cxx:322 AliAnalysisTaskMuonResolution.cxx:323 AliAnalysisTaskMuonResolution.cxx:324 AliAnalysisTaskMuonResolution.cxx:325 AliAnalysisTaskMuonResolution.cxx:326 AliAnalysisTaskMuonResolution.cxx:327 AliAnalysisTaskMuonResolution.cxx:328 AliAnalysisTaskMuonResolution.cxx:329 AliAnalysisTaskMuonResolution.cxx:330 AliAnalysisTaskMuonResolution.cxx:331 AliAnalysisTaskMuonResolution.cxx:332 AliAnalysisTaskMuonResolution.cxx:333 AliAnalysisTaskMuonResolution.cxx:334 AliAnalysisTaskMuonResolution.cxx:335 AliAnalysisTaskMuonResolution.cxx:336 AliAnalysisTaskMuonResolution.cxx:337 AliAnalysisTaskMuonResolution.cxx:338 AliAnalysisTaskMuonResolution.cxx:339 AliAnalysisTaskMuonResolution.cxx:340 AliAnalysisTaskMuonResolution.cxx:341 AliAnalysisTaskMuonResolution.cxx:342 AliAnalysisTaskMuonResolution.cxx:343 AliAnalysisTaskMuonResolution.cxx:344 AliAnalysisTaskMuonResolution.cxx:345 AliAnalysisTaskMuonResolution.cxx:346 AliAnalysisTaskMuonResolution.cxx:347 AliAnalysisTaskMuonResolution.cxx:348 AliAnalysisTaskMuonResolution.cxx:349 AliAnalysisTaskMuonResolution.cxx:350 AliAnalysisTaskMuonResolution.cxx:351 AliAnalysisTaskMuonResolution.cxx:352 AliAnalysisTaskMuonResolution.cxx:353 AliAnalysisTaskMuonResolution.cxx:354 AliAnalysisTaskMuonResolution.cxx:355 AliAnalysisTaskMuonResolution.cxx:356 AliAnalysisTaskMuonResolution.cxx:357 AliAnalysisTaskMuonResolution.cxx:358 AliAnalysisTaskMuonResolution.cxx:359 AliAnalysisTaskMuonResolution.cxx:360 AliAnalysisTaskMuonResolution.cxx:361 AliAnalysisTaskMuonResolution.cxx:362 AliAnalysisTaskMuonResolution.cxx:363 AliAnalysisTaskMuonResolution.cxx:364 AliAnalysisTaskMuonResolution.cxx:365 AliAnalysisTaskMuonResolution.cxx:366 AliAnalysisTaskMuonResolution.cxx:367 AliAnalysisTaskMuonResolution.cxx:368 AliAnalysisTaskMuonResolution.cxx:369 AliAnalysisTaskMuonResolution.cxx:370 AliAnalysisTaskMuonResolution.cxx:371 AliAnalysisTaskMuonResolution.cxx:372 AliAnalysisTaskMuonResolution.cxx:373 AliAnalysisTaskMuonResolution.cxx:374 AliAnalysisTaskMuonResolution.cxx:375 AliAnalysisTaskMuonResolution.cxx:376 AliAnalysisTaskMuonResolution.cxx:377 AliAnalysisTaskMuonResolution.cxx:378 AliAnalysisTaskMuonResolution.cxx:379 AliAnalysisTaskMuonResolution.cxx:380 AliAnalysisTaskMuonResolution.cxx:381 AliAnalysisTaskMuonResolution.cxx:382 AliAnalysisTaskMuonResolution.cxx:383 AliAnalysisTaskMuonResolution.cxx:384 AliAnalysisTaskMuonResolution.cxx:385 AliAnalysisTaskMuonResolution.cxx:386 AliAnalysisTaskMuonResolution.cxx:387 AliAnalysisTaskMuonResolution.cxx:388 AliAnalysisTaskMuonResolution.cxx:389 AliAnalysisTaskMuonResolution.cxx:390 AliAnalysisTaskMuonResolution.cxx:391 AliAnalysisTaskMuonResolution.cxx:392 AliAnalysisTaskMuonResolution.cxx:393 AliAnalysisTaskMuonResolution.cxx:394 AliAnalysisTaskMuonResolution.cxx:395 AliAnalysisTaskMuonResolution.cxx:396 AliAnalysisTaskMuonResolution.cxx:397 AliAnalysisTaskMuonResolution.cxx:398 AliAnalysisTaskMuonResolution.cxx:399 AliAnalysisTaskMuonResolution.cxx:400 AliAnalysisTaskMuonResolution.cxx:401 AliAnalysisTaskMuonResolution.cxx:402 AliAnalysisTaskMuonResolution.cxx:403 AliAnalysisTaskMuonResolution.cxx:404 AliAnalysisTaskMuonResolution.cxx:405 AliAnalysisTaskMuonResolution.cxx:406 AliAnalysisTaskMuonResolution.cxx:407 AliAnalysisTaskMuonResolution.cxx:408 AliAnalysisTaskMuonResolution.cxx:409 AliAnalysisTaskMuonResolution.cxx:410 AliAnalysisTaskMuonResolution.cxx:411 AliAnalysisTaskMuonResolution.cxx:412 AliAnalysisTaskMuonResolution.cxx:413 AliAnalysisTaskMuonResolution.cxx:414 AliAnalysisTaskMuonResolution.cxx:415 AliAnalysisTaskMuonResolution.cxx:416 AliAnalysisTaskMuonResolution.cxx:417 AliAnalysisTaskMuonResolution.cxx:418 AliAnalysisTaskMuonResolution.cxx:419 AliAnalysisTaskMuonResolution.cxx:420 AliAnalysisTaskMuonResolution.cxx:421 AliAnalysisTaskMuonResolution.cxx:422 AliAnalysisTaskMuonResolution.cxx:423 AliAnalysisTaskMuonResolution.cxx:424 AliAnalysisTaskMuonResolution.cxx:425 AliAnalysisTaskMuonResolution.cxx:426 AliAnalysisTaskMuonResolution.cxx:427 AliAnalysisTaskMuonResolution.cxx:428 AliAnalysisTaskMuonResolution.cxx:429 AliAnalysisTaskMuonResolution.cxx:430 AliAnalysisTaskMuonResolution.cxx:431 AliAnalysisTaskMuonResolution.cxx:432 AliAnalysisTaskMuonResolution.cxx:433 AliAnalysisTaskMuonResolution.cxx:434 AliAnalysisTaskMuonResolution.cxx:435 AliAnalysisTaskMuonResolution.cxx:436 AliAnalysisTaskMuonResolution.cxx:437 AliAnalysisTaskMuonResolution.cxx:438 AliAnalysisTaskMuonResolution.cxx:439 AliAnalysisTaskMuonResolution.cxx:440 AliAnalysisTaskMuonResolution.cxx:441 AliAnalysisTaskMuonResolution.cxx:442 AliAnalysisTaskMuonResolution.cxx:443 AliAnalysisTaskMuonResolution.cxx:444 AliAnalysisTaskMuonResolution.cxx:445 AliAnalysisTaskMuonResolution.cxx:446 AliAnalysisTaskMuonResolution.cxx:447 AliAnalysisTaskMuonResolution.cxx:448 AliAnalysisTaskMuonResolution.cxx:449 AliAnalysisTaskMuonResolution.cxx:450 AliAnalysisTaskMuonResolution.cxx:451 AliAnalysisTaskMuonResolution.cxx:452 AliAnalysisTaskMuonResolution.cxx:453 AliAnalysisTaskMuonResolution.cxx:454 AliAnalysisTaskMuonResolution.cxx:455 AliAnalysisTaskMuonResolution.cxx:456 AliAnalysisTaskMuonResolution.cxx:457 AliAnalysisTaskMuonResolution.cxx:458 AliAnalysisTaskMuonResolution.cxx:459 AliAnalysisTaskMuonResolution.cxx:460 AliAnalysisTaskMuonResolution.cxx:461 AliAnalysisTaskMuonResolution.cxx:462 AliAnalysisTaskMuonResolution.cxx:463 AliAnalysisTaskMuonResolution.cxx:464 AliAnalysisTaskMuonResolution.cxx:465 AliAnalysisTaskMuonResolution.cxx:466 AliAnalysisTaskMuonResolution.cxx:467 AliAnalysisTaskMuonResolution.cxx:468 AliAnalysisTaskMuonResolution.cxx:469 AliAnalysisTaskMuonResolution.cxx:470 AliAnalysisTaskMuonResolution.cxx:471 AliAnalysisTaskMuonResolution.cxx:472 AliAnalysisTaskMuonResolution.cxx:473 AliAnalysisTaskMuonResolution.cxx:474 AliAnalysisTaskMuonResolution.cxx:475 AliAnalysisTaskMuonResolution.cxx:476 AliAnalysisTaskMuonResolution.cxx:477 AliAnalysisTaskMuonResolution.cxx:478 AliAnalysisTaskMuonResolution.cxx:479 AliAnalysisTaskMuonResolution.cxx:480 AliAnalysisTaskMuonResolution.cxx:481 AliAnalysisTaskMuonResolution.cxx:482 AliAnalysisTaskMuonResolution.cxx:483 AliAnalysisTaskMuonResolution.cxx:484 AliAnalysisTaskMuonResolution.cxx:485 AliAnalysisTaskMuonResolution.cxx:486 AliAnalysisTaskMuonResolution.cxx:487 AliAnalysisTaskMuonResolution.cxx:488 AliAnalysisTaskMuonResolution.cxx:489 AliAnalysisTaskMuonResolution.cxx:490 AliAnalysisTaskMuonResolution.cxx:491 AliAnalysisTaskMuonResolution.cxx:492 AliAnalysisTaskMuonResolution.cxx:493 AliAnalysisTaskMuonResolution.cxx:494 AliAnalysisTaskMuonResolution.cxx:495 AliAnalysisTaskMuonResolution.cxx:496 AliAnalysisTaskMuonResolution.cxx:497 AliAnalysisTaskMuonResolution.cxx:498 AliAnalysisTaskMuonResolution.cxx:499 AliAnalysisTaskMuonResolution.cxx:500 AliAnalysisTaskMuonResolution.cxx:501 AliAnalysisTaskMuonResolution.cxx:502 AliAnalysisTaskMuonResolution.cxx:503 AliAnalysisTaskMuonResolution.cxx:504 AliAnalysisTaskMuonResolution.cxx:505 AliAnalysisTaskMuonResolution.cxx:506 AliAnalysisTaskMuonResolution.cxx:507 AliAnalysisTaskMuonResolution.cxx:508 AliAnalysisTaskMuonResolution.cxx:509 AliAnalysisTaskMuonResolution.cxx:510 AliAnalysisTaskMuonResolution.cxx:511 AliAnalysisTaskMuonResolution.cxx:512 AliAnalysisTaskMuonResolution.cxx:513 AliAnalysisTaskMuonResolution.cxx:514 AliAnalysisTaskMuonResolution.cxx:515 AliAnalysisTaskMuonResolution.cxx:516 AliAnalysisTaskMuonResolution.cxx:517 AliAnalysisTaskMuonResolution.cxx:518 AliAnalysisTaskMuonResolution.cxx:519 AliAnalysisTaskMuonResolution.cxx:520 AliAnalysisTaskMuonResolution.cxx:521 AliAnalysisTaskMuonResolution.cxx:522 AliAnalysisTaskMuonResolution.cxx:523 AliAnalysisTaskMuonResolution.cxx:524 AliAnalysisTaskMuonResolution.cxx:525 AliAnalysisTaskMuonResolution.cxx:526 AliAnalysisTaskMuonResolution.cxx:527 AliAnalysisTaskMuonResolution.cxx:528 AliAnalysisTaskMuonResolution.cxx:529 AliAnalysisTaskMuonResolution.cxx:530 AliAnalysisTaskMuonResolution.cxx:531 AliAnalysisTaskMuonResolution.cxx:532 AliAnalysisTaskMuonResolution.cxx:533 AliAnalysisTaskMuonResolution.cxx:534 AliAnalysisTaskMuonResolution.cxx:535 AliAnalysisTaskMuonResolution.cxx:536 AliAnalysisTaskMuonResolution.cxx:537 AliAnalysisTaskMuonResolution.cxx:538 AliAnalysisTaskMuonResolution.cxx:539 AliAnalysisTaskMuonResolution.cxx:540 AliAnalysisTaskMuonResolution.cxx:541 AliAnalysisTaskMuonResolution.cxx:542 AliAnalysisTaskMuonResolution.cxx:543 AliAnalysisTaskMuonResolution.cxx:544 AliAnalysisTaskMuonResolution.cxx:545 AliAnalysisTaskMuonResolution.cxx:546 AliAnalysisTaskMuonResolution.cxx:547 AliAnalysisTaskMuonResolution.cxx:548 AliAnalysisTaskMuonResolution.cxx:549 AliAnalysisTaskMuonResolution.cxx:550 AliAnalysisTaskMuonResolution.cxx:551 AliAnalysisTaskMuonResolution.cxx:552 AliAnalysisTaskMuonResolution.cxx:553 AliAnalysisTaskMuonResolution.cxx:554 AliAnalysisTaskMuonResolution.cxx:555 AliAnalysisTaskMuonResolution.cxx:556 AliAnalysisTaskMuonResolution.cxx:557 AliAnalysisTaskMuonResolution.cxx:558 AliAnalysisTaskMuonResolution.cxx:559 AliAnalysisTaskMuonResolution.cxx:560 AliAnalysisTaskMuonResolution.cxx:561 AliAnalysisTaskMuonResolution.cxx:562 AliAnalysisTaskMuonResolution.cxx:563 AliAnalysisTaskMuonResolution.cxx:564 AliAnalysisTaskMuonResolution.cxx:565 AliAnalysisTaskMuonResolution.cxx:566 AliAnalysisTaskMuonResolution.cxx:567 AliAnalysisTaskMuonResolution.cxx:568 AliAnalysisTaskMuonResolution.cxx:569 AliAnalysisTaskMuonResolution.cxx:570 AliAnalysisTaskMuonResolution.cxx:571 AliAnalysisTaskMuonResolution.cxx:572 AliAnalysisTaskMuonResolution.cxx:573 AliAnalysisTaskMuonResolution.cxx:574 AliAnalysisTaskMuonResolution.cxx:575 AliAnalysisTaskMuonResolution.cxx:576 AliAnalysisTaskMuonResolution.cxx:577 AliAnalysisTaskMuonResolution.cxx:578 AliAnalysisTaskMuonResolution.cxx:579 AliAnalysisTaskMuonResolution.cxx:580 AliAnalysisTaskMuonResolution.cxx:581 AliAnalysisTaskMuonResolution.cxx:582 AliAnalysisTaskMuonResolution.cxx:583 AliAnalysisTaskMuonResolution.cxx:584 AliAnalysisTaskMuonResolution.cxx:585 AliAnalysisTaskMuonResolution.cxx:586 AliAnalysisTaskMuonResolution.cxx:587 AliAnalysisTaskMuonResolution.cxx:588 AliAnalysisTaskMuonResolution.cxx:589 AliAnalysisTaskMuonResolution.cxx:590 AliAnalysisTaskMuonResolution.cxx:591 AliAnalysisTaskMuonResolution.cxx:592 AliAnalysisTaskMuonResolution.cxx:593 AliAnalysisTaskMuonResolution.cxx:594 AliAnalysisTaskMuonResolution.cxx:595 AliAnalysisTaskMuonResolution.cxx:596 AliAnalysisTaskMuonResolution.cxx:597 AliAnalysisTaskMuonResolution.cxx:598 AliAnalysisTaskMuonResolution.cxx:599 AliAnalysisTaskMuonResolution.cxx:600 AliAnalysisTaskMuonResolution.cxx:601 AliAnalysisTaskMuonResolution.cxx:602 AliAnalysisTaskMuonResolution.cxx:603 AliAnalysisTaskMuonResolution.cxx:604 AliAnalysisTaskMuonResolution.cxx:605 AliAnalysisTaskMuonResolution.cxx:606 AliAnalysisTaskMuonResolution.cxx:607 AliAnalysisTaskMuonResolution.cxx:608 AliAnalysisTaskMuonResolution.cxx:609 AliAnalysisTaskMuonResolution.cxx:610 AliAnalysisTaskMuonResolution.cxx:611 AliAnalysisTaskMuonResolution.cxx:612 AliAnalysisTaskMuonResolution.cxx:613 AliAnalysisTaskMuonResolution.cxx:614 AliAnalysisTaskMuonResolution.cxx:615 AliAnalysisTaskMuonResolution.cxx:616 AliAnalysisTaskMuonResolution.cxx:617 AliAnalysisTaskMuonResolution.cxx:618 AliAnalysisTaskMuonResolution.cxx:619 AliAnalysisTaskMuonResolution.cxx:620 AliAnalysisTaskMuonResolution.cxx:621 AliAnalysisTaskMuonResolution.cxx:622 AliAnalysisTaskMuonResolution.cxx:623 AliAnalysisTaskMuonResolution.cxx:624 AliAnalysisTaskMuonResolution.cxx:625 AliAnalysisTaskMuonResolution.cxx:626 AliAnalysisTaskMuonResolution.cxx:627 AliAnalysisTaskMuonResolution.cxx:628 AliAnalysisTaskMuonResolution.cxx:629 AliAnalysisTaskMuonResolution.cxx:630 AliAnalysisTaskMuonResolution.cxx:631 AliAnalysisTaskMuonResolution.cxx:632 AliAnalysisTaskMuonResolution.cxx:633 AliAnalysisTaskMuonResolution.cxx:634 AliAnalysisTaskMuonResolution.cxx:635 AliAnalysisTaskMuonResolution.cxx:636 AliAnalysisTaskMuonResolution.cxx:637 AliAnalysisTaskMuonResolution.cxx:638 AliAnalysisTaskMuonResolution.cxx:639 AliAnalysisTaskMuonResolution.cxx:640 AliAnalysisTaskMuonResolution.cxx:641 AliAnalysisTaskMuonResolution.cxx:642 AliAnalysisTaskMuonResolution.cxx:643 AliAnalysisTaskMuonResolution.cxx:644 AliAnalysisTaskMuonResolution.cxx:645 AliAnalysisTaskMuonResolution.cxx:646 AliAnalysisTaskMuonResolution.cxx:647 AliAnalysisTaskMuonResolution.cxx:648 AliAnalysisTaskMuonResolution.cxx:649 AliAnalysisTaskMuonResolution.cxx:650 AliAnalysisTaskMuonResolution.cxx:651 AliAnalysisTaskMuonResolution.cxx:652 AliAnalysisTaskMuonResolution.cxx:653 AliAnalysisTaskMuonResolution.cxx:654 AliAnalysisTaskMuonResolution.cxx:655 AliAnalysisTaskMuonResolution.cxx:656 AliAnalysisTaskMuonResolution.cxx:657 AliAnalysisTaskMuonResolution.cxx:658 AliAnalysisTaskMuonResolution.cxx:659 AliAnalysisTaskMuonResolution.cxx:660 AliAnalysisTaskMuonResolution.cxx:661 AliAnalysisTaskMuonResolution.cxx:662 AliAnalysisTaskMuonResolution.cxx:663 AliAnalysisTaskMuonResolution.cxx:664 AliAnalysisTaskMuonResolution.cxx:665 AliAnalysisTaskMuonResolution.cxx:666 AliAnalysisTaskMuonResolution.cxx:667 AliAnalysisTaskMuonResolution.cxx:668 AliAnalysisTaskMuonResolution.cxx:669 AliAnalysisTaskMuonResolution.cxx:670 AliAnalysisTaskMuonResolution.cxx:671 AliAnalysisTaskMuonResolution.cxx:672 AliAnalysisTaskMuonResolution.cxx:673 AliAnalysisTaskMuonResolution.cxx:674 AliAnalysisTaskMuonResolution.cxx:675 AliAnalysisTaskMuonResolution.cxx:676 AliAnalysisTaskMuonResolution.cxx:677 AliAnalysisTaskMuonResolution.cxx:678 AliAnalysisTaskMuonResolution.cxx:679 AliAnalysisTaskMuonResolution.cxx:680 AliAnalysisTaskMuonResolution.cxx:681 AliAnalysisTaskMuonResolution.cxx:682 AliAnalysisTaskMuonResolution.cxx:683 AliAnalysisTaskMuonResolution.cxx:684 AliAnalysisTaskMuonResolution.cxx:685 AliAnalysisTaskMuonResolution.cxx:686 AliAnalysisTaskMuonResolution.cxx:687 AliAnalysisTaskMuonResolution.cxx:688 AliAnalysisTaskMuonResolution.cxx:689 AliAnalysisTaskMuonResolution.cxx:690 AliAnalysisTaskMuonResolution.cxx:691 AliAnalysisTaskMuonResolution.cxx:692 AliAnalysisTaskMuonResolution.cxx:693 AliAnalysisTaskMuonResolution.cxx:694 AliAnalysisTaskMuonResolution.cxx:695 AliAnalysisTaskMuonResolution.cxx:696 AliAnalysisTaskMuonResolution.cxx:697 AliAnalysisTaskMuonResolution.cxx:698 AliAnalysisTaskMuonResolution.cxx:699 AliAnalysisTaskMuonResolution.cxx:700 AliAnalysisTaskMuonResolution.cxx:701 AliAnalysisTaskMuonResolution.cxx:702 AliAnalysisTaskMuonResolution.cxx:703 AliAnalysisTaskMuonResolution.cxx:704 AliAnalysisTaskMuonResolution.cxx:705 AliAnalysisTaskMuonResolution.cxx:706 AliAnalysisTaskMuonResolution.cxx:707 AliAnalysisTaskMuonResolution.cxx:708 AliAnalysisTaskMuonResolution.cxx:709 AliAnalysisTaskMuonResolution.cxx:710 AliAnalysisTaskMuonResolution.cxx:711 AliAnalysisTaskMuonResolution.cxx:712 AliAnalysisTaskMuonResolution.cxx:713 AliAnalysisTaskMuonResolution.cxx:714 AliAnalysisTaskMuonResolution.cxx:715 AliAnalysisTaskMuonResolution.cxx:716 AliAnalysisTaskMuonResolution.cxx:717 AliAnalysisTaskMuonResolution.cxx:718 AliAnalysisTaskMuonResolution.cxx:719 AliAnalysisTaskMuonResolution.cxx:720 AliAnalysisTaskMuonResolution.cxx:721 AliAnalysisTaskMuonResolution.cxx:722 AliAnalysisTaskMuonResolution.cxx:723 AliAnalysisTaskMuonResolution.cxx:724 AliAnalysisTaskMuonResolution.cxx:725 AliAnalysisTaskMuonResolution.cxx:726 AliAnalysisTaskMuonResolution.cxx:727 AliAnalysisTaskMuonResolution.cxx:728 AliAnalysisTaskMuonResolution.cxx:729 AliAnalysisTaskMuonResolution.cxx:730 AliAnalysisTaskMuonResolution.cxx:731 AliAnalysisTaskMuonResolution.cxx:732 AliAnalysisTaskMuonResolution.cxx:733 AliAnalysisTaskMuonResolution.cxx:734 AliAnalysisTaskMuonResolution.cxx:735 AliAnalysisTaskMuonResolution.cxx:736 AliAnalysisTaskMuonResolution.cxx:737 AliAnalysisTaskMuonResolution.cxx:738 AliAnalysisTaskMuonResolution.cxx:739 AliAnalysisTaskMuonResolution.cxx:740 AliAnalysisTaskMuonResolution.cxx:741 AliAnalysisTaskMuonResolution.cxx:742 AliAnalysisTaskMuonResolution.cxx:743 AliAnalysisTaskMuonResolution.cxx:744 AliAnalysisTaskMuonResolution.cxx:745 AliAnalysisTaskMuonResolution.cxx:746 AliAnalysisTaskMuonResolution.cxx:747 AliAnalysisTaskMuonResolution.cxx:748 AliAnalysisTaskMuonResolution.cxx:749 AliAnalysisTaskMuonResolution.cxx:750 AliAnalysisTaskMuonResolution.cxx:751 AliAnalysisTaskMuonResolution.cxx:752 AliAnalysisTaskMuonResolution.cxx:753 AliAnalysisTaskMuonResolution.cxx:754 AliAnalysisTaskMuonResolution.cxx:755 AliAnalysisTaskMuonResolution.cxx:756 AliAnalysisTaskMuonResolution.cxx:757 AliAnalysisTaskMuonResolution.cxx:758 AliAnalysisTaskMuonResolution.cxx:759 AliAnalysisTaskMuonResolution.cxx:760 AliAnalysisTaskMuonResolution.cxx:761 AliAnalysisTaskMuonResolution.cxx:762 AliAnalysisTaskMuonResolution.cxx:763 AliAnalysisTaskMuonResolution.cxx:764 AliAnalysisTaskMuonResolution.cxx:765 AliAnalysisTaskMuonResolution.cxx:766 AliAnalysisTaskMuonResolution.cxx:767 AliAnalysisTaskMuonResolution.cxx:768 AliAnalysisTaskMuonResolution.cxx:769 AliAnalysisTaskMuonResolution.cxx:770 AliAnalysisTaskMuonResolution.cxx:771 AliAnalysisTaskMuonResolution.cxx:772 AliAnalysisTaskMuonResolution.cxx:773 AliAnalysisTaskMuonResolution.cxx:774 AliAnalysisTaskMuonResolution.cxx:775 AliAnalysisTaskMuonResolution.cxx:776 AliAnalysisTaskMuonResolution.cxx:777 AliAnalysisTaskMuonResolution.cxx:778 AliAnalysisTaskMuonResolution.cxx:779 AliAnalysisTaskMuonResolution.cxx:780 AliAnalysisTaskMuonResolution.cxx:781 AliAnalysisTaskMuonResolution.cxx:782 AliAnalysisTaskMuonResolution.cxx:783 AliAnalysisTaskMuonResolution.cxx:784 AliAnalysisTaskMuonResolution.cxx:785 AliAnalysisTaskMuonResolution.cxx:786 AliAnalysisTaskMuonResolution.cxx:787 AliAnalysisTaskMuonResolution.cxx:788 AliAnalysisTaskMuonResolution.cxx:789 AliAnalysisTaskMuonResolution.cxx:790 AliAnalysisTaskMuonResolution.cxx:791 AliAnalysisTaskMuonResolution.cxx:792 AliAnalysisTaskMuonResolution.cxx:793 AliAnalysisTaskMuonResolution.cxx:794 AliAnalysisTaskMuonResolution.cxx:795 AliAnalysisTaskMuonResolution.cxx:796 AliAnalysisTaskMuonResolution.cxx:797 AliAnalysisTaskMuonResolution.cxx:798 AliAnalysisTaskMuonResolution.cxx:799 AliAnalysisTaskMuonResolution.cxx:800 AliAnalysisTaskMuonResolution.cxx:801 AliAnalysisTaskMuonResolution.cxx:802 AliAnalysisTaskMuonResolution.cxx:803 AliAnalysisTaskMuonResolution.cxx:804 AliAnalysisTaskMuonResolution.cxx:805 AliAnalysisTaskMuonResolution.cxx:806 AliAnalysisTaskMuonResolution.cxx:807 AliAnalysisTaskMuonResolution.cxx:808 AliAnalysisTaskMuonResolution.cxx:809 AliAnalysisTaskMuonResolution.cxx:810 AliAnalysisTaskMuonResolution.cxx:811 AliAnalysisTaskMuonResolution.cxx:812 AliAnalysisTaskMuonResolution.cxx:813 AliAnalysisTaskMuonResolution.cxx:814 AliAnalysisTaskMuonResolution.cxx:815 AliAnalysisTaskMuonResolution.cxx:816 AliAnalysisTaskMuonResolution.cxx:817 AliAnalysisTaskMuonResolution.cxx:818 AliAnalysisTaskMuonResolution.cxx:819 AliAnalysisTaskMuonResolution.cxx:820 AliAnalysisTaskMuonResolution.cxx:821 AliAnalysisTaskMuonResolution.cxx:822 AliAnalysisTaskMuonResolution.cxx:823 AliAnalysisTaskMuonResolution.cxx:824 AliAnalysisTaskMuonResolution.cxx:825 AliAnalysisTaskMuonResolution.cxx:826 AliAnalysisTaskMuonResolution.cxx:827 AliAnalysisTaskMuonResolution.cxx:828 AliAnalysisTaskMuonResolution.cxx:829 AliAnalysisTaskMuonResolution.cxx:830 AliAnalysisTaskMuonResolution.cxx:831 AliAnalysisTaskMuonResolution.cxx:832 AliAnalysisTaskMuonResolution.cxx:833 AliAnalysisTaskMuonResolution.cxx:834 AliAnalysisTaskMuonResolution.cxx:835 AliAnalysisTaskMuonResolution.cxx:836 AliAnalysisTaskMuonResolution.cxx:837 AliAnalysisTaskMuonResolution.cxx:838 AliAnalysisTaskMuonResolution.cxx:839 AliAnalysisTaskMuonResolution.cxx:840 AliAnalysisTaskMuonResolution.cxx:841 AliAnalysisTaskMuonResolution.cxx:842 AliAnalysisTaskMuonResolution.cxx:843 AliAnalysisTaskMuonResolution.cxx:844 AliAnalysisTaskMuonResolution.cxx:845 AliAnalysisTaskMuonResolution.cxx:846 AliAnalysisTaskMuonResolution.cxx:847 AliAnalysisTaskMuonResolution.cxx:848 AliAnalysisTaskMuonResolution.cxx:849 AliAnalysisTaskMuonResolution.cxx:850 AliAnalysisTaskMuonResolution.cxx:851 AliAnalysisTaskMuonResolution.cxx:852 AliAnalysisTaskMuonResolution.cxx:853 AliAnalysisTaskMuonResolution.cxx:854 AliAnalysisTaskMuonResolution.cxx:855 AliAnalysisTaskMuonResolution.cxx:856 AliAnalysisTaskMuonResolution.cxx:857 AliAnalysisTaskMuonResolution.cxx:858 AliAnalysisTaskMuonResolution.cxx:859 AliAnalysisTaskMuonResolution.cxx:860 AliAnalysisTaskMuonResolution.cxx:861 AliAnalysisTaskMuonResolution.cxx:862 AliAnalysisTaskMuonResolution.cxx:863 AliAnalysisTaskMuonResolution.cxx:864 AliAnalysisTaskMuonResolution.cxx:865 AliAnalysisTaskMuonResolution.cxx:866 AliAnalysisTaskMuonResolution.cxx:867 AliAnalysisTaskMuonResolution.cxx:868 AliAnalysisTaskMuonResolution.cxx:869 AliAnalysisTaskMuonResolution.cxx:870 AliAnalysisTaskMuonResolution.cxx:871 AliAnalysisTaskMuonResolution.cxx:872 AliAnalysisTaskMuonResolution.cxx:873 AliAnalysisTaskMuonResolution.cxx:874 AliAnalysisTaskMuonResolution.cxx:875 AliAnalysisTaskMuonResolution.cxx:876 AliAnalysisTaskMuonResolution.cxx:877 AliAnalysisTaskMuonResolution.cxx:878 AliAnalysisTaskMuonResolution.cxx:879 AliAnalysisTaskMuonResolution.cxx:880 AliAnalysisTaskMuonResolution.cxx:881 AliAnalysisTaskMuonResolution.cxx:882 AliAnalysisTaskMuonResolution.cxx:883 AliAnalysisTaskMuonResolution.cxx:884 AliAnalysisTaskMuonResolution.cxx:885 AliAnalysisTaskMuonResolution.cxx:886 AliAnalysisTaskMuonResolution.cxx:887 AliAnalysisTaskMuonResolution.cxx:888 AliAnalysisTaskMuonResolution.cxx:889 AliAnalysisTaskMuonResolution.cxx:890 AliAnalysisTaskMuonResolution.cxx:891 AliAnalysisTaskMuonResolution.cxx:892 AliAnalysisTaskMuonResolution.cxx:893 AliAnalysisTaskMuonResolution.cxx:894 AliAnalysisTaskMuonResolution.cxx:895 AliAnalysisTaskMuonResolution.cxx:896 AliAnalysisTaskMuonResolution.cxx:897 AliAnalysisTaskMuonResolution.cxx:898 AliAnalysisTaskMuonResolution.cxx:899 AliAnalysisTaskMuonResolution.cxx:900 AliAnalysisTaskMuonResolution.cxx:901 AliAnalysisTaskMuonResolution.cxx:902 AliAnalysisTaskMuonResolution.cxx:903 AliAnalysisTaskMuonResolution.cxx:904 AliAnalysisTaskMuonResolution.cxx:905 AliAnalysisTaskMuonResolution.cxx:906 AliAnalysisTaskMuonResolution.cxx:907 AliAnalysisTaskMuonResolution.cxx:908 AliAnalysisTaskMuonResolution.cxx:909 AliAnalysisTaskMuonResolution.cxx:910 AliAnalysisTaskMuonResolution.cxx:911 AliAnalysisTaskMuonResolution.cxx:912 AliAnalysisTaskMuonResolution.cxx:913 AliAnalysisTaskMuonResolution.cxx:914 AliAnalysisTaskMuonResolution.cxx:915 AliAnalysisTaskMuonResolution.cxx:916 AliAnalysisTaskMuonResolution.cxx:917 AliAnalysisTaskMuonResolution.cxx:918 AliAnalysisTaskMuonResolution.cxx:919 AliAnalysisTaskMuonResolution.cxx:920 AliAnalysisTaskMuonResolution.cxx:921 AliAnalysisTaskMuonResolution.cxx:922 AliAnalysisTaskMuonResolution.cxx:923 AliAnalysisTaskMuonResolution.cxx:924 AliAnalysisTaskMuonResolution.cxx:925 AliAnalysisTaskMuonResolution.cxx:926 AliAnalysisTaskMuonResolution.cxx:927 AliAnalysisTaskMuonResolution.cxx:928 AliAnalysisTaskMuonResolution.cxx:929 AliAnalysisTaskMuonResolution.cxx:930 AliAnalysisTaskMuonResolution.cxx:931 AliAnalysisTaskMuonResolution.cxx:932 AliAnalysisTaskMuonResolution.cxx:933 AliAnalysisTaskMuonResolution.cxx:934 AliAnalysisTaskMuonResolution.cxx:935 AliAnalysisTaskMuonResolution.cxx:936 AliAnalysisTaskMuonResolution.cxx:937 AliAnalysisTaskMuonResolution.cxx:938 AliAnalysisTaskMuonResolution.cxx:939 AliAnalysisTaskMuonResolution.cxx:940 AliAnalysisTaskMuonResolution.cxx:941 AliAnalysisTaskMuonResolution.cxx:942 AliAnalysisTaskMuonResolution.cxx:943 AliAnalysisTaskMuonResolution.cxx:944 AliAnalysisTaskMuonResolution.cxx:945 AliAnalysisTaskMuonResolution.cxx:946 AliAnalysisTaskMuonResolution.cxx:947 AliAnalysisTaskMuonResolution.cxx:948 AliAnalysisTaskMuonResolution.cxx:949 AliAnalysisTaskMuonResolution.cxx:950 AliAnalysisTaskMuonResolution.cxx:951 AliAnalysisTaskMuonResolution.cxx:952 AliAnalysisTaskMuonResolution.cxx:953 AliAnalysisTaskMuonResolution.cxx:954 AliAnalysisTaskMuonResolution.cxx:955 AliAnalysisTaskMuonResolution.cxx:956 AliAnalysisTaskMuonResolution.cxx:957 AliAnalysisTaskMuonResolution.cxx:958 AliAnalysisTaskMuonResolution.cxx:959 AliAnalysisTaskMuonResolution.cxx:960 AliAnalysisTaskMuonResolution.cxx:961 AliAnalysisTaskMuonResolution.cxx:962 AliAnalysisTaskMuonResolution.cxx:963 AliAnalysisTaskMuonResolution.cxx:964 AliAnalysisTaskMuonResolution.cxx:965 AliAnalysisTaskMuonResolution.cxx:966 AliAnalysisTaskMuonResolution.cxx:967 AliAnalysisTaskMuonResolution.cxx:968 AliAnalysisTaskMuonResolution.cxx:969 AliAnalysisTaskMuonResolution.cxx:970 AliAnalysisTaskMuonResolution.cxx:971 AliAnalysisTaskMuonResolution.cxx:972 AliAnalysisTaskMuonResolution.cxx:973 AliAnalysisTaskMuonResolution.cxx:974 AliAnalysisTaskMuonResolution.cxx:975 AliAnalysisTaskMuonResolution.cxx:976 AliAnalysisTaskMuonResolution.cxx:977 AliAnalysisTaskMuonResolution.cxx:978 AliAnalysisTaskMuonResolution.cxx:979 AliAnalysisTaskMuonResolution.cxx:980 AliAnalysisTaskMuonResolution.cxx:981 AliAnalysisTaskMuonResolution.cxx:982 AliAnalysisTaskMuonResolution.cxx:983 AliAnalysisTaskMuonResolution.cxx:984 AliAnalysisTaskMuonResolution.cxx:985 AliAnalysisTaskMuonResolution.cxx:986 AliAnalysisTaskMuonResolution.cxx:987 AliAnalysisTaskMuonResolution.cxx:988 AliAnalysisTaskMuonResolution.cxx:989 AliAnalysisTaskMuonResolution.cxx:990 AliAnalysisTaskMuonResolution.cxx:991 AliAnalysisTaskMuonResolution.cxx:992 AliAnalysisTaskMuonResolution.cxx:993 AliAnalysisTaskMuonResolution.cxx:994 AliAnalysisTaskMuonResolution.cxx:995 AliAnalysisTaskMuonResolution.cxx:996 AliAnalysisTaskMuonResolution.cxx:997 AliAnalysisTaskMuonResolution.cxx:998 AliAnalysisTaskMuonResolution.cxx:999 AliAnalysisTaskMuonResolution.cxx:1000 AliAnalysisTaskMuonResolution.cxx:1001 AliAnalysisTaskMuonResolution.cxx:1002 AliAnalysisTaskMuonResolution.cxx:1003 AliAnalysisTaskMuonResolution.cxx:1004 AliAnalysisTaskMuonResolution.cxx:1005 AliAnalysisTaskMuonResolution.cxx:1006 AliAnalysisTaskMuonResolution.cxx:1007 AliAnalysisTaskMuonResolution.cxx:1008 AliAnalysisTaskMuonResolution.cxx:1009 AliAnalysisTaskMuonResolution.cxx:1010 AliAnalysisTaskMuonResolution.cxx:1011 AliAnalysisTaskMuonResolution.cxx:1012 AliAnalysisTaskMuonResolution.cxx:1013 AliAnalysisTaskMuonResolution.cxx:1014 AliAnalysisTaskMuonResolution.cxx:1015 AliAnalysisTaskMuonResolution.cxx:1016 AliAnalysisTaskMuonResolution.cxx:1017 AliAnalysisTaskMuonResolution.cxx:1018 AliAnalysisTaskMuonResolution.cxx:1019 AliAnalysisTaskMuonResolution.cxx:1020 AliAnalysisTaskMuonResolution.cxx:1021 AliAnalysisTaskMuonResolution.cxx:1022 AliAnalysisTaskMuonResolution.cxx:1023 AliAnalysisTaskMuonResolution.cxx:1024 AliAnalysisTaskMuonResolution.cxx:1025 AliAnalysisTaskMuonResolution.cxx:1026 AliAnalysisTaskMuonResolution.cxx:1027 AliAnalysisTaskMuonResolution.cxx:1028 AliAnalysisTaskMuonResolution.cxx:1029 AliAnalysisTaskMuonResolution.cxx:1030 AliAnalysisTaskMuonResolution.cxx:1031 AliAnalysisTaskMuonResolution.cxx:1032 AliAnalysisTaskMuonResolution.cxx:1033 AliAnalysisTaskMuonResolution.cxx:1034 AliAnalysisTaskMuonResolution.cxx:1035 AliAnalysisTaskMuonResolution.cxx:1036 AliAnalysisTaskMuonResolution.cxx:1037 AliAnalysisTaskMuonResolution.cxx:1038 AliAnalysisTaskMuonResolution.cxx:1039 AliAnalysisTaskMuonResolution.cxx:1040 AliAnalysisTaskMuonResolution.cxx:1041 AliAnalysisTaskMuonResolution.cxx:1042 AliAnalysisTaskMuonResolution.cxx:1043 AliAnalysisTaskMuonResolution.cxx:1044 AliAnalysisTaskMuonResolution.cxx:1045 AliAnalysisTaskMuonResolution.cxx:1046 AliAnalysisTaskMuonResolution.cxx:1047 AliAnalysisTaskMuonResolution.cxx:1048 AliAnalysisTaskMuonResolution.cxx:1049 AliAnalysisTaskMuonResolution.cxx:1050 AliAnalysisTaskMuonResolution.cxx:1051 AliAnalysisTaskMuonResolution.cxx:1052 AliAnalysisTaskMuonResolution.cxx:1053 AliAnalysisTaskMuonResolution.cxx:1054 AliAnalysisTaskMuonResolution.cxx:1055 AliAnalysisTaskMuonResolution.cxx:1056 AliAnalysisTaskMuonResolution.cxx:1057 AliAnalysisTaskMuonResolution.cxx:1058 AliAnalysisTaskMuonResolution.cxx:1059 AliAnalysisTaskMuonResolution.cxx:1060 AliAnalysisTaskMuonResolution.cxx:1061 AliAnalysisTaskMuonResolution.cxx:1062 AliAnalysisTaskMuonResolution.cxx:1063 AliAnalysisTaskMuonResolution.cxx:1064 AliAnalysisTaskMuonResolution.cxx:1065 AliAnalysisTaskMuonResolution.cxx:1066 AliAnalysisTaskMuonResolution.cxx:1067 AliAnalysisTaskMuonResolution.cxx:1068 AliAnalysisTaskMuonResolution.cxx:1069 AliAnalysisTaskMuonResolution.cxx:1070 AliAnalysisTaskMuonResolution.cxx:1071 AliAnalysisTaskMuonResolution.cxx:1072 AliAnalysisTaskMuonResolution.cxx:1073 AliAnalysisTaskMuonResolution.cxx:1074 AliAnalysisTaskMuonResolution.cxx:1075 AliAnalysisTaskMuonResolution.cxx:1076 AliAnalysisTaskMuonResolution.cxx:1077 AliAnalysisTaskMuonResolution.cxx:1078 AliAnalysisTaskMuonResolution.cxx:1079 AliAnalysisTaskMuonResolution.cxx:1080 AliAnalysisTaskMuonResolution.cxx:1081 AliAnalysisTaskMuonResolution.cxx:1082 AliAnalysisTaskMuonResolution.cxx:1083 AliAnalysisTaskMuonResolution.cxx:1084 AliAnalysisTaskMuonResolution.cxx:1085 AliAnalysisTaskMuonResolution.cxx:1086 AliAnalysisTaskMuonResolution.cxx:1087 AliAnalysisTaskMuonResolution.cxx:1088 AliAnalysisTaskMuonResolution.cxx:1089 AliAnalysisTaskMuonResolution.cxx:1090 AliAnalysisTaskMuonResolution.cxx:1091 AliAnalysisTaskMuonResolution.cxx:1092 AliAnalysisTaskMuonResolution.cxx:1093 AliAnalysisTaskMuonResolution.cxx:1094 AliAnalysisTaskMuonResolution.cxx:1095 AliAnalysisTaskMuonResolution.cxx:1096 AliAnalysisTaskMuonResolution.cxx:1097 AliAnalysisTaskMuonResolution.cxx:1098 AliAnalysisTaskMuonResolution.cxx:1099 AliAnalysisTaskMuonResolution.cxx:1100 AliAnalysisTaskMuonResolution.cxx:1101 AliAnalysisTaskMuonResolution.cxx:1102 AliAnalysisTaskMuonResolution.cxx:1103 AliAnalysisTaskMuonResolution.cxx:1104 AliAnalysisTaskMuonResolution.cxx:1105 AliAnalysisTaskMuonResolution.cxx:1106 AliAnalysisTaskMuonResolution.cxx:1107 AliAnalysisTaskMuonResolution.cxx:1108 AliAnalysisTaskMuonResolution.cxx:1109 AliAnalysisTaskMuonResolution.cxx:1110 AliAnalysisTaskMuonResolution.cxx:1111 AliAnalysisTaskMuonResolution.cxx:1112 AliAnalysisTaskMuonResolution.cxx:1113 AliAnalysisTaskMuonResolution.cxx:1114 AliAnalysisTaskMuonResolution.cxx:1115 AliAnalysisTaskMuonResolution.cxx:1116 AliAnalysisTaskMuonResolution.cxx:1117 AliAnalysisTaskMuonResolution.cxx:1118 AliAnalysisTaskMuonResolution.cxx:1119 AliAnalysisTaskMuonResolution.cxx:1120 AliAnalysisTaskMuonResolution.cxx:1121 AliAnalysisTaskMuonResolution.cxx:1122 AliAnalysisTaskMuonResolution.cxx:1123 AliAnalysisTaskMuonResolution.cxx:1124 AliAnalysisTaskMuonResolution.cxx:1125 AliAnalysisTaskMuonResolution.cxx:1126 AliAnalysisTaskMuonResolution.cxx:1127 AliAnalysisTaskMuonResolution.cxx:1128 AliAnalysisTaskMuonResolution.cxx:1129 AliAnalysisTaskMuonResolution.cxx:1130 AliAnalysisTaskMuonResolution.cxx:1131 AliAnalysisTaskMuonResolution.cxx:1132 AliAnalysisTaskMuonResolution.cxx:1133 AliAnalysisTaskMuonResolution.cxx:1134 AliAnalysisTaskMuonResolution.cxx:1135 AliAnalysisTaskMuonResolution.cxx:1136 AliAnalysisTaskMuonResolution.cxx:1137 AliAnalysisTaskMuonResolution.cxx:1138 AliAnalysisTaskMuonResolution.cxx:1139 AliAnalysisTaskMuonResolution.cxx:1140 AliAnalysisTaskMuonResolution.cxx:1141 AliAnalysisTaskMuonResolution.cxx:1142 AliAnalysisTaskMuonResolution.cxx:1143 AliAnalysisTaskMuonResolution.cxx:1144 AliAnalysisTaskMuonResolution.cxx:1145 AliAnalysisTaskMuonResolution.cxx:1146 AliAnalysisTaskMuonResolution.cxx:1147 AliAnalysisTaskMuonResolution.cxx:1148 AliAnalysisTaskMuonResolution.cxx:1149 AliAnalysisTaskMuonResolution.cxx:1150 AliAnalysisTaskMuonResolution.cxx:1151 AliAnalysisTaskMuonResolution.cxx:1152 AliAnalysisTaskMuonResolution.cxx:1153 AliAnalysisTaskMuonResolution.cxx:1154 AliAnalysisTaskMuonResolution.cxx:1155 AliAnalysisTaskMuonResolution.cxx:1156 AliAnalysisTaskMuonResolution.cxx:1157 AliAnalysisTaskMuonResolution.cxx:1158 AliAnalysisTaskMuonResolution.cxx:1159 AliAnalysisTaskMuonResolution.cxx:1160 AliAnalysisTaskMuonResolution.cxx:1161 AliAnalysisTaskMuonResolution.cxx:1162 AliAnalysisTaskMuonResolution.cxx:1163 AliAnalysisTaskMuonResolution.cxx:1164 AliAnalysisTaskMuonResolution.cxx:1165 AliAnalysisTaskMuonResolution.cxx:1166 AliAnalysisTaskMuonResolution.cxx:1167 AliAnalysisTaskMuonResolution.cxx:1168 AliAnalysisTaskMuonResolution.cxx:1169 AliAnalysisTaskMuonResolution.cxx:1170 AliAnalysisTaskMuonResolution.cxx:1171 AliAnalysisTaskMuonResolution.cxx:1172 AliAnalysisTaskMuonResolution.cxx:1173 AliAnalysisTaskMuonResolution.cxx:1174 AliAnalysisTaskMuonResolution.cxx:1175 AliAnalysisTaskMuonResolution.cxx:1176 AliAnalysisTaskMuonResolution.cxx:1177 AliAnalysisTaskMuonResolution.cxx:1178 AliAnalysisTaskMuonResolution.cxx:1179 AliAnalysisTaskMuonResolution.cxx:1180 AliAnalysisTaskMuonResolution.cxx:1181 AliAnalysisTaskMuonResolution.cxx:1182 AliAnalysisTaskMuonResolution.cxx:1183 AliAnalysisTaskMuonResolution.cxx:1184 AliAnalysisTaskMuonResolution.cxx:1185 AliAnalysisTaskMuonResolution.cxx:1186 AliAnalysisTaskMuonResolution.cxx:1187 AliAnalysisTaskMuonResolution.cxx:1188 AliAnalysisTaskMuonResolution.cxx:1189 AliAnalysisTaskMuonResolution.cxx:1190 AliAnalysisTaskMuonResolution.cxx:1191 AliAnalysisTaskMuonResolution.cxx:1192 AliAnalysisTaskMuonResolution.cxx:1193 AliAnalysisTaskMuonResolution.cxx:1194 AliAnalysisTaskMuonResolution.cxx:1195 AliAnalysisTaskMuonResolution.cxx:1196 AliAnalysisTaskMuonResolution.cxx:1197 AliAnalysisTaskMuonResolution.cxx:1198 AliAnalysisTaskMuonResolution.cxx:1199 AliAnalysisTaskMuonResolution.cxx:1200 AliAnalysisTaskMuonResolution.cxx:1201 AliAnalysisTaskMuonResolution.cxx:1202 AliAnalysisTaskMuonResolution.cxx:1203 AliAnalysisTaskMuonResolution.cxx:1204 AliAnalysisTaskMuonResolution.cxx:1205 AliAnalysisTaskMuonResolution.cxx:1206 AliAnalysisTaskMuonResolution.cxx:1207 AliAnalysisTaskMuonResolution.cxx:1208 AliAnalysisTaskMuonResolution.cxx:1209 AliAnalysisTaskMuonResolution.cxx:1210 AliAnalysisTaskMuonResolution.cxx:1211 AliAnalysisTaskMuonResolution.cxx:1212 AliAnalysisTaskMuonResolution.cxx:1213 AliAnalysisTaskMuonResolution.cxx:1214 AliAnalysisTaskMuonResolution.cxx:1215 AliAnalysisTaskMuonResolution.cxx:1216 AliAnalysisTaskMuonResolution.cxx:1217 AliAnalysisTaskMuonResolution.cxx:1218 AliAnalysisTaskMuonResolution.cxx:1219 AliAnalysisTaskMuonResolution.cxx:1220 AliAnalysisTaskMuonResolution.cxx:1221 AliAnalysisTaskMuonResolution.cxx:1222 AliAnalysisTaskMuonResolution.cxx:1223 AliAnalysisTaskMuonResolution.cxx:1224 AliAnalysisTaskMuonResolution.cxx:1225 AliAnalysisTaskMuonResolution.cxx:1226 AliAnalysisTaskMuonResolution.cxx:1227 AliAnalysisTaskMuonResolution.cxx:1228 AliAnalysisTaskMuonResolution.cxx:1229 AliAnalysisTaskMuonResolution.cxx:1230 AliAnalysisTaskMuonResolution.cxx:1231 AliAnalysisTaskMuonResolution.cxx:1232 AliAnalysisTaskMuonResolution.cxx:1233 AliAnalysisTaskMuonResolution.cxx:1234 AliAnalysisTaskMuonResolution.cxx:1235 AliAnalysisTaskMuonResolution.cxx:1236 AliAnalysisTaskMuonResolution.cxx:1237 AliAnalysisTaskMuonResolution.cxx:1238 AliAnalysisTaskMuonResolution.cxx:1239 AliAnalysisTaskMuonResolution.cxx:1240 AliAnalysisTaskMuonResolution.cxx:1241 AliAnalysisTaskMuonResolution.cxx:1242 AliAnalysisTaskMuonResolution.cxx:1243 AliAnalysisTaskMuonResolution.cxx:1244 AliAnalysisTaskMuonResolution.cxx:1245 AliAnalysisTaskMuonResolution.cxx:1246 AliAnalysisTaskMuonResolution.cxx:1247 AliAnalysisTaskMuonResolution.cxx:1248 AliAnalysisTaskMuonResolution.cxx:1249 AliAnalysisTaskMuonResolution.cxx:1250 AliAnalysisTaskMuonResolution.cxx:1251 AliAnalysisTaskMuonResolution.cxx:1252 AliAnalysisTaskMuonResolution.cxx:1253 AliAnalysisTaskMuonResolution.cxx:1254 AliAnalysisTaskMuonResolution.cxx:1255 AliAnalysisTaskMuonResolution.cxx:1256 AliAnalysisTaskMuonResolution.cxx:1257 AliAnalysisTaskMuonResolution.cxx:1258 AliAnalysisTaskMuonResolution.cxx:1259 AliAnalysisTaskMuonResolution.cxx:1260 AliAnalysisTaskMuonResolution.cxx:1261 AliAnalysisTaskMuonResolution.cxx:1262 AliAnalysisTaskMuonResolution.cxx:1263 AliAnalysisTaskMuonResolution.cxx:1264 AliAnalysisTaskMuonResolution.cxx:1265 AliAnalysisTaskMuonResolution.cxx:1266 AliAnalysisTaskMuonResolution.cxx:1267 AliAnalysisTaskMuonResolution.cxx:1268 AliAnalysisTaskMuonResolution.cxx:1269 AliAnalysisTaskMuonResolution.cxx:1270 AliAnalysisTaskMuonResolution.cxx:1271 AliAnalysisTaskMuonResolution.cxx:1272 AliAnalysisTaskMuonResolution.cxx:1273 AliAnalysisTaskMuonResolution.cxx:1274 AliAnalysisTaskMuonResolution.cxx:1275 AliAnalysisTaskMuonResolution.cxx:1276 AliAnalysisTaskMuonResolution.cxx:1277 AliAnalysisTaskMuonResolution.cxx:1278 AliAnalysisTaskMuonResolution.cxx:1279 AliAnalysisTaskMuonResolution.cxx:1280 AliAnalysisTaskMuonResolution.cxx:1281 AliAnalysisTaskMuonResolution.cxx:1282 AliAnalysisTaskMuonResolution.cxx:1283 AliAnalysisTaskMuonResolution.cxx:1284 AliAnalysisTaskMuonResolution.cxx:1285 AliAnalysisTaskMuonResolution.cxx:1286 AliAnalysisTaskMuonResolution.cxx:1287 AliAnalysisTaskMuonResolution.cxx:1288 AliAnalysisTaskMuonResolution.cxx:1289 AliAnalysisTaskMuonResolution.cxx:1290 AliAnalysisTaskMuonResolution.cxx:1291 AliAnalysisTaskMuonResolution.cxx:1292 AliAnalysisTaskMuonResolution.cxx:1293 AliAnalysisTaskMuonResolution.cxx:1294 AliAnalysisTaskMuonResolution.cxx:1295 AliAnalysisTaskMuonResolution.cxx:1296 AliAnalysisTaskMuonResolution.cxx:1297 AliAnalysisTaskMuonResolution.cxx:1298 AliAnalysisTaskMuonResolution.cxx:1299 AliAnalysisTaskMuonResolution.cxx:1300 AliAnalysisTaskMuonResolution.cxx:1301 AliAnalysisTaskMuonResolution.cxx:1302 AliAnalysisTaskMuonResolution.cxx:1303 AliAnalysisTaskMuonResolution.cxx:1304 AliAnalysisTaskMuonResolution.cxx:1305 AliAnalysisTaskMuonResolution.cxx:1306 AliAnalysisTaskMuonResolution.cxx:1307 AliAnalysisTaskMuonResolution.cxx:1308 AliAnalysisTaskMuonResolution.cxx:1309 AliAnalysisTaskMuonResolution.cxx:1310 AliAnalysisTaskMuonResolution.cxx:1311 AliAnalysisTaskMuonResolution.cxx:1312 AliAnalysisTaskMuonResolution.cxx:1313 AliAnalysisTaskMuonResolution.cxx:1314 AliAnalysisTaskMuonResolution.cxx:1315 AliAnalysisTaskMuonResolution.cxx:1316 AliAnalysisTaskMuonResolution.cxx:1317 AliAnalysisTaskMuonResolution.cxx:1318 AliAnalysisTaskMuonResolution.cxx:1319 AliAnalysisTaskMuonResolution.cxx:1320 AliAnalysisTaskMuonResolution.cxx:1321 AliAnalysisTaskMuonResolution.cxx:1322 AliAnalysisTaskMuonResolution.cxx:1323 AliAnalysisTaskMuonResolution.cxx:1324 AliAnalysisTaskMuonResolution.cxx:1325 AliAnalysisTaskMuonResolution.cxx:1326 AliAnalysisTaskMuonResolution.cxx:1327 AliAnalysisTaskMuonResolution.cxx:1328 AliAnalysisTaskMuonResolution.cxx:1329 AliAnalysisTaskMuonResolution.cxx:1330 AliAnalysisTaskMuonResolution.cxx:1331 AliAnalysisTaskMuonResolution.cxx:1332 AliAnalysisTaskMuonResolution.cxx:1333 AliAnalysisTaskMuonResolution.cxx:1334 AliAnalysisTaskMuonResolution.cxx:1335 AliAnalysisTaskMuonResolution.cxx:1336 AliAnalysisTaskMuonResolution.cxx:1337 AliAnalysisTaskMuonResolution.cxx:1338 AliAnalysisTaskMuonResolution.cxx:1339 AliAnalysisTaskMuonResolution.cxx:1340 AliAnalysisTaskMuonResolution.cxx:1341 AliAnalysisTaskMuonResolution.cxx:1342 AliAnalysisTaskMuonResolution.cxx:1343 AliAnalysisTaskMuonResolution.cxx:1344 AliAnalysisTaskMuonResolution.cxx:1345 AliAnalysisTaskMuonResolution.cxx:1346 AliAnalysisTaskMuonResolution.cxx:1347 AliAnalysisTaskMuonResolution.cxx:1348 AliAnalysisTaskMuonResolution.cxx:1349 AliAnalysisTaskMuonResolution.cxx:1350 AliAnalysisTaskMuonResolution.cxx:1351 AliAnalysisTaskMuonResolution.cxx:1352 AliAnalysisTaskMuonResolution.cxx:1353 AliAnalysisTaskMuonResolution.cxx:1354 AliAnalysisTaskMuonResolution.cxx:1355 AliAnalysisTaskMuonResolution.cxx:1356 AliAnalysisTaskMuonResolution.cxx:1357 AliAnalysisTaskMuonResolution.cxx:1358 AliAnalysisTaskMuonResolution.cxx:1359 AliAnalysisTaskMuonResolution.cxx:1360 AliAnalysisTaskMuonResolution.cxx:1361 AliAnalysisTaskMuonResolution.cxx:1362 AliAnalysisTaskMuonResolution.cxx:1363 AliAnalysisTaskMuonResolution.cxx:1364 AliAnalysisTaskMuonResolution.cxx:1365 AliAnalysisTaskMuonResolution.cxx:1366 AliAnalysisTaskMuonResolution.cxx:1367 AliAnalysisTaskMuonResolution.cxx:1368 AliAnalysisTaskMuonResolution.cxx:1369 AliAnalysisTaskMuonResolution.cxx:1370 AliAnalysisTaskMuonResolution.cxx:1371 AliAnalysisTaskMuonResolution.cxx:1372 AliAnalysisTaskMuonResolution.cxx:1373 AliAnalysisTaskMuonResolution.cxx:1374 AliAnalysisTaskMuonResolution.cxx:1375 AliAnalysisTaskMuonResolution.cxx:1376 AliAnalysisTaskMuonResolution.cxx:1377 AliAnalysisTaskMuonResolution.cxx:1378 AliAnalysisTaskMuonResolution.cxx:1379 AliAnalysisTaskMuonResolution.cxx:1380 AliAnalysisTaskMuonResolution.cxx:1381 AliAnalysisTaskMuonResolution.cxx:1382 AliAnalysisTaskMuonResolution.cxx:1383 AliAnalysisTaskMuonResolution.cxx:1384 AliAnalysisTaskMuonResolution.cxx:1385 AliAnalysisTaskMuonResolution.cxx:1386 AliAnalysisTaskMuonResolution.cxx:1387 AliAnalysisTaskMuonResolution.cxx:1388 AliAnalysisTaskMuonResolution.cxx:1389 AliAnalysisTaskMuonResolution.cxx:1390 AliAnalysisTaskMuonResolution.cxx:1391 AliAnalysisTaskMuonResolution.cxx:1392 AliAnalysisTaskMuonResolution.cxx:1393 AliAnalysisTaskMuonResolution.cxx:1394 AliAnalysisTaskMuonResolution.cxx:1395 AliAnalysisTaskMuonResolution.cxx:1396 AliAnalysisTaskMuonResolution.cxx:1397 AliAnalysisTaskMuonResolution.cxx:1398 AliAnalysisTaskMuonResolution.cxx:1399 AliAnalysisTaskMuonResolution.cxx:1400 AliAnalysisTaskMuonResolution.cxx:1401 AliAnalysisTaskMuonResolution.cxx:1402 AliAnalysisTaskMuonResolution.cxx:1403 AliAnalysisTaskMuonResolution.cxx:1404 AliAnalysisTaskMuonResolution.cxx:1405 AliAnalysisTaskMuonResolution.cxx:1406 AliAnalysisTaskMuonResolution.cxx:1407 AliAnalysisTaskMuonResolution.cxx:1408 AliAnalysisTaskMuonResolution.cxx:1409 AliAnalysisTaskMuonResolution.cxx:1410 AliAnalysisTaskMuonResolution.cxx:1411 AliAnalysisTaskMuonResolution.cxx:1412 AliAnalysisTaskMuonResolution.cxx:1413 AliAnalysisTaskMuonResolution.cxx:1414 AliAnalysisTaskMuonResolution.cxx:1415 AliAnalysisTaskMuonResolution.cxx:1416 AliAnalysisTaskMuonResolution.cxx:1417 AliAnalysisTaskMuonResolution.cxx:1418 AliAnalysisTaskMuonResolution.cxx:1419 AliAnalysisTaskMuonResolution.cxx:1420 AliAnalysisTaskMuonResolution.cxx:1421 AliAnalysisTaskMuonResolution.cxx:1422 AliAnalysisTaskMuonResolution.cxx:1423 AliAnalysisTaskMuonResolution.cxx:1424 AliAnalysisTaskMuonResolution.cxx:1425 AliAnalysisTaskMuonResolution.cxx:1426 AliAnalysisTaskMuonResolution.cxx:1427 AliAnalysisTaskMuonResolution.cxx:1428 AliAnalysisTaskMuonResolution.cxx:1429 AliAnalysisTaskMuonResolution.cxx:1430 AliAnalysisTaskMuonResolution.cxx:1431 AliAnalysisTaskMuonResolution.cxx:1432 AliAnalysisTaskMuonResolution.cxx:1433 AliAnalysisTaskMuonResolution.cxx:1434 AliAnalysisTaskMuonResolution.cxx:1435 AliAnalysisTaskMuonResolution.cxx:1436 AliAnalysisTaskMuonResolution.cxx:1437 AliAnalysisTaskMuonResolution.cxx:1438 AliAnalysisTaskMuonResolution.cxx:1439 AliAnalysisTaskMuonResolution.cxx:1440 AliAnalysisTaskMuonResolution.cxx:1441 AliAnalysisTaskMuonResolution.cxx:1442 AliAnalysisTaskMuonResolution.cxx:1443 AliAnalysisTaskMuonResolution.cxx:1444 AliAnalysisTaskMuonResolution.cxx:1445 AliAnalysisTaskMuonResolution.cxx:1446 AliAnalysisTaskMuonResolution.cxx:1447 AliAnalysisTaskMuonResolution.cxx:1448 AliAnalysisTaskMuonResolution.cxx:1449 AliAnalysisTaskMuonResolution.cxx:1450 AliAnalysisTaskMuonResolution.cxx:1451 AliAnalysisTaskMuonResolution.cxx:1452 AliAnalysisTaskMuonResolution.cxx:1453 AliAnalysisTaskMuonResolution.cxx:1454 AliAnalysisTaskMuonResolution.cxx:1455 AliAnalysisTaskMuonResolution.cxx:1456 AliAnalysisTaskMuonResolution.cxx:1457 AliAnalysisTaskMuonResolution.cxx:1458 AliAnalysisTaskMuonResolution.cxx:1459 AliAnalysisTaskMuonResolution.cxx:1460 AliAnalysisTaskMuonResolution.cxx:1461 AliAnalysisTaskMuonResolution.cxx:1462 AliAnalysisTaskMuonResolution.cxx:1463 AliAnalysisTaskMuonResolution.cxx:1464 AliAnalysisTaskMuonResolution.cxx:1465 AliAnalysisTaskMuonResolution.cxx:1466 AliAnalysisTaskMuonResolution.cxx:1467 AliAnalysisTaskMuonResolution.cxx:1468 AliAnalysisTaskMuonResolution.cxx:1469 AliAnalysisTaskMuonResolution.cxx:1470 AliAnalysisTaskMuonResolution.cxx:1471 AliAnalysisTaskMuonResolution.cxx:1472 AliAnalysisTaskMuonResolution.cxx:1473 AliAnalysisTaskMuonResolution.cxx:1474 AliAnalysisTaskMuonResolution.cxx:1475 AliAnalysisTaskMuonResolution.cxx:1476 AliAnalysisTaskMuonResolution.cxx:1477 AliAnalysisTaskMuonResolution.cxx:1478 AliAnalysisTaskMuonResolution.cxx:1479 AliAnalysisTaskMuonResolution.cxx:1480 AliAnalysisTaskMuonResolution.cxx:1481 AliAnalysisTaskMuonResolution.cxx:1482 AliAnalysisTaskMuonResolution.cxx:1483 AliAnalysisTaskMuonResolution.cxx:1484 AliAnalysisTaskMuonResolution.cxx:1485 AliAnalysisTaskMuonResolution.cxx:1486 AliAnalysisTaskMuonResolution.cxx:1487 AliAnalysisTaskMuonResolution.cxx:1488 AliAnalysisTaskMuonResolution.cxx:1489 AliAnalysisTaskMuonResolution.cxx:1490 AliAnalysisTaskMuonResolution.cxx:1491 AliAnalysisTaskMuonResolution.cxx:1492 AliAnalysisTaskMuonResolution.cxx:1493 AliAnalysisTaskMuonResolution.cxx:1494 AliAnalysisTaskMuonResolution.cxx:1495 AliAnalysisTaskMuonResolution.cxx:1496 AliAnalysisTaskMuonResolution.cxx:1497 AliAnalysisTaskMuonResolution.cxx:1498 AliAnalysisTaskMuonResolution.cxx:1499 AliAnalysisTaskMuonResolution.cxx:1500 AliAnalysisTaskMuonResolution.cxx:1501 AliAnalysisTaskMuonResolution.cxx:1502 AliAnalysisTaskMuonResolution.cxx:1503 AliAnalysisTaskMuonResolution.cxx:1504 AliAnalysisTaskMuonResolution.cxx:1505 AliAnalysisTaskMuonResolution.cxx:1506 AliAnalysisTaskMuonResolution.cxx:1507 AliAnalysisTaskMuonResolution.cxx:1508 AliAnalysisTaskMuonResolution.cxx:1509 AliAnalysisTaskMuonResolution.cxx:1510 AliAnalysisTaskMuonResolution.cxx:1511 AliAnalysisTaskMuonResolution.cxx:1512 AliAnalysisTaskMuonResolution.cxx:1513 AliAnalysisTaskMuonResolution.cxx:1514 AliAnalysisTaskMuonResolution.cxx:1515 AliAnalysisTaskMuonResolution.cxx:1516 AliAnalysisTaskMuonResolution.cxx:1517 AliAnalysisTaskMuonResolution.cxx:1518 AliAnalysisTaskMuonResolution.cxx:1519 AliAnalysisTaskMuonResolution.cxx:1520 AliAnalysisTaskMuonResolution.cxx:1521 AliAnalysisTaskMuonResolution.cxx:1522 AliAnalysisTaskMuonResolution.cxx:1523 AliAnalysisTaskMuonResolution.cxx:1524 AliAnalysisTaskMuonResolution.cxx:1525 AliAnalysisTaskMuonResolution.cxx:1526 AliAnalysisTaskMuonResolution.cxx:1527 AliAnalysisTaskMuonResolution.cxx:1528 AliAnalysisTaskMuonResolution.cxx:1529 AliAnalysisTaskMuonResolution.cxx:1530 AliAnalysisTaskMuonResolution.cxx:1531 AliAnalysisTaskMuonResolution.cxx:1532 AliAnalysisTaskMuonResolution.cxx:1533 AliAnalysisTaskMuonResolution.cxx:1534 AliAnalysisTaskMuonResolution.cxx:1535 AliAnalysisTaskMuonResolution.cxx:1536 AliAnalysisTaskMuonResolution.cxx:1537 AliAnalysisTaskMuonResolution.cxx:1538 AliAnalysisTaskMuonResolution.cxx:1539 AliAnalysisTaskMuonResolution.cxx:1540 AliAnalysisTaskMuonResolution.cxx:1541 AliAnalysisTaskMuonResolution.cxx:1542 AliAnalysisTaskMuonResolution.cxx:1543 AliAnalysisTaskMuonResolution.cxx:1544 AliAnalysisTaskMuonResolution.cxx:1545 AliAnalysisTaskMuonResolution.cxx:1546 AliAnalysisTaskMuonResolution.cxx:1547 AliAnalysisTaskMuonResolution.cxx:1548 AliAnalysisTaskMuonResolution.cxx:1549 AliAnalysisTaskMuonResolution.cxx:1550 AliAnalysisTaskMuonResolution.cxx:1551 AliAnalysisTaskMuonResolution.cxx:1552 AliAnalysisTaskMuonResolution.cxx:1553 AliAnalysisTaskMuonResolution.cxx:1554 AliAnalysisTaskMuonResolution.cxx:1555 AliAnalysisTaskMuonResolution.cxx:1556 AliAnalysisTaskMuonResolution.cxx:1557 AliAnalysisTaskMuonResolution.cxx:1558 AliAnalysisTaskMuonResolution.cxx:1559 AliAnalysisTaskMuonResolution.cxx:1560 AliAnalysisTaskMuonResolution.cxx:1561 AliAnalysisTaskMuonResolution.cxx:1562 AliAnalysisTaskMuonResolution.cxx:1563 AliAnalysisTaskMuonResolution.cxx:1564 AliAnalysisTaskMuonResolution.cxx:1565 AliAnalysisTaskMuonResolution.cxx:1566 AliAnalysisTaskMuonResolution.cxx:1567 AliAnalysisTaskMuonResolution.cxx:1568 AliAnalysisTaskMuonResolution.cxx:1569 AliAnalysisTaskMuonResolution.cxx:1570 AliAnalysisTaskMuonResolution.cxx:1571 AliAnalysisTaskMuonResolution.cxx:1572 AliAnalysisTaskMuonResolution.cxx:1573 AliAnalysisTaskMuonResolution.cxx:1574 AliAnalysisTaskMuonResolution.cxx:1575 AliAnalysisTaskMuonResolution.cxx:1576 AliAnalysisTaskMuonResolution.cxx:1577 AliAnalysisTaskMuonResolution.cxx:1578 AliAnalysisTaskMuonResolution.cxx:1579 AliAnalysisTaskMuonResolution.cxx:1580 AliAnalysisTaskMuonResolution.cxx:1581 AliAnalysisTaskMuonResolution.cxx:1582 AliAnalysisTaskMuonResolution.cxx:1583 AliAnalysisTaskMuonResolution.cxx:1584 AliAnalysisTaskMuonResolution.cxx:1585 AliAnalysisTaskMuonResolution.cxx:1586 AliAnalysisTaskMuonResolution.cxx:1587 AliAnalysisTaskMuonResolution.cxx:1588 AliAnalysisTaskMuonResolution.cxx:1589 AliAnalysisTaskMuonResolution.cxx:1590 AliAnalysisTaskMuonResolution.cxx:1591 AliAnalysisTaskMuonResolution.cxx:1592 AliAnalysisTaskMuonResolution.cxx:1593 AliAnalysisTaskMuonResolution.cxx:1594 AliAnalysisTaskMuonResolution.cxx:1595 AliAnalysisTaskMuonResolution.cxx:1596 AliAnalysisTaskMuonResolution.cxx:1597 AliAnalysisTaskMuonResolution.cxx:1598 AliAnalysisTaskMuonResolution.cxx:1599 AliAnalysisTaskMuonResolution.cxx:1600 AliAnalysisTaskMuonResolution.cxx:1601 AliAnalysisTaskMuonResolution.cxx:1602 AliAnalysisTaskMuonResolution.cxx:1603 AliAnalysisTaskMuonResolution.cxx:1604 AliAnalysisTaskMuonResolution.cxx:1605 AliAnalysisTaskMuonResolution.cxx:1606 AliAnalysisTaskMuonResolution.cxx:1607 AliAnalysisTaskMuonResolution.cxx:1608 AliAnalysisTaskMuonResolution.cxx:1609 AliAnalysisTaskMuonResolution.cxx:1610 AliAnalysisTaskMuonResolution.cxx:1611 AliAnalysisTaskMuonResolution.cxx:1612 AliAnalysisTaskMuonResolution.cxx:1613 AliAnalysisTaskMuonResolution.cxx:1614 AliAnalysisTaskMuonResolution.cxx:1615 AliAnalysisTaskMuonResolution.cxx:1616 AliAnalysisTaskMuonResolution.cxx:1617 AliAnalysisTaskMuonResolution.cxx:1618 AliAnalysisTaskMuonResolution.cxx:1619 AliAnalysisTaskMuonResolution.cxx:1620 AliAnalysisTaskMuonResolution.cxx:1621 AliAnalysisTaskMuonResolution.cxx:1622 AliAnalysisTaskMuonResolution.cxx:1623 AliAnalysisTaskMuonResolution.cxx:1624 AliAnalysisTaskMuonResolution.cxx:1625 AliAnalysisTaskMuonResolution.cxx:1626 AliAnalysisTaskMuonResolution.cxx:1627 AliAnalysisTaskMuonResolution.cxx:1628 AliAnalysisTaskMuonResolution.cxx:1629 AliAnalysisTaskMuonResolution.cxx:1630 AliAnalysisTaskMuonResolution.cxx:1631 AliAnalysisTaskMuonResolution.cxx:1632 AliAnalysisTaskMuonResolution.cxx:1633 AliAnalysisTaskMuonResolution.cxx:1634 AliAnalysisTaskMuonResolution.cxx:1635 AliAnalysisTaskMuonResolution.cxx:1636 AliAnalysisTaskMuonResolution.cxx:1637 AliAnalysisTaskMuonResolution.cxx:1638 AliAnalysisTaskMuonResolution.cxx:1639 AliAnalysisTaskMuonResolution.cxx:1640 AliAnalysisTaskMuonResolution.cxx:1641 AliAnalysisTaskMuonResolution.cxx:1642 AliAnalysisTaskMuonResolution.cxx:1643 AliAnalysisTaskMuonResolution.cxx:1644 AliAnalysisTaskMuonResolution.cxx:1645 AliAnalysisTaskMuonResolution.cxx:1646 AliAnalysisTaskMuonResolution.cxx:1647 AliAnalysisTaskMuonResolution.cxx:1648 AliAnalysisTaskMuonResolution.cxx:1649 AliAnalysisTaskMuonResolution.cxx:1650 AliAnalysisTaskMuonResolution.cxx:1651 AliAnalysisTaskMuonResolution.cxx:1652 AliAnalysisTaskMuonResolution.cxx:1653 AliAnalysisTaskMuonResolution.cxx:1654 AliAnalysisTaskMuonResolution.cxx:1655 AliAnalysisTaskMuonResolution.cxx:1656 AliAnalysisTaskMuonResolution.cxx:1657 AliAnalysisTaskMuonResolution.cxx:1658 AliAnalysisTaskMuonResolution.cxx:1659 AliAnalysisTaskMuonResolution.cxx:1660 AliAnalysisTaskMuonResolution.cxx:1661 AliAnalysisTaskMuonResolution.cxx:1662 AliAnalysisTaskMuonResolution.cxx:1663 AliAnalysisTaskMuonResolution.cxx:1664 AliAnalysisTaskMuonResolution.cxx:1665 AliAnalysisTaskMuonResolution.cxx:1666 AliAnalysisTaskMuonResolution.cxx:1667 AliAnalysisTaskMuonResolution.cxx:1668 AliAnalysisTaskMuonResolution.cxx:1669 AliAnalysisTaskMuonResolution.cxx:1670 AliAnalysisTaskMuonResolution.cxx:1671 AliAnalysisTaskMuonResolution.cxx:1672 AliAnalysisTaskMuonResolution.cxx:1673 AliAnalysisTaskMuonResolution.cxx:1674 AliAnalysisTaskMuonResolution.cxx:1675 AliAnalysisTaskMuonResolution.cxx:1676 AliAnalysisTaskMuonResolution.cxx:1677 AliAnalysisTaskMuonResolution.cxx:1678 AliAnalysisTaskMuonResolution.cxx:1679 AliAnalysisTaskMuonResolution.cxx:1680 AliAnalysisTaskMuonResolution.cxx:1681 AliAnalysisTaskMuonResolution.cxx:1682 AliAnalysisTaskMuonResolution.cxx:1683 AliAnalysisTaskMuonResolution.cxx:1684 AliAnalysisTaskMuonResolution.cxx:1685 AliAnalysisTaskMuonResolution.cxx:1686 AliAnalysisTaskMuonResolution.cxx:1687 AliAnalysisTaskMuonResolution.cxx:1688 AliAnalysisTaskMuonResolution.cxx:1689 AliAnalysisTaskMuonResolution.cxx:1690 AliAnalysisTaskMuonResolution.cxx:1691 AliAnalysisTaskMuonResolution.cxx:1692 AliAnalysisTaskMuonResolution.cxx:1693 AliAnalysisTaskMuonResolution.cxx:1694 AliAnalysisTaskMuonResolution.cxx:1695 AliAnalysisTaskMuonResolution.cxx:1696 AliAnalysisTaskMuonResolution.cxx:1697 AliAnalysisTaskMuonResolution.cxx:1698 AliAnalysisTaskMuonResolution.cxx:1699 AliAnalysisTaskMuonResolution.cxx:1700 AliAnalysisTaskMuonResolution.cxx:1701 AliAnalysisTaskMuonResolution.cxx:1702 AliAnalysisTaskMuonResolution.cxx:1703 AliAnalysisTaskMuonResolution.cxx:1704 AliAnalysisTaskMuonResolution.cxx:1705 AliAnalysisTaskMuonResolution.cxx:1706 AliAnalysisTaskMuonResolution.cxx:1707 AliAnalysisTaskMuonResolution.cxx:1708 AliAnalysisTaskMuonResolution.cxx:1709 AliAnalysisTaskMuonResolution.cxx:1710 AliAnalysisTaskMuonResolution.cxx:1711 AliAnalysisTaskMuonResolution.cxx:1712 AliAnalysisTaskMuonResolution.cxx:1713 AliAnalysisTaskMuonResolution.cxx:1714 AliAnalysisTaskMuonResolution.cxx:1715 AliAnalysisTaskMuonResolution.cxx:1716 AliAnalysisTaskMuonResolution.cxx:1717 AliAnalysisTaskMuonResolution.cxx:1718 AliAnalysisTaskMuonResolution.cxx:1719 AliAnalysisTaskMuonResolution.cxx:1720 AliAnalysisTaskMuonResolution.cxx:1721 AliAnalysisTaskMuonResolution.cxx:1722 AliAnalysisTaskMuonResolution.cxx:1723 AliAnalysisTaskMuonResolution.cxx:1724 AliAnalysisTaskMuonResolution.cxx:1725 AliAnalysisTaskMuonResolution.cxx:1726 AliAnalysisTaskMuonResolution.cxx:1727 AliAnalysisTaskMuonResolution.cxx:1728 AliAnalysisTaskMuonResolution.cxx:1729 AliAnalysisTaskMuonResolution.cxx:1730 AliAnalysisTaskMuonResolution.cxx:1731 AliAnalysisTaskMuonResolution.cxx:1732 AliAnalysisTaskMuonResolution.cxx:1733 AliAnalysisTaskMuonResolution.cxx:1734 AliAnalysisTaskMuonResolution.cxx:1735 AliAnalysisTaskMuonResolution.cxx:1736 AliAnalysisTaskMuonResolution.cxx:1737 AliAnalysisTaskMuonResolution.cxx:1738 AliAnalysisTaskMuonResolution.cxx:1739 AliAnalysisTaskMuonResolution.cxx:1740 AliAnalysisTaskMuonResolution.cxx:1741 AliAnalysisTaskMuonResolution.cxx:1742 AliAnalysisTaskMuonResolution.cxx:1743 AliAnalysisTaskMuonResolution.cxx:1744 AliAnalysisTaskMuonResolution.cxx:1745 AliAnalysisTaskMuonResolution.cxx:1746 AliAnalysisTaskMuonResolution.cxx:1747 AliAnalysisTaskMuonResolution.cxx:1748 AliAnalysisTaskMuonResolution.cxx:1749 AliAnalysisTaskMuonResolution.cxx:1750 AliAnalysisTaskMuonResolution.cxx:1751 AliAnalysisTaskMuonResolution.cxx:1752 AliAnalysisTaskMuonResolution.cxx:1753 AliAnalysisTaskMuonResolution.cxx:1754 AliAnalysisTaskMuonResolution.cxx:1755 AliAnalysisTaskMuonResolution.cxx:1756 AliAnalysisTaskMuonResolution.cxx:1757 AliAnalysisTaskMuonResolution.cxx:1758 AliAnalysisTaskMuonResolution.cxx:1759 AliAnalysisTaskMuonResolution.cxx:1760 AliAnalysisTaskMuonResolution.cxx:1761 AliAnalysisTaskMuonResolution.cxx:1762 AliAnalysisTaskMuonResolution.cxx:1763 AliAnalysisTaskMuonResolution.cxx:1764 AliAnalysisTaskMuonResolution.cxx:1765 AliAnalysisTaskMuonResolution.cxx:1766 AliAnalysisTaskMuonResolution.cxx:1767 AliAnalysisTaskMuonResolution.cxx:1768 AliAnalysisTaskMuonResolution.cxx:1769 AliAnalysisTaskMuonResolution.cxx:1770 AliAnalysisTaskMuonResolution.cxx:1771 AliAnalysisTaskMuonResolution.cxx:1772 AliAnalysisTaskMuonResolution.cxx:1773 AliAnalysisTaskMuonResolution.cxx:1774 AliAnalysisTaskMuonResolution.cxx:1775 AliAnalysisTaskMuonResolution.cxx:1776 AliAnalysisTaskMuonResolution.cxx:1777 AliAnalysisTaskMuonResolution.cxx:1778 AliAnalysisTaskMuonResolution.cxx:1779 AliAnalysisTaskMuonResolution.cxx:1780 AliAnalysisTaskMuonResolution.cxx:1781 AliAnalysisTaskMuonResolution.cxx:1782 AliAnalysisTaskMuonResolution.cxx:1783 AliAnalysisTaskMuonResolution.cxx:1784 AliAnalysisTaskMuonResolution.cxx:1785 AliAnalysisTaskMuonResolution.cxx:1786 AliAnalysisTaskMuonResolution.cxx:1787 AliAnalysisTaskMuonResolution.cxx:1788 AliAnalysisTaskMuonResolution.cxx:1789 AliAnalysisTaskMuonResolution.cxx:1790 AliAnalysisTaskMuonResolution.cxx:1791 AliAnalysisTaskMuonResolution.cxx:1792 AliAnalysisTaskMuonResolution.cxx:1793 AliAnalysisTaskMuonResolution.cxx:1794 AliAnalysisTaskMuonResolution.cxx:1795 AliAnalysisTaskMuonResolution.cxx:1796 AliAnalysisTaskMuonResolution.cxx:1797 AliAnalysisTaskMuonResolution.cxx:1798 AliAnalysisTaskMuonResolution.cxx:1799 AliAnalysisTaskMuonResolution.cxx:1800 AliAnalysisTaskMuonResolution.cxx:1801 AliAnalysisTaskMuonResolution.cxx:1802 AliAnalysisTaskMuonResolution.cxx:1803 AliAnalysisTaskMuonResolution.cxx:1804 AliAnalysisTaskMuonResolution.cxx:1805 AliAnalysisTaskMuonResolution.cxx:1806 AliAnalysisTaskMuonResolution.cxx:1807 AliAnalysisTaskMuonResolution.cxx:1808 AliAnalysisTaskMuonResolution.cxx:1809 AliAnalysisTaskMuonResolution.cxx:1810 AliAnalysisTaskMuonResolution.cxx:1811 AliAnalysisTaskMuonResolution.cxx:1812 AliAnalysisTaskMuonResolution.cxx:1813 AliAnalysisTaskMuonResolution.cxx:1814 AliAnalysisTaskMuonResolution.cxx:1815 AliAnalysisTaskMuonResolution.cxx:1816 AliAnalysisTaskMuonResolution.cxx:1817 AliAnalysisTaskMuonResolution.cxx:1818 AliAnalysisTaskMuonResolution.cxx:1819 AliAnalysisTaskMuonResolution.cxx:1820 AliAnalysisTaskMuonResolution.cxx:1821 AliAnalysisTaskMuonResolution.cxx:1822 AliAnalysisTaskMuonResolution.cxx:1823 AliAnalysisTaskMuonResolution.cxx:1824 AliAnalysisTaskMuonResolution.cxx:1825 AliAnalysisTaskMuonResolution.cxx:1826 AliAnalysisTaskMuonResolution.cxx:1827 AliAnalysisTaskMuonResolution.cxx:1828 AliAnalysisTaskMuonResolution.cxx:1829 AliAnalysisTaskMuonResolution.cxx:1830 AliAnalysisTaskMuonResolution.cxx:1831 AliAnalysisTaskMuonResolution.cxx:1832 AliAnalysisTaskMuonResolution.cxx:1833 AliAnalysisTaskMuonResolution.cxx:1834 AliAnalysisTaskMuonResolution.cxx:1835 AliAnalysisTaskMuonResolution.cxx:1836 AliAnalysisTaskMuonResolution.cxx:1837 AliAnalysisTaskMuonResolution.cxx:1838 AliAnalysisTaskMuonResolution.cxx:1839 AliAnalysisTaskMuonResolution.cxx:1840 AliAnalysisTaskMuonResolution.cxx:1841 AliAnalysisTaskMuonResolution.cxx:1842 AliAnalysisTaskMuonResolution.cxx:1843 AliAnalysisTaskMuonResolution.cxx:1844 AliAnalysisTaskMuonResolution.cxx:1845 AliAnalysisTaskMuonResolution.cxx:1846 AliAnalysisTaskMuonResolution.cxx:1847 AliAnalysisTaskMuonResolution.cxx:1848 AliAnalysisTaskMuonResolution.cxx:1849 AliAnalysisTaskMuonResolution.cxx:1850 AliAnalysisTaskMuonResolution.cxx:1851 AliAnalysisTaskMuonResolution.cxx:1852 AliAnalysisTaskMuonResolution.cxx:1853 AliAnalysisTaskMuonResolution.cxx:1854 AliAnalysisTaskMuonResolution.cxx:1855 AliAnalysisTaskMuonResolution.cxx:1856 AliAnalysisTaskMuonResolution.cxx:1857 AliAnalysisTaskMuonResolution.cxx:1858 AliAnalysisTaskMuonResolution.cxx:1859 AliAnalysisTaskMuonResolution.cxx:1860 AliAnalysisTaskMuonResolution.cxx:1861 AliAnalysisTaskMuonResolution.cxx:1862 AliAnalysisTaskMuonResolution.cxx:1863 AliAnalysisTaskMuonResolution.cxx:1864 AliAnalysisTaskMuonResolution.cxx:1865 AliAnalysisTaskMuonResolution.cxx:1866 AliAnalysisTaskMuonResolution.cxx:1867 AliAnalysisTaskMuonResolution.cxx:1868 AliAnalysisTaskMuonResolution.cxx:1869 AliAnalysisTaskMuonResolution.cxx:1870 AliAnalysisTaskMuonResolution.cxx:1871 AliAnalysisTaskMuonResolution.cxx:1872 AliAnalysisTaskMuonResolution.cxx:1873 AliAnalysisTaskMuonResolution.cxx:1874 AliAnalysisTaskMuonResolution.cxx:1875 AliAnalysisTaskMuonResolution.cxx:1876 AliAnalysisTaskMuonResolution.cxx:1877 AliAnalysisTaskMuonResolution.cxx:1878 AliAnalysisTaskMuonResolution.cxx:1879 AliAnalysisTaskMuonResolution.cxx:1880 AliAnalysisTaskMuonResolution.cxx:1881 AliAnalysisTaskMuonResolution.cxx:1882 AliAnalysisTaskMuonResolution.cxx:1883 AliAnalysisTaskMuonResolution.cxx:1884 AliAnalysisTaskMuonResolution.cxx:1885 AliAnalysisTaskMuonResolution.cxx:1886 AliAnalysisTaskMuonResolution.cxx:1887 AliAnalysisTaskMuonResolution.cxx:1888 AliAnalysisTaskMuonResolution.cxx:1889 AliAnalysisTaskMuonResolution.cxx:1890 AliAnalysisTaskMuonResolution.cxx:1891 AliAnalysisTaskMuonResolution.cxx:1892 AliAnalysisTaskMuonResolution.cxx:1893 AliAnalysisTaskMuonResolution.cxx:1894 AliAnalysisTaskMuonResolution.cxx:1895 AliAnalysisTaskMuonResolution.cxx:1896 AliAnalysisTaskMuonResolution.cxx:1897 AliAnalysisTaskMuonResolution.cxx:1898 AliAnalysisTaskMuonResolution.cxx:1899 AliAnalysisTaskMuonResolution.cxx:1900 AliAnalysisTaskMuonResolution.cxx:1901 AliAnalysisTaskMuonResolution.cxx:1902 AliAnalysisTaskMuonResolution.cxx:1903 AliAnalysisTaskMuonResolution.cxx:1904 AliAnalysisTaskMuonResolution.cxx:1905 AliAnalysisTaskMuonResolution.cxx:1906 AliAnalysisTaskMuonResolution.cxx:1907 AliAnalysisTaskMuonResolution.cxx:1908 AliAnalysisTaskMuonResolution.cxx:1909 AliAnalysisTaskMuonResolution.cxx:1910 AliAnalysisTaskMuonResolution.cxx:1911 AliAnalysisTaskMuonResolution.cxx:1912 AliAnalysisTaskMuonResolution.cxx:1913 AliAnalysisTaskMuonResolution.cxx:1914 AliAnalysisTaskMuonResolution.cxx:1915 AliAnalysisTaskMuonResolution.cxx:1916 AliAnalysisTaskMuonResolution.cxx:1917 AliAnalysisTaskMuonResolution.cxx:1918 AliAnalysisTaskMuonResolution.cxx:1919 AliAnalysisTaskMuonResolution.cxx:1920 AliAnalysisTaskMuonResolution.cxx:1921 AliAnalysisTaskMuonResolution.cxx:1922 AliAnalysisTaskMuonResolution.cxx:1923 AliAnalysisTaskMuonResolution.cxx:1924 AliAnalysisTaskMuonResolution.cxx:1925 AliAnalysisTaskMuonResolution.cxx:1926 AliAnalysisTaskMuonResolution.cxx:1927 AliAnalysisTaskMuonResolution.cxx:1928 AliAnalysisTaskMuonResolution.cxx:1929 AliAnalysisTaskMuonResolution.cxx:1930 AliAnalysisTaskMuonResolution.cxx:1931 AliAnalysisTaskMuonResolution.cxx:1932 AliAnalysisTaskMuonResolution.cxx:1933 AliAnalysisTaskMuonResolution.cxx:1934 AliAnalysisTaskMuonResolution.cxx:1935 AliAnalysisTaskMuonResolution.cxx:1936 AliAnalysisTaskMuonResolution.cxx:1937 AliAnalysisTaskMuonResolution.cxx:1938 AliAnalysisTaskMuonResolution.cxx:1939 AliAnalysisTaskMuonResolution.cxx:1940 AliAnalysisTaskMuonResolution.cxx:1941 AliAnalysisTaskMuonResolution.cxx:1942 AliAnalysisTaskMuonResolution.cxx:1943 AliAnalysisTaskMuonResolution.cxx:1944 AliAnalysisTaskMuonResolution.cxx:1945 AliAnalysisTaskMuonResolution.cxx:1946 AliAnalysisTaskMuonResolution.cxx:1947 AliAnalysisTaskMuonResolution.cxx:1948 AliAnalysisTaskMuonResolution.cxx:1949 AliAnalysisTaskMuonResolution.cxx:1950 AliAnalysisTaskMuonResolution.cxx:1951 AliAnalysisTaskMuonResolution.cxx:1952 AliAnalysisTaskMuonResolution.cxx:1953 AliAnalysisTaskMuonResolution.cxx:1954 AliAnalysisTaskMuonResolution.cxx:1955 AliAnalysisTaskMuonResolution.cxx:1956 AliAnalysisTaskMuonResolution.cxx:1957 AliAnalysisTaskMuonResolution.cxx:1958 AliAnalysisTaskMuonResolution.cxx:1959 AliAnalysisTaskMuonResolution.cxx:1960 AliAnalysisTaskMuonResolution.cxx:1961 AliAnalysisTaskMuonResolution.cxx:1962 AliAnalysisTaskMuonResolution.cxx:1963 AliAnalysisTaskMuonResolution.cxx:1964 AliAnalysisTaskMuonResolution.cxx:1965 AliAnalysisTaskMuonResolution.cxx:1966 AliAnalysisTaskMuonResolution.cxx:1967 AliAnalysisTaskMuonResolution.cxx:1968 AliAnalysisTaskMuonResolution.cxx:1969 AliAnalysisTaskMuonResolution.cxx:1970 AliAnalysisTaskMuonResolution.cxx:1971 AliAnalysisTaskMuonResolution.cxx:1972 AliAnalysisTaskMuonResolution.cxx:1973 AliAnalysisTaskMuonResolution.cxx:1974 AliAnalysisTaskMuonResolution.cxx:1975 AliAnalysisTaskMuonResolution.cxx:1976 AliAnalysisTaskMuonResolution.cxx:1977 AliAnalysisTaskMuonResolution.cxx:1978 AliAnalysisTaskMuonResolution.cxx:1979 AliAnalysisTaskMuonResolution.cxx:1980 AliAnalysisTaskMuonResolution.cxx:1981 AliAnalysisTaskMuonResolution.cxx:1982 AliAnalysisTaskMuonResolution.cxx:1983 AliAnalysisTaskMuonResolution.cxx:1984 AliAnalysisTaskMuonResolution.cxx:1985 AliAnalysisTaskMuonResolution.cxx:1986 AliAnalysisTaskMuonResolution.cxx:1987 AliAnalysisTaskMuonResolution.cxx:1988 AliAnalysisTaskMuonResolution.cxx:1989 AliAnalysisTaskMuonResolution.cxx:1990 AliAnalysisTaskMuonResolution.cxx:1991 AliAnalysisTaskMuonResolution.cxx:1992 AliAnalysisTaskMuonResolution.cxx:1993 AliAnalysisTaskMuonResolution.cxx:1994 AliAnalysisTaskMuonResolution.cxx:1995 AliAnalysisTaskMuonResolution.cxx:1996 AliAnalysisTaskMuonResolution.cxx:1997 AliAnalysisTaskMuonResolution.cxx:1998 AliAnalysisTaskMuonResolution.cxx:1999 AliAnalysisTaskMuonResolution.cxx:2000 AliAnalysisTaskMuonResolution.cxx:2001 AliAnalysisTaskMuonResolution.cxx:2002 AliAnalysisTaskMuonResolution.cxx:2003 AliAnalysisTaskMuonResolution.cxx:2004 AliAnalysisTaskMuonResolution.cxx:2005 AliAnalysisTaskMuonResolution.cxx:2006 AliAnalysisTaskMuonResolution.cxx:2007 AliAnalysisTaskMuonResolution.cxx:2008 AliAnalysisTaskMuonResolution.cxx:2009 AliAnalysisTaskMuonResolution.cxx:2010 AliAnalysisTaskMuonResolution.cxx:2011 AliAnalysisTaskMuonResolution.cxx:2012 AliAnalysisTaskMuonResolution.cxx:2013 AliAnalysisTaskMuonResolution.cxx:2014 AliAnalysisTaskMuonResolution.cxx:2015 AliAnalysisTaskMuonResolution.cxx:2016 AliAnalysisTaskMuonResolution.cxx:2017 AliAnalysisTaskMuonResolution.cxx:2018 AliAnalysisTaskMuonResolution.cxx:2019 AliAnalysisTaskMuonResolution.cxx:2020 AliAnalysisTaskMuonResolution.cxx:2021 AliAnalysisTaskMuonResolution.cxx:2022 AliAnalysisTaskMuonResolution.cxx:2023 AliAnalysisTaskMuonResolution.cxx:2024 AliAnalysisTaskMuonResolution.cxx:2025 AliAnalysisTaskMuonResolution.cxx:2026 AliAnalysisTaskMuonResolution.cxx:2027 AliAnalysisTaskMuonResolution.cxx:2028 AliAnalysisTaskMuonResolution.cxx:2029 AliAnalysisTaskMuonResolution.cxx:2030