\r
/////////////////////////////////////////////////////\r
// AliAnalysisTaskFlowCascade:\r
-// Analysis task to select K0/Lambda candidates for flow analysis.\r
+// Analysis task to select Xi and Omega candidates for flow analysis.\r
//\r
-// Author: \r
+// Author: Zhong-Bao.Yin@cern.ch\r
//////////////////////////////////////////////////////\r
\r
#include "TChain.h"\r
fQAList->SetOwner();\r
AddQAEvents();\r
AddQACandidates();\r
- PostData(3,fQAList);\r
+ // PostData(3,fQAList);\r
\r
AliFlowCommonConstants* cc = AliFlowCommonConstants::GetMaster();\r
cc->SetNbinsMult(1);\r
((TH1D*)((TList*)fQAList->FindObject("Events"))->FindObject("RFPVZE"))\r
->Fill( mult );\r
\r
- if(fDebug) printf("TPCevent %d | VZEevent %d\n",\r
- fFlowEventTPC->NumberOfTracks(),\r
- fFlowEventVZE->NumberOfTracks() );\r
+ // if(fDebug) printf("TPCevent %d | VZEevent %d\n",\r
+ // fFlowEventTPC->NumberOfTracks(),\r
+ // fFlowEventVZE->NumberOfTracks() );\r
AddCandidates();\r
\r
PostData(1,fFlowEventTPC);\r
//_____________________________________________________________________________\r
void AliAnalysisTaskFlowCascade::AddCandidates(){\r
\r
- if(fDebug) printf("I received %d candidates\n",\r
- fCandidates->GetEntriesFast());\r
+ // if(fDebug) printf("I received %d candidates\n",\r
+ // fCandidates->GetEntriesFast());\r
for(int iCand=0; iCand!=fCandidates->GetEntriesFast(); ++iCand ) {\r
AliFlowCandidateTrack *cand \r
= dynamic_cast<AliFlowCandidateTrack*>(fCandidates->At(iCand));\r
if(!cand) continue;\r
- if(fDebug) \r
- printf(" >Checking at candidate %d with %d daughters: mass %f\n",\r
- iCand, cand->GetNDaughters(), cand->Mass());\r
+ // if(fDebug) \r
+ // printf(" >Checking at candidate %d with %d daughters: mass %f\n",\r
+ // iCand, cand->GetNDaughters(), cand->Mass());\r
+ \r
// untagging ===> \r
for(int iDau=0; iDau != cand->GetNDaughters(); ++iDau) {\r
- if(fDebug) \r
- printf(" >Daughter %d with fID %d", iDau, cand->GetIDDaughter(iDau));\r
+ // if(fDebug) \r
+ // printf(" >Daughter %d with fID %d", iDau, cand->GetIDDaughter(iDau));\r
for(int iRPs=0; iRPs != fFlowEventTPC->NumberOfTracks(); ++iRPs ) {\r
AliFlowTrack *iRP \r
= dynamic_cast<AliFlowTrack*>(fFlowEventTPC->GetTrack( iRPs ));\r
if (!iRP) continue;\r
if( !iRP->InRPSelection() ) continue;\r
if( cand->GetIDDaughter(iDau) == iRP->GetID() ) {\r
- if(fDebug) printf(" was in RP set");\r
+ //if(fDebug) printf(" was in RP set");\r
iRP->SetForRPSelection(kFALSE);\r
fFlowEventTPC->SetNumberOfRPs( fFlowEventTPC->GetNumberOfRPs() -1 );\r
}\r
}\r
- if(fDebug) printf("\n");\r
+ //if(fDebug) printf("\n");\r
}\r
// <=== untagging\r
cand->SetForPOISelection(kTRUE);\r
fFlowEventVZE->InsertTrack( ((AliFlowTrack*) cand) );\r
}\r
\r
- if(fDebug) printf("TPCevent %d | VZEevent %d\n",\r
- fFlowEventTPC->NumberOfTracks(),\r
- fFlowEventVZE->NumberOfTracks() );\r
+ // if(fDebug) printf("TPCevent %d | VZEevent %d\n",\r
+ // fFlowEventTPC->NumberOfTracks(),\r
+ // fFlowEventVZE->NumberOfTracks() );\r
\r
}\r
\r
//taskSel->SetDebug();\r
taskSel->SetCuts2010(cuts);\r
taskSel->SetSpecie(specie);\r
- //printf( "CMM %d %f %f\n", MassBins(specie), MinMass(specie), MaxMass(specie) );\r
- taskSel->SetCommonConstants( MassBins(specie), MinMass(specie), MaxMass(specie) );\r
+ //printf( "CMM %d %f %f\n", MassBins(specie), MinMass(specie), MSFT_MaxMass(specie) );\r
+ taskSel->SetCommonConstants( MSFT_MassBins(specie), MSFT_MinMass(specie), MSFT_MaxMass(specie) );\r
AliAnalysisDataContainer *cOutHist \r
= mgr->CreateContainer(Form("OutHistos_%s",suffixName.Data()),\r
TList::Class(),\r
\r
//-------------------FLOW TASKS----------------------------\r
AliFlowTrackSimpleCuts *filter[15], *filterhf[15][2]; // MASS BANDS\r
- for(int mb=0; mb!=MassBands(0); ++mb) {\r
+ for(int mb=0; mb!=MSFT_MassBands(0); ++mb) {\r
filter[mb] = new AliFlowTrackSimpleCuts( Form("Filter_MB%d",mb) );\r
filter[mb]->SetEtaMin( -0.8 ); \r
filter[mb]->SetEtaMax( +0.8 );\r
- filter[mb]->SetMassMin( MassBandLowEdge(specie, mb) ); \r
- filter[mb]->SetMassMax( MassBandLowEdge(specie, mb+1) );\r
+ filter[mb]->SetMassMin( MSFT_MassBandLowEdge(specie, mb) ); \r
+ filter[mb]->SetMassMax( MSFT_MassBandLowEdge(specie, mb+1) );\r
\r
filterhf[mb][0] = new AliFlowTrackSimpleCuts( Form("Filterhf0_MB%d",mb) );\r
filterhf[mb][0]->SetEtaMin( 0.0 ); \r
filterhf[mb][0]->SetEtaMax( +0.8 );\r
- filterhf[mb][0]->SetMassMin( MassBandLowEdge(specie, mb) ); \r
- filterhf[mb][0]->SetMassMax( MassBandLowEdge(specie, mb+1) );\r
+ filterhf[mb][0]->SetMassMin( MSFT_MassBandLowEdge(specie, mb) ); \r
+ filterhf[mb][0]->SetMassMax( MSFT_MassBandLowEdge(specie, mb+1) );\r
\r
filterhf[mb][1] = new AliFlowTrackSimpleCuts( Form("Filterhf1_MB%d",mb) );\r
filterhf[mb][1]->SetEtaMin( -0.8 ); \r
filterhf[mb][1]->SetEtaMax( 0.0 );\r
- filterhf[mb][1]->SetMassMin( MassBandLowEdge(specie, mb) ); \r
- filterhf[mb][1]->SetMassMax( MassBandLowEdge(specie, mb+1) );\r
+ filterhf[mb][1]->SetMassMin( MSFT_MassBandLowEdge(specie, mb) ); \r
+ filterhf[mb][1]->SetMassMax( MSFT_MassBandLowEdge(specie, mb+1) );\r
\r
if(method.Contains("QC"))\r
- AddQCmethod( Form("QCTPCMB%d", mb), folderName.Data(), suffixName.Data(), harmonic, \r
+ MSFT_AddQCmethod( Form("QCTPCMB%d", mb), folderName.Data(), suffixName.Data(), harmonic, \r
exc_TPC, filter[mb]); // QC TPC\r
if(method.Contains("TPCSP")){\r
- AddSPmethod( Form("SPTPCMB%d", mb), folderName.Data(), suffixName.Data(), harmonic, \r
+ MSFT_AddSPmethod( Form("SPTPCMB%d", mb), folderName.Data(), suffixName.Data(), harmonic, \r
exc_TPC, filterhf[mb][0], "Qa" ); // SP TPC Qa\r
- AddSPmethod( Form("SPTPCMB%d", mb), folderName.Data(), suffixName.Data(), harmonic, \r
+ MSFT_AddSPmethod( Form("SPTPCMB%d", mb), folderName.Data(), suffixName.Data(), harmonic, \r
exc_TPC, filterhf[mb][1], "Qb" ); // SP TPC Qb\r
}\r
if(method.Contains("VZESP")){\r
- AddSPmethod( Form("SPVZEMB%d", mb), folderName.Data(), suffixName.Data(), harmonic, \r
+ MSFT_AddSPmethod( Form("SPVZEMB%d", mb), folderName.Data(), suffixName.Data(), harmonic, \r
exc_VZE, filter[mb], "Qa" ); // SP VZE Qa\r
- AddSPmethod( Form("SPVZEMB%d",mb), folderName.Data(), suffixName.Data(), harmonic, \r
+ MSFT_AddSPmethod( Form("SPVZEMB%d",mb), folderName.Data(), suffixName.Data(), harmonic, \r
exc_VZE, filter[mb], "Qb" ); // SP VZE Qa\r
- AddSPmethod( Form("SPVZEMB%d",mb), folderName.Data(), suffixName.Data(), harmonic,\r
+ MSFT_AddSPmethod( Form("SPVZEMB%d",mb), folderName.Data(), suffixName.Data(), harmonic,\r
exc_VZE, filter[mb], "QaQb" ); // SP VZE QaQb\r
}\r
}\r
}\r
\r
-void AddQCmethod(char *name, TString myFolder, char *thecuts, int harmonic, \r
- AliAnalysisDataContainer *flowEvent, AliFlowTrackSimpleCuts *cutsPOI=NULL) {\r
+void MSFT_AddQCmethod(char *name, TString myFolder, char *thecuts, int harmonic, \r
+ AliAnalysisDataContainer *flowEvent, \r
+ AliFlowTrackSimpleCuts *cutsPOI=NULL) {\r
TString fileName = AliAnalysisManager::GetCommonFileName();\r
myFolder.Append( Form("v%d",harmonic) );\r
TString myName = Form("%sv%d_%s", name, harmonic, thecuts);\r
}\r
\r
\r
-void AddSPmethod(char *name, TString myFolder, char *thecuts, int harmonic,\r
- AliAnalysisDataContainer *flowEvent, AliFlowTrackSimpleCuts *cutsPOI=NULL,\r
- char *Qvector) {\r
+void MSFT_AddSPmethod(char *name, TString myFolder, char *thecuts, int harmonic,\r
+ AliAnalysisDataContainer *flowEvent, AliFlowTrackSimpleCuts *cutsPOI=NULL,\r
+ char *Qvector) {\r
TString fileName = AliAnalysisManager::GetCommonFileName();\r
myFolder.Append( Form("v%d",harmonic) );\r
TString myNameSP = Form("%sv%d%s_%s", name, harmonic, Qvector, thecuts);\r
AliAnalysisTaskFilterFE *tskFilter \r
= new AliAnalysisTaskFilterFE( Form("TaskFilter_%s",myNameSP.Data()),\r
NULL, cutsPOI);\r
- tskFilter->SetSubeventEtaRange( -5.0, 0.0, 0.0, +5.0 );\r
+ tskFilter->SetSubeventEtaRange( -5.0, -1.0, 1.0, +5.0 );\r
mgr->AddTask(tskFilter);\r
mgr->ConnectInput( tskFilter, 0, flowEvent);\r
mgr->ConnectOutput(tskFilter, 1, flowEvent2);\r
mgr->ConnectOutput(tskSP,1,outSP);\r
}\r
\r
-double MassBandLowEdge( int nv0, int mb ) {\r
+double MSFT_MassBandLowEdge( int nv0, int mb ) {\r
if(nv0==0) {\r
double lowEdge[15+1]={ 1.282, 1.292, 1.302, 1.312, 1.317, 1.319, 1.321, 1.322, \r
1.323, 1.325, 1.327, 1.332, 1.342, 1.352, 1.362, 1.372};\r
return lowEdge[mb];\r
}\r
\r
-int MassBands( int nv0 ) {\r
+int MSFT_MassBands( int nv0 ) {\r
if(nv0==0) {\r
return 15;\r
} else if(nv0==1) {\r
}\r
}\r
\r
-int MassBins( int nv0 ) {\r
+int MSFT_MassBins( int nv0 ) {\r
if(nv0==0) {\r
return 90;\r
} else if(nv0==1) {\r
}\r
}\r
\r
-double MinMass( int nv0 ) {\r
- return MassBandLowEdge( nv0, 0 );\r
+double MSFT_MinMass( int nv0 ) {\r
+ return MSFT_MassBandLowEdge( nv0, 0 );\r
}\r
\r
-double MaxMass( int nv0 ) {\r
- return MassBandLowEdge( nv0, MassBands(nv0) );\r
+double MSFT_MaxMass( int nv0 ) {\r
+ return MSFT_MassBandLowEdge( nv0, MSFT_MassBands(nv0) );\r
}\r