From 0b7f49e9a1e4a2cae41997952e38b10dbff86e67 Mon Sep 17 00:00:00 2001 From: snelling Date: Wed, 21 May 2008 15:22:21 +0000 Subject: [PATCH] enabling MC comparison --- PWG2/FLOW/AliAnalysisTaskLYZEventPlane.cxx | 58 ++- PWG2/FLOW/AliAnalysisTaskLeeYangZeros.cxx | 58 ++- PWG2/FLOW/AliAnalysisTaskMCEventPlane.cxx | 39 +- PWG2/FLOW/AliFlowEventSimpleMaker.cxx | 363 ++++++++---------- PWG2/FLOW/AliFlowEventSimpleMaker.h | 3 + .../macros/runAliAnalysisTaskLYZEventPlane.C | 28 +- .../macros/runAliAnalysisTaskLeeYangZeros.C | 30 +- .../macros/runAliAnalysisTaskMCEventPlane.C | 28 +- PWG2/PWG2flowLinkDef.h | 2 + PWG2/libPWG2flow.pkg | 2 + 10 files changed, 351 insertions(+), 260 deletions(-) diff --git a/PWG2/FLOW/AliAnalysisTaskLYZEventPlane.cxx b/PWG2/FLOW/AliAnalysisTaskLYZEventPlane.cxx index c9b8347a19d..c1c72b931c0 100644 --- a/PWG2/FLOW/AliAnalysisTaskLYZEventPlane.cxx +++ b/PWG2/FLOW/AliAnalysisTaskLYZEventPlane.cxx @@ -91,7 +91,7 @@ void AliAnalysisTaskLYZEventPlane::ConnectInputData(Option_t *) fESD = esdH->GetEvent(); } } - else if (fAnalysisType == "ESD") { + else if (fAnalysisType == "ESD" || fAnalysisType == "ESDMC0" || fAnalysisType == "ESDMC1" ) { tree->SetBranchStatus("*", kFALSE); tree->SetBranchStatus("Tracks.*", kTRUE); @@ -113,7 +113,7 @@ void AliAnalysisTaskLYZEventPlane::ConnectInputData(Option_t *) } } else { - Printf("Wrong analysis type: Only ESD, AOD and MC types are allowed!"); + Printf("Wrong analysis type: Only ESD, ESDMC0, ESDMC1, AOD and MC types are allowed!"); exit(1); } @@ -126,8 +126,8 @@ void AliAnalysisTaskLYZEventPlane::CreateOutputObjects() // Called once cout<<"AliAnalysisTaskLYZEventPlane::CreateOutputObjects()"<Make(fEvent,fLyzEp); delete fEvent; } + else if (fAnalysisType == "ESDMC0") { + if (!fESD) { + Printf("ERROR: fESD not available"); + return; + } + Printf("There are %d tracks in this event", fESD->GetNumberOfTracks()); + + AliMCEventHandler* eventHandler = dynamic_cast (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); + if (!eventHandler) { + Printf("ERROR: Could not retrieve MC event handler"); + return; + } + + AliMCEvent* mcEvent = eventHandler->MCEvent(); + if (!mcEvent) { + Printf("ERROR: Could not retrieve MC event"); + return; + } + + //lee yang zeros analysis + AliFlowEventSimple* fEvent = fEventMaker->FillTracks(fESD,mcEvent,0); //0 = kine from ESD, 1 = kine from MC + fLyz->Make(fEvent,fLyzEp); + delete fEvent; + //delete mcEvent; + } + else if (fAnalysisType == "ESDMC1") { + if (!fESD) { + Printf("ERROR: fESD not available"); + return; + } + Printf("There are %d tracks in this event", fESD->GetNumberOfTracks()); + + AliMCEventHandler* eventHandler = dynamic_cast (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); + if (!eventHandler) { + Printf("ERROR: Could not retrieve MC event handler"); + return; + } + + AliMCEvent* mcEvent = eventHandler->MCEvent(); + if (!mcEvent) { + Printf("ERROR: Could not retrieve MC event"); + return; + } + + //lee yang zeros analysis + AliFlowEventSimple* fEvent = fEventMaker->FillTracks(fESD,mcEvent,1); //0 = kine from ESD, 1 = kine from MC + fLyz->Make(fEvent,fLyzEp); + delete fEvent; + //delete mcEvent; + } else if (fAnalysisType == "AOD") { if (!fAOD) { Printf("ERROR: fAOD not available"); diff --git a/PWG2/FLOW/AliAnalysisTaskLeeYangZeros.cxx b/PWG2/FLOW/AliAnalysisTaskLeeYangZeros.cxx index 87e1ee7d750..3f99f5fcfd7 100644 --- a/PWG2/FLOW/AliAnalysisTaskLeeYangZeros.cxx +++ b/PWG2/FLOW/AliAnalysisTaskLeeYangZeros.cxx @@ -89,7 +89,7 @@ void AliAnalysisTaskLeeYangZeros::ConnectInputData(Option_t *) fESD = esdH->GetEvent(); } } - else if (fAnalysisType == "ESD") { + else if (fAnalysisType == "ESD" || fAnalysisType == "ESDMC0" || fAnalysisType == "ESDMC1" ) { tree->SetBranchStatus("*", kFALSE); tree->SetBranchStatus("Tracks.*", kTRUE); @@ -111,7 +111,7 @@ void AliAnalysisTaskLeeYangZeros::ConnectInputData(Option_t *) } } else { - Printf("Wrong analysis type: Only ESD, AOD and MC types are allowed!"); + Printf("Wrong analysis type: Only ESD, ESDMC0, ESDMC1, AOD and MC types are allowed!"); } } @@ -123,8 +123,8 @@ void AliAnalysisTaskLeeYangZeros::CreateOutputObjects() // Called once cout<<"AliAnalysisTaskLeeYangZeros::CreateOutputObjects()"<Make(fEvent); delete fEvent; } + else if (fAnalysisType == "ESDMC0") { + if (!fESD) { + Printf("ERROR: fESD not available"); + return; + } + Printf("There are %d tracks in this event", fESD->GetNumberOfTracks()); + + AliMCEventHandler* eventHandler = dynamic_cast (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); + if (!eventHandler) { + Printf("ERROR: Could not retrieve MC event handler"); + return; + } + + AliMCEvent* mcEvent = eventHandler->MCEvent(); + if (!mcEvent) { + Printf("ERROR: Could not retrieve MC event"); + return; + } + + //lee yang zeros analysis + AliFlowEventSimple* fEvent = fEventMaker->FillTracks(fESD,mcEvent,0); //0 = kine from ESD, 1 = kine from MC + fLyz->Make(fEvent); + delete fEvent; + //delete mcEvent; + } + else if (fAnalysisType == "ESDMC1") { + if (!fESD) { + Printf("ERROR: fESD not available"); + return; + } + Printf("There are %d tracks in this event", fESD->GetNumberOfTracks()); + + AliMCEventHandler* eventHandler = dynamic_cast (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); + if (!eventHandler) { + Printf("ERROR: Could not retrieve MC event handler"); + return; + } + + AliMCEvent* mcEvent = eventHandler->MCEvent(); + if (!mcEvent) { + Printf("ERROR: Could not retrieve MC event"); + return; + } + + //lee yang zeros analysis + AliFlowEventSimple* fEvent = fEventMaker->FillTracks(fESD,mcEvent,1); //0 = kine from ESD, 1 = kine from MC + fLyz->Make(fEvent); + delete fEvent; + //delete mcEvent; + } else if (fAnalysisType == "AOD") { if (!fAOD) { Printf("ERROR: fAOD not available"); diff --git a/PWG2/FLOW/AliAnalysisTaskMCEventPlane.cxx b/PWG2/FLOW/AliAnalysisTaskMCEventPlane.cxx index 8d3f3163469..20f5c4bb485 100644 --- a/PWG2/FLOW/AliAnalysisTaskMCEventPlane.cxx +++ b/PWG2/FLOW/AliAnalysisTaskMCEventPlane.cxx @@ -78,6 +78,7 @@ void AliAnalysisTaskMCEventPlane::ConnectInputData(Option_t *) Printf("ERROR: Could not read chain from input slot 0"); } else { // Disable all branches and enable only the needed ones + if (fAnalysisType == "MC") { cout<<"!!!!!reading MC kinematics only"<GetEvent(); } } - else if (fAnalysisType == "ESD") { + + else if (fAnalysisType == "ESD" || fAnalysisType == "ESDMC0" || fAnalysisType == "ESDMC1" ) { cout<<"!!!!!reading the ESD only"<SetBranchStatus("*", kFALSE); tree->SetBranchStatus("Tracks.*", kTRUE); @@ -103,6 +105,7 @@ void AliAnalysisTaskMCEventPlane::ConnectInputData(Option_t *) } else fESD = esdH->GetEvent(); } + else if (fAnalysisType == "AOD") { cout<<"!!!!!reading the AOD only"< (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()); @@ -115,7 +118,7 @@ void AliAnalysisTaskMCEventPlane::ConnectInputData(Option_t *) } } else { - Printf("!!!!!Wrong analysis type: Only ESD, AOD and MC types are allowed!"); + Printf("!!!!!Wrong analysis type: Only ESD, ESDMC0, ESDMC1, AOD and MC types are allowed!"); exit(1); } @@ -128,8 +131,8 @@ void AliAnalysisTaskMCEventPlane::CreateOutputObjects() // Called once cout<<"AliAnalysisTaskMCEventPlane::CreateOutputObjects()"<Make(fEvent,fRP); delete fEvent; } + + else if (fAnalysisType == "ESDMC0") { + if (!fESD) { + Printf("ERROR: fESD not available"); + return; + } + Printf("There are %d tracks in this event", fESD->GetNumberOfTracks()); + + // analysis + AliFlowEventSimple* fEvent = fEventMaker->FillTracks(fESD,mcEvent,0); //0 = kine from ESD, 1 = kine from MC + fMc->Make(fEvent,fRP); + delete fEvent; + } + + else if (fAnalysisType == "ESDMC1") { + if (!fESD) { + Printf("ERROR: fESD not available"); + return; + } + Printf("There are %d tracks in this event", fESD->GetNumberOfTracks()); + + // analysis + AliFlowEventSimple* fEvent = fEventMaker->FillTracks(fESD,mcEvent,1); //0 = kine from ESD, 1 = kine from MC + fMc->Make(fEvent,fRP); + delete fEvent; + } + else if (fAnalysisType == "AOD") { if (!fAOD) { Printf("ERROR: fAOD not available"); diff --git a/PWG2/FLOW/AliFlowEventSimpleMaker.cxx b/PWG2/FLOW/AliFlowEventSimpleMaker.cxx index 1fe097cfeaa..17484106b05 100644 --- a/PWG2/FLOW/AliFlowEventSimpleMaker.cxx +++ b/PWG2/FLOW/AliFlowEventSimpleMaker.cxx @@ -201,8 +201,7 @@ AliFlowEventSimple* AliFlowEventSimpleMaker::FillTracks(TTree* fInput) AliFlowEventSimple* AliFlowEventSimpleMaker::FillTracks(AliMCEvent* fInput) { //Fills the event from the MC kinematic information - Bool_t fDoubleLoop = kFALSE; - + Int_t fNumberOfInputTracks = fInput->GetNumberOfTracks() ; cerr<<"fInput->GetNumberOfTracks() = "<GetTrack(ftrkN); //get input particle - //cut on tracks - if(TMath::Abs(fParticle->Eta()) < 0.9) - { - // Int_t fLoop = floor(2.*fParticle->Pt())+2; - // for(Int_t d=0;dParticle()->GetPdgCode()) == 211 - // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 211 || - // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 321 || - // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 2212 - ) - { - fTrack = new AliFlowTrackSimple(); - fTrack->SetPt(fParticle->Pt() ); - fTrack->SetEta(fParticle->Eta() ); - fTrack->SetPhi(fParticle->Phi() ); - fTrack->SetForIntegratedFlow(kTRUE); - fTrack->SetForDifferentialFlow(kTRUE); - - if (fTrack->UseForIntegratedFlow()) - { fSelParticlesInt++; } - if (fTrack->UseForDifferentialFlow()) - { fSelParticlesDiff++; } - fGoodTracks++; - fEvent->TrackCollection()->Add(fTrack); - } - /* - else if( - TMath::Abs(fParticle->Particle()->GetPdgCode()) == 2212 - ) - { - fTrack = new AliFlowTrackSimple(); - fTrack->SetPt(fParticle->Pt() ); - fTrack->SetEta(fParticle->Eta() ); - fTrack->SetPhi(fParticle->Phi() ); - fTrack->SetForIntegratedFlow(kFALSE); - fTrack->SetForDifferentialFlow(kTRUE); - - if (fTrack->UseForIntegratedFlow()) - { fSelParticlesInt++; } - if (fTrack->UseForDifferentialFlow()) - { fSelParticlesDiff++; } - fGoodTracks++; - fEvent->TrackCollection()->Add(fTrack); - } - */ - } - } - ftrkN++; - } - } - else { //normal loop - while (fGoodTracks < fN && ftrkN < fNumberOfInputTracks) { - AliMCParticle* fParticle = fInput->GetTrack(ftrkN); //get input particle - //cut on tracks - if (TMath::Abs(fParticle->Eta()) < 0.2) - { - if( - TMath::Abs(fParticle->Particle()->GetPdgCode()) == 211 - // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 211 || - // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 321 || - // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 2212 - ) - { - fTrack = new AliFlowTrackSimple() ; - fTrack->SetPt(fParticle->Pt() ); - fTrack->SetEta(fParticle->Eta() ); - fTrack->SetPhi(fParticle->Phi() ); - fTrack->SetForIntegratedFlow(kTRUE); - fTrack->SetForDifferentialFlow(kTRUE); - - if (fTrack->UseForIntegratedFlow()) - { fSelParticlesInt++; } - if (fTrack->UseForDifferentialFlow()) - { fSelParticlesDiff++; } - fGoodTracks++; - fEvent->TrackCollection()->Add(fTrack) ; - } + + //normal loop + while (fGoodTracks < fN && ftrkN < fNumberOfInputTracks) { + AliMCParticle* fParticle = fInput->GetTrack(ftrkN); //get input particle + //cut on tracks + if (TMath::Abs(fParticle->Eta()) < 0.2) + { + if( + TMath::Abs(fParticle->Particle()->GetPdgCode()) == 211 + // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 211 || + // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 321 || + // TMath::Abs(fParticle->Particle()->GetPdgCode()) == 2212 + ) + { + fTrack = new AliFlowTrackSimple() ; + fTrack->SetPt(fParticle->Pt() ); + fTrack->SetEta(fParticle->Eta() ); + fTrack->SetPhi(fParticle->Phi() ); + fTrack->SetForIntegratedFlow(kTRUE); + fTrack->SetForDifferentialFlow(kTRUE); + + if (fTrack->UseForIntegratedFlow()) + { fSelParticlesInt++; } + if (fTrack->UseForDifferentialFlow()) + { fSelParticlesDiff++; } + fGoodTracks++; + fEvent->TrackCollection()->Add(fTrack) ; + } /* else if( TMath::Abs(fParticle->Particle()->GetPdgCode()) == 211 ) @@ -320,13 +261,11 @@ AliFlowEventSimple* AliFlowEventSimpleMaker::FillTracks(AliMCEvent* fInput) fEvent->TrackCollection()->Add(fTrack); } */ - } + } - ftrkN++; - } + ftrkN++; } - - + fEvent-> SetEventNSelTracksIntFlow(fSelParticlesInt); fEvent->SetNumberOfTracks(fGoodTracks); cout<<" fGoodTracks = "<GetNumberOfTracks() ; cerr<<"fInput->GetNumberOfTracks() = "<GetTrack(ftrkN); //get input particle - //cut on tracks - if(TMath::Abs(fParticle->Eta()) < 0.9) - { - // Int_t fLoop = floor(2.*fParticle->Pt())+2; - // for(Int_t d=0;dSetPt(fParticle->Pt() ); - fTrack->SetEta(fParticle->Eta() ); - fTrack->SetPhi(fParticle->Phi() ); - fTrack->SetForIntegratedFlow(kTRUE); - fTrack->SetForDifferentialFlow(kTRUE); - - if (fTrack->UseForIntegratedFlow()) - { fSelParticlesInt++; } - if (fTrack->UseForDifferentialFlow()) - { fSelParticlesDiff++; } - fGoodTracks++; - fEvent->TrackCollection()->Add(fTrack); - } - } - ftrkN++; - } - } - else { //normal loop - while (fGoodTracks < fN && ftrkN < fNumberOfInputTracks) { - AliESDtrack* fParticle = fInput->GetTrack(ftrkN); //get input particle - //cut on tracks - if (TMath::Abs(fParticle->Eta()) < 0.2) - { - fTrack = new AliFlowTrackSimple() ; - fTrack->SetPt(fParticle->Pt() ); - fTrack->SetEta(fParticle->Eta() ); - fTrack->SetPhi(fParticle->Phi() ); - fTrack->SetForIntegratedFlow(kTRUE); - fTrack->SetForDifferentialFlow(kTRUE); - - if (fTrack->UseForIntegratedFlow()) - { fSelParticlesInt++; } - if (fTrack->UseForDifferentialFlow()) - { fSelParticlesDiff++; } - fGoodTracks++; - fEvent->TrackCollection()->Add(fTrack) ; - } + //normal loop + while (fGoodTracks < fN && ftrkN < fNumberOfInputTracks) { + AliESDtrack* fParticle = fInput->GetTrack(ftrkN); //get input particle + //cut on tracks + if (TMath::Abs(fParticle->Eta()) < 0.2) + { + fTrack = new AliFlowTrackSimple() ; + fTrack->SetPt(fParticle->Pt() ); + fTrack->SetEta(fParticle->Eta() ); + fTrack->SetPhi(fParticle->Phi() ); + fTrack->SetForIntegratedFlow(kTRUE); + fTrack->SetForDifferentialFlow(kTRUE); + + if (fTrack->UseForIntegratedFlow()) + { fSelParticlesInt++; } + if (fTrack->UseForDifferentialFlow()) + { fSelParticlesDiff++; } + fGoodTracks++; + fEvent->TrackCollection()->Add(fTrack) ; + } - ftrkN++; - } + ftrkN++; } - - + fEvent-> SetEventNSelTracksIntFlow(fSelParticlesInt); fEvent->SetNumberOfTracks(fGoodTracks); cout<<" fGoodTracks = "<GetNumberOfTracks() = "<GetTrack(ftrkN); //get input particle - //cut on tracks - if(TMath::Abs(fParticle->Eta()) < 0.9) - { - // Int_t fLoop = floor(2.*fParticle->Pt())+2; - // for(Int_t d=0;dSetPt(fParticle->Pt() ); - fTrack->SetEta(fParticle->Eta() ); - fTrack->SetPhi(fParticle->Phi() ); - fTrack->SetForIntegratedFlow(kTRUE); - fTrack->SetForDifferentialFlow(kTRUE); - - if (fTrack->UseForIntegratedFlow()) - { fSelParticlesInt++; } - if (fTrack->UseForDifferentialFlow()) - { fSelParticlesDiff++; } - fGoodTracks++; - fEvent->TrackCollection()->Add(fTrack); - } - } - ftrkN++; - } - } - else { //normal loop - while (fGoodTracks < fN && ftrkN < fNumberOfInputTracks) { - AliAODTrack* fParticle = fInput->GetTrack(ftrkN); //get input particle - //cut on tracks - if (TMath::Abs(fParticle->Eta()) < 0.2) - { - fTrack = new AliFlowTrackSimple() ; - fTrack->SetPt(fParticle->Pt() ); - fTrack->SetEta(fParticle->Eta() ); - fTrack->SetPhi(fParticle->Phi() ); - fTrack->SetForIntegratedFlow(kTRUE); - fTrack->SetForDifferentialFlow(kTRUE); - - if (fTrack->UseForIntegratedFlow()) - { fSelParticlesInt++; } - if (fTrack->UseForDifferentialFlow()) - { fSelParticlesDiff++; } - fGoodTracks++; - fEvent->TrackCollection()->Add(fTrack) ; - } + //normal loop + while (fGoodTracks < fN && ftrkN < fNumberOfInputTracks) { + AliAODTrack* fParticle = fInput->GetTrack(ftrkN); //get input particle + //cut on tracks + if (TMath::Abs(fParticle->Eta()) < 0.2) + { + fTrack = new AliFlowTrackSimple() ; + fTrack->SetPt(fParticle->Pt() ); + fTrack->SetEta(fParticle->Eta() ); + fTrack->SetPhi(fParticle->Phi() ); + fTrack->SetForIntegratedFlow(kTRUE); + fTrack->SetForDifferentialFlow(kTRUE); + + if (fTrack->UseForIntegratedFlow()) + { fSelParticlesInt++; } + if (fTrack->UseForDifferentialFlow()) + { fSelParticlesDiff++; } + fGoodTracks++; + fEvent->TrackCollection()->Add(fTrack) ; + } - ftrkN++; - } + ftrkN++; + } + + fEvent-> SetEventNSelTracksIntFlow(fSelParticlesInt); + fEvent->SetNumberOfTracks(fGoodTracks); + cout<<" fGoodTracks = "<GetNumberOfTracks() ; + cerr<<"fInput->GetNumberOfTracks() = "<GetTrack(ftrkN); //get input particle + //get Label + Int_t fLabel = fParticle->GetLabel(); + //match to mc particle + AliMCParticle* fMcParticle = fInputMc->GetTrack(TMath::Abs(fLabel)); + + //check + if (TMath::Abs(fParticle->GetLabel())!=fMcParticle->Label()) cout<<"fParticle->GetLabel()!=fMcParticle->Label() "<GetLabel()<<" "<Label()<Eta()) < 0.2) + { + if( + TMath::Abs(fMcParticle->Particle()->GetPdgCode()) == 211 //pions + // TMath::Abs(fMcParticle->Particle()->GetPdgCode()) == 211 || + // TMath::Abs(fMcParticle->Particle()->GetPdgCode()) == 321 || + // TMath::Abs(fMcParticle->Particle()->GetPdgCode()) == 2212 + ) + { + if(fOption == 0) { //take the PID from the MC & the kinematics from the ESD + fTrack = new AliFlowTrackSimple() ; + fTrack->SetPt(fParticle->Pt() ); + fTrack->SetEta(fParticle->Eta() ); + fTrack->SetPhi(fParticle->Phi() ); + fTrack->SetForIntegratedFlow(kTRUE); + fTrack->SetForDifferentialFlow(kTRUE); + } + else if (fOption == 1) { //take the PID and kinematics from the MC + fTrack = new AliFlowTrackSimple() ; + fTrack->SetPt(fMcParticle->Pt() ); + fTrack->SetEta(fMcParticle->Eta() ); + fTrack->SetPhi(fMcParticle->Phi() ); + fTrack->SetForIntegratedFlow(kTRUE); + fTrack->SetForDifferentialFlow(kTRUE); + } + else { cout<<"Not a valid option"<UseForIntegratedFlow()) + { fSelParticlesInt++; } + if (fTrack->UseForDifferentialFlow()) + { fSelParticlesDiff++; } + fGoodTracks++; + fEvent->TrackCollection()->Add(fTrack) ; + } + } + ftrkN++; + } + fEvent-> SetEventNSelTracksIntFlow(fSelParticlesInt); fEvent->SetNumberOfTracks(fGoodTracks); cout<<" fGoodTracks = "<AddIncludePath("-I$ALICE_ROOT/include") ; - //gSystem->AddIncludePath("-I$ROOTSYS/include") ; + gSystem->AddIncludePath("-I$ALICE_ROOT/include") ; + gSystem->AddIncludePath("-I$ROOTSYS/include") ; // load needed libraries gSystem->Load("libTree.so"); @@ -19,19 +19,19 @@ void runAliAnalysisTaskLYZEventPlane(Int_t nRuns = 2, TString type = "ESD", cons cerr<<"libESD loaded..."<Load("libANALYSIS.so"); cerr<<"libANALYSIS.so loaded..."<Load("libPWG2flow.so"); + //gSystem->Load("libPWG2flow.so"); - //gROOT->LoadMacro("AliFlowLYZConstants.cxx+"); - //gROOT->LoadMacro("AliFlowCommonConstants.cxx+"); - //gROOT->LoadMacro("AliFlowVector.cxx+"); - //gROOT->LoadMacro("AliFlowTrackSimple.cxx+"); - //gROOT->LoadMacro("AliFlowEventSimple.cxx+"); - //gROOT->LoadMacro("AliFlowEventSimpleMaker.cxx+"); - //gROOT->LoadMacro("AliFlowCommonHist.cxx+"); - //gROOT->LoadMacro("AliFlowCommonHistResults.cxx+"); - //gROOT->LoadMacro("AliFlowLYZEventPlane.cxx+"); - //gROOT->LoadMacro("AliFlowAnalysisWithLYZEventPlane.cxx+"); - //gROOT->LoadMacro("AliAnalysisTaskLYZEventPlane.cxx+"); + gROOT->LoadMacro("AliFlowLYZConstants.cxx+"); + gROOT->LoadMacro("AliFlowCommonConstants.cxx+"); + gROOT->LoadMacro("AliFlowVector.cxx+"); + gROOT->LoadMacro("AliFlowTrackSimple.cxx+"); + gROOT->LoadMacro("AliFlowEventSimple.cxx+"); + gROOT->LoadMacro("AliFlowEventSimpleMaker.cxx+"); + gROOT->LoadMacro("AliFlowCommonHist.cxx+"); + gROOT->LoadMacro("AliFlowCommonHistResults.cxx+"); + gROOT->LoadMacro("AliFlowLYZEventPlane.cxx+"); + gROOT->LoadMacro("AliFlowAnalysisWithLYZEventPlane.cxx+"); + gROOT->LoadMacro("AliAnalysisTaskLYZEventPlane.cxx+"); // create the TChain. CreateESDChain() is defined in CreateESDChain.C TChain* chain = CreateESDChain(dataDir, nRuns, offset); diff --git a/PWG2/FLOW/macros/runAliAnalysisTaskLeeYangZeros.C b/PWG2/FLOW/macros/runAliAnalysisTaskLeeYangZeros.C index d6a6d260669..e003b35d0cd 100644 --- a/PWG2/FLOW/macros/runAliAnalysisTaskLeeYangZeros.C +++ b/PWG2/FLOW/macros/runAliAnalysisTaskLeeYangZeros.C @@ -4,14 +4,14 @@ void LookupWrite(TChain* chain, const char* target) ; -void runAliAnalysisTaskLeeYangZeros(Int_t nRuns = 2, TString type = "ESD", Bool_t firstrun = kTRUE, Bool_t usesum = kTRUE, const Char_t* dataDir="/Users/snelling/alice_data/TherminatorFIX", Int_t offset = 0) +void runAliAnalysisTaskLeeYangZeros(Int_t nRuns = 2, Bool_t firstrun = kTRUE, TString type = "ESD", Bool_t usesum = kTRUE, const Char_t* dataDir="/Users/snelling/alice_data/TherminatorFIX", Int_t offset = 0) { TStopwatch timer; timer.Start(); // include path (to find the .h files when compiling) - //gSystem->AddIncludePath("-I$ALICE_ROOT/include") ; - //gSystem->AddIncludePath("-I$ROOTSYS/include") ; + gSystem->AddIncludePath("-I$ALICE_ROOT/include") ; + gSystem->AddIncludePath("-I$ROOTSYS/include") ; // load needed libraries gSystem->Load("libTree.so"); @@ -21,18 +21,18 @@ void runAliAnalysisTaskLeeYangZeros(Int_t nRuns = 2, TString type = "ESD", Bool_ cerr<<"libANALYSIS.so loaded..."<Load("libPWG2flow.so"); - //gROOT->LoadMacro("AliFlowLYZConstants.cxx+"); - //gROOT->LoadMacro("AliFlowCommonConstants.cxx+"); - //gROOT->LoadMacro("AliFlowVector.cxx+"); - //gROOT->LoadMacro("AliFlowTrackSimple.cxx+"); - //gROOT->LoadMacro("AliFlowEventSimple.cxx+"); - //gROOT->LoadMacro("AliFlowEventSimpleMaker.cxx+"); - //gROOT->LoadMacro("AliFlowCommonHist.cxx+"); - //gROOT->LoadMacro("AliFlowCommonHistResults.cxx+"); - //gROOT->LoadMacro("AliFlowLYZHist1.cxx+"); - //gROOT->LoadMacro("AliFlowLYZHist2.cxx+"); - //gROOT->LoadMacro("AliFlowAnalysisWithLeeYangZeros.cxx+"); - //gROOT->LoadMacro("AliAnalysisTaskLeeYangZeros.cxx+"); + // gROOT->LoadMacro("AliFlowLYZConstants.cxx+"); + // gROOT->LoadMacro("AliFlowCommonConstants.cxx+"); + // gROOT->LoadMacro("AliFlowVector.cxx+"); + // gROOT->LoadMacro("AliFlowTrackSimple.cxx+"); + // gROOT->LoadMacro("AliFlowEventSimple.cxx+"); + // gROOT->LoadMacro("AliFlowEventSimpleMaker.cxx+"); + // gROOT->LoadMacro("AliFlowCommonHist.cxx+"); + // gROOT->LoadMacro("AliFlowCommonHistResults.cxx+"); + // gROOT->LoadMacro("AliFlowLYZHist1.cxx+"); + // gROOT->LoadMacro("AliFlowLYZHist2.cxx+"); + // gROOT->LoadMacro("AliFlowAnalysisWithLeeYangZeros.cxx+"); + // gROOT->LoadMacro("AliAnalysisTaskLeeYangZeros.cxx+"); // create the TChain. CreateESDChain() is defined in CreateESDChain.C TChain* chain = CreateESDChain(dataDir, nRuns, offset); diff --git a/PWG2/FLOW/macros/runAliAnalysisTaskMCEventPlane.C b/PWG2/FLOW/macros/runAliAnalysisTaskMCEventPlane.C index a2ec1c67239..ffad01a4e73 100644 --- a/PWG2/FLOW/macros/runAliAnalysisTaskMCEventPlane.C +++ b/PWG2/FLOW/macros/runAliAnalysisTaskMCEventPlane.C @@ -4,15 +4,15 @@ void LookupWrite(TChain* chain, const char* target) ; -void runAliAnalysisTaskMCEventPlane(Int_t nRuns = 2, TString type = "MC", const Char_t* dataDir="/Users/snelling/alice_data/TherminatorFIX", Int_t offset = 0) +void runAliAnalysisTaskMCEventPlane(Int_t nRuns = 2, TString type = "MC", const Char_t* dataDir="/data/alice1/kolk/TherminatorFIX", Int_t offset = 0) { TStopwatch timer; timer.Start(); // include path (to find the .h files when compiling) - //gSystem->AddIncludePath("-I$ALICE_ROOT/include") ; - //gSystem->AddIncludePath("-I$ROOTSYS/include") ; + gSystem->AddIncludePath("-I$ALICE_ROOT/include") ; + gSystem->AddIncludePath("-I$ROOTSYS/include") ; // load needed libraries gSystem->Load("libTree.so"); @@ -20,17 +20,17 @@ void runAliAnalysisTaskMCEventPlane(Int_t nRuns = 2, TString type = "MC", const cerr<<"libESD loaded..."<Load("libANALYSIS.so"); cerr<<"libANALYSIS.so loaded..."<Load("libPWG2flow.so"); + //gSystem->Load("libPWG2flow.so"); - //gROOT->LoadMacro("AliFlowCommonConstants.cxx+"); - //gROOT->LoadMacro("AliFlowVector.cxx+"); - //gROOT->LoadMacro("AliFlowTrackSimple.cxx+"); - //gROOT->LoadMacro("AliFlowEventSimple.cxx+"); - //gROOT->LoadMacro("AliFlowEventSimpleMaker.cxx+"); - //gROOT->LoadMacro("AliFlowCommonHist.cxx+"); - //gROOT->LoadMacro("AliFlowCommonHistResults.cxx+"); - //gROOT->LoadMacro("AliFlowAnalysisWithMCEventPlane.cxx+"); - //gROOT->LoadMacro("AliAnalysisTaskMCEventPlane.cxx+"); + gROOT->LoadMacro("AliFlowCommonConstants.cxx+"); + gROOT->LoadMacro("AliFlowVector.cxx+"); + gROOT->LoadMacro("AliFlowTrackSimple.cxx+"); + gROOT->LoadMacro("AliFlowEventSimple.cxx+"); + gROOT->LoadMacro("AliFlowEventSimpleMaker.cxx+"); + gROOT->LoadMacro("AliFlowCommonHist.cxx+"); + gROOT->LoadMacro("AliFlowCommonHistResults.cxx+"); + gROOT->LoadMacro("AliFlowAnalysisWithMCEventPlane.cxx+"); + gROOT->LoadMacro("AliAnalysisTaskMCEventPlane.cxx+"); // create the TChain. CreateESDChain() is defined in CreateESDChain.C TChain* chain = CreateESDChain(dataDir, nRuns, offset); @@ -39,7 +39,7 @@ void runAliAnalysisTaskMCEventPlane(Int_t nRuns = 2, TString type = "MC", const //____________________________________________// // Make the analysis manager AliAnalysisManager *mgr = new AliAnalysisManager("TestManager"); - if (type == "ESD" || type == "MC" ) { + if (type == "ESD" || type == "ESDMC0" || type == "ESDMC1" || type == "MC" ) { AliVEventHandler* esdH = new AliESDInputHandler; mgr->SetInputEventHandler(esdH); } diff --git a/PWG2/PWG2flowLinkDef.h b/PWG2/PWG2flowLinkDef.h index 2af9f72d70d..68c2d98561e 100644 --- a/PWG2/PWG2flowLinkDef.h +++ b/PWG2/PWG2flowLinkDef.h @@ -18,9 +18,11 @@ #pragma link C++ class AliFlowLYZEventPlane+; #pragma link C++ class AliFlowEventSimpleMaker+; #pragma link C++ class AliFlowAnalysisWithMCEventPlane+; +#pragma link C++ class AliFlowAnalysisWithScalarProduct+; #pragma link C++ class AliFlowAnalysisWithLYZEventPlane+; #pragma link C++ class AliFlowAnalysisWithLeeYangZeros+; #pragma link C++ class AliFlowAnalysisWithCumulants+; +#pragma link C++ class AliAnalysisTaskScalarProduct+; #pragma link C++ class AliAnalysisTaskMCEventPlane+; #pragma link C++ class AliAnalysisTaskLYZEventPlane+; #pragma link C++ class AliAnalysisTaskLeeYangZeros+; diff --git a/PWG2/libPWG2flow.pkg b/PWG2/libPWG2flow.pkg index 1f616a4ba10..779adb1d746 100644 --- a/PWG2/libPWG2flow.pkg +++ b/PWG2/libPWG2flow.pkg @@ -12,10 +12,12 @@ SRCS= FLOW/AliFlowEventSimple.cxx \ FLOW/AliFlowVector.cxx \ FLOW/AliFlowLYZEventPlane.cxx \ FLOW/AliFlowEventSimpleMaker.cxx \ + FLOW/AliFlowAnalysisWithScalarProduct.cxx \ FLOW/AliFlowAnalysisWithMCEventPlane.cxx \ FLOW/AliFlowAnalysisWithLYZEventPlane.cxx \ FLOW/AliFlowAnalysisWithLeeYangZeros.cxx \ FLOW/AliFlowAnalysisWithCumulants.cxx \ + FLOW/AliAnalysisTaskScalarProduct.cxx \ FLOW/AliAnalysisTaskMCEventPlane.cxx \ FLOW/AliAnalysisTaskLYZEventPlane.cxx \ FLOW/AliAnalysisTaskLeeYangZeros.cxx -- 2.43.0