//
Double_t containerInput[kNvars];
AliVParticle* track = 0x0;
- for ( Int_t istep = 0; istep<2; ++istep ) {
- Int_t nTracks = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetNTracks(InputEvent()) : AliAnalysisMuonUtility::GetNMCTracks(InputEvent(),MCEvent());
+ Int_t nSteps = MCEvent() ? 2 : 1;
+ for ( Int_t istep = 0; istep<nSteps; ++istep ) {
+ Int_t nTracks = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetNTracks(InputEvent()) : MCEvent()->GetNumberOfTracks();
for (Int_t itrack = 0; itrack < nTracks; itrack++) {
- track = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetTrack(itrack,InputEvent()) : AliAnalysisMuonUtility::GetMCTrack(itrack,InputEvent(),MCEvent());
+ track = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetTrack(itrack,InputEvent()) : MCEvent()->GetTrack(itrack);
Bool_t isSelected = ( istep == kStepReconstructed ) ? fMuonTrackCuts->IsSelected(track) : ( TMath::Abs(track->PdgCode()) == 13 );
if ( ! isSelected ) continue;
- Int_t trackSrc = ( istep == kStepReconstructed ) ? GetParticleType(track) : RecoTrackMother(track);
+ Int_t trackSrc = GetParticleType(track);
containerInput[kHvarPt] = track->Pt();
TString graphTypeName[3] = {"raw","correctStat","correctSyst"};
Int_t drawOrder[3] = {0, 2, 1};
TString drawOpt[3] = {"apz","pz","a2"};
- Int_t nTypes = ( hasResolution ) ? 3 : 1;
+ const Int_t kNtypes = ( hasResolution ) ? 3 : 1;
TString histoName = "", histoPattern = "";
///////////
for ( Int_t istep=0; istep<kNsteps; istep++ ) {
for ( Int_t isrc = firstSrc; isrc <= lastSrc; ++isrc ) {
TString baseName = Form("%s_%s", stepName[istep].Data(), fSrcKeys->At(isrc)->GetName());
- TGraphErrors* flowVsCentrality[3];
- for ( Int_t itype=0; itype<nTypes; itype++ ) {
+ TGraphErrors* flowVsCentrality[kNtypes];
+ for ( Int_t itype=0; itype<kNtypes; itype++ ) {
histoName = Form("v2VsCentrality_%s_%s", baseName.Data(), graphTypeName[itype].Data());
flowVsCentrality[itype] = new TGraphErrors();
flowVsCentrality[itype]->SetName(histoName.Data());
TAxis* ptAxis = histo2D->GetYaxis();
Int_t ipad = 0;
- TGraphErrors* flowVsPt[3];
- for ( Int_t itype=0; itype<nTypes; itype++ ) {
+ TGraphErrors* flowVsPt[kNtypes];
+ for ( Int_t itype=0; itype<kNtypes; itype++ ) {
histoName = Form("v2VsPt_%s_%s", baseNameCent.Data(), graphTypeName[itype].Data());
flowVsPt[itype] = new TGraphErrors();
flowVsPt[itype]->SetName(histoName.Data());
func->FixParameter(1,0.);
}
projHisto->Fit(func,"R");
- for ( Int_t itype=0; itype<nTypes; itype++ ) {
+ for ( Int_t itype=0; itype<kNtypes; itype++ ) {
TGraphErrors* currGraph = ( ipt == 0 ) ? flowVsCentrality[itype] : flowVsPt[itype];
Double_t resoVal = ( itype == 0 ) ? 1. : wgtReso[0][idx];
Double_t resoErr = ( itype == 0 ) ? 0. : wgtReso[itype][idx];
currGraph->SetPointError(ipoint,xErr,yErr);
} // loop on type
} // loop on pt bins
- for ( Int_t itype=0; itype<nTypes; itype++ ) {
+ for ( Int_t itype=0; itype<kNtypes; itype++ ) {
Int_t currType = drawOrder[itype];
if ( itype < 2 ) {
currName = flowVsPt[currType]->GetName();
outList.Add(flowVsPt[currType]);
} // loop on types
} // loop on centrality
- for ( Int_t itype=0; itype<nTypes; itype++ ) {
+ for ( Int_t itype=0; itype<kNtypes; itype++ ) {
Int_t currType = drawOrder[itype];
if ( flowVsCentrality[currType]->GetN() == 0 ) continue;
if ( itype < 2 ) {
} // loop on track sources
} // loop on steps
+ delete centralityClasses;
//////////////////////
// Event statistics //