// Adapted to PbPb analysis: M. Nicassio, maria.nicassio@ba.infn.it
// Feb-August2011
// - Physics selection moved to the run.C macro
-// - Centrality selection added (+ setters) and histos
-// - flag and setters added (CF container usage, vertex range)
+// - Centrality selection added (+ setters)
+// - setters added (vertex range)
// - histo added and histo/container binning changed
// - protection in the destructor for CAF usage
// - AliWarning disabled
-// - number of tracklets from AOD also
// - automatic settings for PID
// September2011
// - proper time histos/container added (V0 and Cascades)
-// - cosine PA V0 wrt Xi vertex in the container
// November2011
// - re-run V0's and cascade's vertexers (SetCuts instead of SetDefaultCuts!!)
+// Genuary2012
// - AOD analysis part completed
+// March2012
+// - min number of TPC clusters for track selection as a parameter
//-----------------------------------------------------------------
class TTree;
fkQualityCutZprimVtxPos (kTRUE),
fkQualityCutNoTPConlyPrimVtx(kTRUE),
fkQualityCutTPCrefit (kTRUE),
- fkQualityCut80TPCcls (kTRUE),
+ fkQualityCutnTPCcls (kTRUE),
+ fMinnTPCcls (0),
fkExtraSelections (0),
fCentrLowLim (0),
fCentrUpLim (0),
fkQualityCutZprimVtxPos (kTRUE),
fkQualityCutNoTPConlyPrimVtx(kTRUE),
fkQualityCutTPCrefit (kTRUE),
- fkQualityCut80TPCcls (kTRUE),
+ fkQualityCutnTPCcls (kTRUE),
+ fMinnTPCcls (0),
fkExtraSelections (0),
fCentrLowLim (0),
fCentrUpLim (0),
else fPaveTextBookKeeping->AddText("C. Quality Cut(No TPC prim. vtx) = Off ");
if(fkQualityCutTPCrefit) fPaveTextBookKeeping->AddText("D. Quality Cut(TPCrefit) = ON ");
else fPaveTextBookKeeping->AddText("D. Quality Cut(TPCrefit) = Off ");
- if(fkQualityCut80TPCcls) fPaveTextBookKeeping->AddText("E. Quality Cut(80 TPC clusters) = ON ");
- else fPaveTextBookKeeping->AddText("E. Quality Cut(80 TPC clusters) = Off ");
+ if(fkQualityCutnTPCcls) fPaveTextBookKeeping->AddText("E. Quality Cut(min n TPC clusters) = ON ");
+ else fPaveTextBookKeeping->AddText("E. Quality Cut(min n TPC clusters) = Off ");
if(fkExtraSelections) fPaveTextBookKeeping->AddText("F. Extra Analysis Selections = ON ");
else fPaveTextBookKeeping->AddText("F. Extra Analysis Selections = Off ");
if ((nStatus&AliESDtrack::kTPCrefit) == 0) { AliWarning("Pb / V0 Neg. track has no TPCrefit ... continue!"); continue; }
if ((bachStatus&AliESDtrack::kTPCrefit) == 0) { AliWarning("Pb / Bach. track has no TPCrefit ... continue!"); continue; }
}
- if (fkQualityCut80TPCcls) {
+ if (fkQualityCutnTPCcls) {
// 2 - Poor quality related to TPC clusters
- if (lPosTPCClusters < 80) { AliWarning("Pb / V0 Pos. track has less than 80 TPC clusters ... continue!"); continue; }
- if (lNegTPCClusters < 80) { AliWarning("Pb / V0 Neg. track has less than 80 TPC clusters ... continue!"); continue; }
- if (lBachTPCClusters < 80) { AliWarning("Pb / Bach. track has less than 80 TPC clusters ... continue!"); continue; }
+ if (lPosTPCClusters < fMinnTPCcls) { AliWarning("Pb / V0 Pos. track has less than minn TPC clusters ... continue!"); continue; }
+ if (lNegTPCClusters < fMinnTPCcls) { AliWarning("Pb / V0 Neg. track has less than minn TPC clusters ... continue!"); continue; }
+ if (lBachTPCClusters < fMinnTPCcls) { AliWarning("Pb / Bach. track has less than minn TPC clusters ... continue!"); continue; }
}
const AliExternalTrackParam *pExtTrack = pTrackXi ->GetInnerParam();
if (!(nTrackXi->IsOn(AliAODTrack::kTPCrefit))) { AliWarning("Pb / V0 Neg. track has no TPCrefit ... continue!"); continue; }
if (!(bachTrackXi->IsOn(AliAODTrack::kTPCrefit))) { AliWarning("Pb / Bach. track has no TPCrefit ... continue!"); continue; }
}
- if (fkQualityCut80TPCcls) {
+ if (fkQualityCutnTPCcls) {
// 2 - Poor quality related to TPC clusters
- if (lPosTPCClusters < 80) { //AliWarning("Pb / V0 Pos. track has less than 80 TPC clusters ... continue!");
+ if (lPosTPCClusters < fMinnTPCcls) { //AliWarning("Pb / V0 Pos. track has less than minn TPC clusters ... continue!");
continue; }
- if (lNegTPCClusters < 80) { //AliWarning("Pb / V0 Neg. track has less than 80 TPC clusters ... continue!");
+ if (lNegTPCClusters < fMinnTPCcls) { //AliWarning("Pb / V0 Neg. track has less than minn TPC clusters ... continue!");
continue; }
- if (lBachTPCClusters < 80) { //AliWarning("Pb / Bach. track has less than 80 TPC clusters ... continue!");
+ if (lBachTPCClusters < fMinnTPCcls) { //AliWarning("Pb / Bach. track has less than minn TPC clusters ... continue!");
continue; }
}
void SetQualityCutZprimVtxPos (Bool_t qualityCutZprimVtxPos = kTRUE) { fkQualityCutZprimVtxPos = qualityCutZprimVtxPos; }
void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx = qualityCutNoTPConlyPrimVtx; }
void SetQualityCutTPCrefit (Bool_t qualityCutTPCrefit = kTRUE) { fkQualityCutTPCrefit = qualityCutTPCrefit; }
- void SetQualityCut80TPCcls (Bool_t qualityCut80TPCcls = kTRUE) { fkQualityCut80TPCcls = qualityCut80TPCcls; }
+ void SetQualityCutnTPCcls (Bool_t qualityCutnTPCcls = kTRUE) { fkQualityCutnTPCcls = qualityCutnTPCcls; }
+ void SetQualityCutMinnTPCcls (Int_t minnTPCcls = 70 ) { fMinnTPCcls = minnTPCcls; }
void SetExtraSelections (Bool_t extraSelections = 0 ) { fkExtraSelections = extraSelections; }
void SetCentralityLowLim (Float_t centrlowlim = 0. ) { fCentrLowLim = centrlowlim; }
void SetCentralityUpLim (Float_t centruplim = 100. ) { fCentrUpLim = centruplim; }
Bool_t fkQualityCutZprimVtxPos; // Boolean : kTRUE = cut on the prim.vtx z-position
Bool_t fkQualityCutNoTPConlyPrimVtx; // Boolean : kTRUE = prim vtx should be SPD or Tracking vertex
Bool_t fkQualityCutTPCrefit; // Boolean : kTRUE = ask for TPCrefit for the 3 daughter tracks
- Bool_t fkQualityCut80TPCcls; // Boolean : kTRUE = ask for 80 TPC clusters for each daughter track
+ Bool_t fkQualityCutnTPCcls; // Boolean : kTRUE = ask for at least n TPC clusters for each daughter track
+ Int_t fMinnTPCcls; // minimum number of TPC cluster for daughter tracks
Bool_t fkExtraSelections; // Boolean : kTRUE = apply tighter selections, before starting the analysis
Float_t fCentrLowLim; // Lower limit for centrality percentile selection
Float_t fCentrUpLim; // Upper limit for centrality percentile selection
AliAnalysisTaskCheckCascadePbPb(const AliAnalysisTaskCheckCascadePbPb&); // not implemented
AliAnalysisTaskCheckCascadePbPb& operator=(const AliAnalysisTaskCheckCascadePbPb&); // not implemented
- ClassDef(AliAnalysisTaskCheckCascadePbPb, 3);
+ ClassDef(AliAnalysisTaskCheckCascadePbPb, 4);
};
#endif
fkRejectEventPileUp (kTRUE),
fkQualityCutNoTPConlyPrimVtx (kTRUE),
fkQualityCutTPCrefit (kTRUE),
- fkQualityCut80TPCcls (kTRUE),
+ fkQualityCutnTPCcls (kTRUE),
+ fMinnTPCcls (0),
fkExtraSelections (0),
fCentrLowLim(0), fCentrUpLim(0), fCentrEstimator(0),
fVtxRange (0),
fkRejectEventPileUp (kTRUE),
fkQualityCutNoTPConlyPrimVtx (kTRUE),
fkQualityCutTPCrefit (kTRUE),
- fkQualityCut80TPCcls (kTRUE),
+ fkQualityCutnTPCcls (kTRUE),
+ fMinnTPCcls (0),
fkExtraSelections (0),
fCentrLowLim(0), fCentrUpLim(0), fCentrEstimator(0),
fVtxRange (0),
else fPaveTextBookKeeping->AddText("C. Quality Cut(No TPC prim. vtx) = Off ");
if(fkQualityCutTPCrefit) fPaveTextBookKeeping->AddText("D. Quality Cut(TPCrefit) = ON ");
else fPaveTextBookKeeping->AddText("D. Quality Cut(TPCrefit) = Off ");
- if(fkQualityCut80TPCcls) fPaveTextBookKeeping->AddText("E. Quality Cut(80 TPC clusters) = ON ");
- else fPaveTextBookKeeping->AddText("E. Quality Cut(80 TPC clusters) = Off ");
+ if(fkQualityCutnTPCcls) fPaveTextBookKeeping->AddText("E. Quality Cut(n TPC clusters) = ON ");
+ else fPaveTextBookKeeping->AddText("E. Quality Cut(n TPC clusters) = Off ");
if(fkExtraSelections) fPaveTextBookKeeping->AddText("F. Extra Analysis Selections = ON ");
else fPaveTextBookKeeping->AddText("F. Extra Analysis Selections = Off ");
if ((nStatus&AliESDtrack::kTPCrefit) == 0) { AliWarning("Pb / V0 Neg. track has no TPCrefit ... continue!"); continue; }
if ((bachStatus&AliESDtrack::kTPCrefit) == 0) { AliWarning("Pb / Bach. track has no TPCrefit ... continue!"); continue; }
}
- if(fkQualityCut80TPCcls){
+ if(fkQualityCutnTPCcls){
// 2 - Poor quality related to TPC clusters
- if(lPosTPCClusters < 80) { AliWarning("Pb / V0 Pos. track has less than 80 TPC clusters ... continue!"); continue; }
- if(lNegTPCClusters < 80) { AliWarning("Pb / V0 Neg. track has less than 80 TPC clusters ... continue!"); continue; }
- if(lBachTPCClusters < 80) { AliWarning("Pb / Bach. track has less than 80 TPC clusters ... continue!"); continue; }
+ if(lPosTPCClusters < fMinnTPCcls) { AliWarning("Pb / V0 Pos. track has less than n TPC clusters ... continue!"); continue; }
+ if(lNegTPCClusters < fMinnTPCcls) { AliWarning("Pb / V0 Neg. track has less than n TPC clusters ... continue!"); continue; }
+ if(lBachTPCClusters < fMinnTPCcls) { AliWarning("Pb / Bach. track has less than n TPC clusters ... continue!"); continue; }
}
// - Step II.2 : Info over reconstructed cascades
if (!(bachTrackXi->IsOn(AliAODTrack::kTPCrefit))) { AliWarning("Pb / Bach. track has no TPCrefit ... continue!"); continue; }
}
- if (fkQualityCut80TPCcls) {
+ if (fkQualityCutnTPCcls) {
// 2 - Poor quality related to TPC clusters
- if(lPosTPCClusters < 80) { AliWarning("Pb / V0 Pos. track has less than 80 TPC clusters ... continue!"); continue; }
- if(lNegTPCClusters < 80) { AliWarning("Pb / V0 Neg. track has less than 80 TPC clusters ... continue!"); continue; }
- if(lBachTPCClusters < 80) { AliWarning("Pb / Bach. track has less than 80 TPC clusters ... continue!"); continue; }
+ if(lPosTPCClusters < fMinnTPCcls) { AliWarning("Pb / V0 Pos. track has less than n TPC clusters ... continue!"); continue; }
+ if(lNegTPCClusters < fMinnTPCcls) { AliWarning("Pb / V0 Neg. track has less than n TPC clusters ... continue!"); continue; }
+ if(lBachTPCClusters < fMinnTPCcls) { AliWarning("Pb / Bach. track has less than n TPC clusters ... continue!"); continue; }
}
// - Step II.2 : Info over reconstructed cascades
void SetRejectEventPileUp (Bool_t rejectPileUp = kTRUE) { fkRejectEventPileUp = rejectPileUp; }
void SetQualityCutNoTPConlyPrimVtx (Bool_t qualityCutNoTPConlyPrimVtx = kTRUE) { fkQualityCutNoTPConlyPrimVtx = qualityCutNoTPConlyPrimVtx;}
void SetQualityCutTPCrefit (Bool_t qualityCutTPCrefit = kTRUE) { fkQualityCutTPCrefit = qualityCutTPCrefit; }
- void SetQualityCut80TPCcls (Bool_t qualityCut80TPCcls = kTRUE) { fkQualityCut80TPCcls = qualityCut80TPCcls; }
+ void SetQualityCutnTPCcls (Bool_t qualityCutnTPCcls = kTRUE) { fkQualityCutnTPCcls = qualityCutnTPCcls; }
+ void SetQualityCutMinnTPCcls (Int_t minnTPCcls = 70 ) { fMinnTPCcls = minnTPCcls; }
void SetExtraSelections (Bool_t extraSelections = 0 ) { fkExtraSelections = extraSelections; }
void SetCentralityLowLim (Float_t centrlowlim = 0. ) { fCentrLowLim = centrlowlim; }
void SetCentralityUpLim (Float_t centruplim = 100. ) { fCentrUpLim = centruplim; }
void SetCentralityEst (TString centrest = "V0M") { fCentrEstimator = centrest; }
- void SetVertexRange (Float_t vtxrange = 0. ) { fVtxRange = vtxrange; }
- void SetApplyAccCut (Bool_t acccut = kFALSE) { fApplyAccCut = acccut;}
+ void SetVertexRange (Float_t vtxrange = 0. ) { fVtxRange = vtxrange; }
+ void SetApplyAccCut (Bool_t acccut = kFALSE){ fApplyAccCut = acccut; }
private:
// Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
Bool_t fkRejectEventPileUp; // Boolean : kTRUE = enable the rejection of events tagged as pile-up by SPD (AliESDEvent::IsPileupFromSPD)
Bool_t fkQualityCutNoTPConlyPrimVtx; // Boolean : kTRUE = prim vtx should be SPD or Tracking vertex
Bool_t fkQualityCutTPCrefit; // Boolean : kTRUE = ask for TPCrefit for the 3 daughter tracks
- Bool_t fkQualityCut80TPCcls; // Boolean : kTRUE = ask for 80 TPC clusters for each daughter track
+ Bool_t fkQualityCutnTPCcls; // Boolean : kTRUE = ask forat least n TPC clusters for each daughter track
+ Int_t fMinnTPCcls; // Minimum number of TPC clusters for each daughter track
Bool_t fkExtraSelections; // Boolean : kTRUE = apply tighter selections, before starting the analysis
Float_t fCentrLowLim; // Lower limit for centrality percentile selection
Float_t fCentrUpLim; // Upper limit for centrality percentile selection
AliAnalysisTaskCheckPerformanceCascadePbPb(const AliAnalysisTaskCheckPerformanceCascadePbPb&); // not implemented
AliAnalysisTaskCheckPerformanceCascadePbPb& operator=(const AliAnalysisTaskCheckPerformanceCascadePbPb&); // not implemented
- ClassDef(AliAnalysisTaskCheckPerformanceCascadePbPb, 3);
+ ClassDef(AliAnalysisTaskCheckPerformanceCascadePbPb, 4);
};
#endif
-AliAnalysisTaskCheckCascadePbPb *AddTaskCheckCascadePbPb( Float_t centrlowlim = 0.,
+AliAnalysisTaskCheckCascadePbPb *AddTaskCheckCascadePbPb( Int_t minnTPCcls = 70,
+ Float_t centrlowlim = 0.,
Float_t centruplim = 90.,
TString centrest = "V0M",
Float_t vtxlim = 10.,
taskcheckcascadepbpb->SetQualityCutZprimVtxPos (kTRUE); // selects vertices in +-10cm
taskcheckcascadepbpb->SetQualityCutNoTPConlyPrimVtx (kTRUE); // retains only events with tracking + SPD vertex
taskcheckcascadepbpb->SetQualityCutTPCrefit (kTRUE); // requires TPC refit flag to be true to select a track
- taskcheckcascadepbpb->SetQualityCut80TPCcls (kTRUE); // rejects tracks that have less than 80 clusters in the TPC
+ taskcheckcascadepbpb->SetQualityCutnTPCcls (kTRUE); // rejects tracks that have less than n clusters in the TPC
+ taskcheckcascadepbpb->SetQualityCutMinnTPCcls (minnTPCcls); // minimum number of TPC clusters to accept daughter tracks
taskcheckcascadepbpb->SetExtraSelections (kextrasel); // used to add other selection cuts
taskcheckcascadepbpb->SetCentralityLowLim (centrlowlim); // setting centrality selection vriables
taskcheckcascadepbpb->SetCentralityUpLim (centruplim);
TString outputFileName = AliAnalysisManager::GetCommonFileName();
outputFileName += ":PWGLFStrangeness.outputCheckCascadePbPb";
- if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
Printf("AddTaskCheckCascade - Set OutputFileName : \n %s\n", outputFileName.Data() );
-AliAnalysisTaskCheckPerformanceCascadePbPb *AddTaskCheckPerformanceCascadePbPb( Float_t centrlowlim = 0.,
+AliAnalysisTaskCheckPerformanceCascadePbPb *AddTaskCheckPerformanceCascadePbPb( Int_t minnTPCcls = 70,
+ Float_t centrlowlim = 0.,
Float_t centruplim = 90.,
TString centrest = "V0M",
Float_t vtxlim = 10.,
// Create and configure the task
AliAnalysisTaskCheckPerformanceCascadePbPb *taskCheckPerfCascadePbPb = new AliAnalysisTaskCheckPerformanceCascadePbPb("TaskCheckPerfCascadePbPb");
- taskCheckPerfCascadePbPb->SetAnalysisType (type);
+ taskCheckPerfCascadePbPb-> SetAnalysisType (type);
taskCheckPerfCascadePbPb-> SetRelaunchV0CascVertexers (krelaunchvertexers);
taskCheckPerfCascadePbPb-> SetQualityCutZprimVtxPos (kTRUE);
taskCheckPerfCascadePbPb-> SetRejectEventPileUp (kFALSE);
taskCheckPerfCascadePbPb-> SetQualityCutNoTPConlyPrimVtx (kTRUE);
taskCheckPerfCascadePbPb-> SetQualityCutTPCrefit (kTRUE);
- taskCheckPerfCascadePbPb-> SetQualityCut80TPCcls (kTRUE);
+ taskCheckPerfCascadePbPb-> SetQualityCutnTPCcls (kTRUE);
+ taskCheckPerfCascadePbPb-> SetQualityCutMinnTPCcls (minnTPCcls);
taskCheckPerfCascadePbPb-> SetExtraSelections (kextrasel);
taskCheckPerfCascadePbPb-> SetApplyAccCut (kacccut);
taskCheckPerfCascadePbPb-> SetCentralityLowLim (centrlowlim); // setting centrality selection vriables
TString outputFileName = AliAnalysisManager::GetCommonFileName();
outputFileName += ":PWGLFStrangeness.outputCheckPerformanceCascadePbPb";
- if (mgr->GetMCtruthEventHandler()) outputFileName += "_MC";
Printf("AddTaskCheckPerfCascadePbPb - Set OutputFileName : \n %s\n", outputFileName.Data() );
- AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCascMC",
+ AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCascPerf",
TList::Class(),
AliAnalysisManager::kOutputContainer,
outputFileName );
Float_t centruplim = 90.,
TString centrest = "V0M",
Float_t vtxlim = 10.,
+ Int_t minnTPCcls = 70,
Bool_t kextrasel = kFALSE,
- Bool_t acccut = kFALSE,
+ Bool_t kacccut = kFALSE,
Bool_t krelaunchvertexers = kFALSE,
TString anatype = "AOD",//"ESD",
TString gridoutputdir = "LHC10h_AOD086",
AliAnalysisTaskPIDResponse *pidTask = AddTaskPIDResponse(useMC);
if (runperformancetask) {
- gROOT->LoadMacro("AliAnalysisTaskCheckPerformanceCascadePbPb.cxx++g");
- AliAnalysisTaskCheckPerformanceCascadePbPb *task = new AliAnalysisTaskCheckPerformanceCascadePbPb("TaskPerformanceCascade");
- task->SetApplyAccCut (acccut);
- task->SetRejectEventPileUp (kFALSE); // selects pile up
+ gROOT->LoadMacro("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/AliAnalysisTaskCheckPerformanceCascadePbPb.cxx++g");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/macros/AddTaskCheckPerformanceCascadePbPb.C");
+ AliAnalysisTaskCheckPerformanceCascadePbPb *task = AddTaskCheckPerformanceCascadePbPb(minnTPCcls, centrlowlim, centruplim, centrest,vtxlim,kextrasel ,kacccut ,krelaunchvertexers);
+
} else {
- gROOT->LoadMacro("AliAnalysisTaskCheckCascadePbPb.cxx++g");
- AliAnalysisTaskCheckCascadePbPb *task = new AliAnalysisTaskCheckCascadePbPb("TaskCascade");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/AliAnalysisTaskCheckCascadePbPb.cxx++g");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/macros/AddTaskCheckCascadePbPb.C");
+ AliAnalysisTaskCheckCascadePbPb *task = AddTaskCheckCascadePbPb(minnTPCcls, centrlowlim, centruplim, centrest,vtxlim,kextrasel ,krelaunchvertexers);
+
}
- task->SetRelaunchV0CascVertexers (krelaunchvertexers);
- task->SetAnalysisType (anatype);
- task->SetQualityCutZprimVtxPos (kTRUE); // selects vertices in +-10cm
- task->SetQualityCutNoTPConlyPrimVtx (kTRUE); // retains only events with tracking + SPD vertex
- task->SetQualityCutTPCrefit (kTRUE); // requires TPC refit flag to be true to select a track
- task->SetQualityCut80TPCcls (kTRUE); // rejects tracks that have less than 80 clusters in the TPC
- task->SetExtraSelections (kextrasel); // used to add other selection cuts
- task->SetCentralityLowLim (centrlowlim); // setting centrality selection vriables
- task->SetCentralityUpLim (centruplim);
- task->SetCentralityEst (centrest);
- task->SetVertexRange (vtxlim);
- mgr->AddTask(task);
- task->SelectCollisionCandidates();
//Create containers for input/output
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
Float_t centrlowlim = 0.,
Float_t centruplim = 90.,
TString centrest = "V0M",
- Float_t vtxlim = 10.,
+ Float_t vtxlim = 10.,
+ Int_t minnTPCcls = 70,
Bool_t kextrasel = kFALSE,
- Bool_t acccut = kFALSE,
+ Bool_t kacccut = kFALSE,
Bool_t krelaunchvertexers= kFALSE,
Int_t nEvents = 1.0*1e7,
Int_t nEventsSkip = 0) {
Analysis(dataset.Data(), outFileMC, outFileData,
useMC, nEvents, nEventsSkip,
- centrlowlim, centruplim, centrest,
+ minnTPCcls, centrlowlim, centruplim, centrest,
vtxlim, kextrasel,
- runperformancetask, acccut, krelaunchvertexers);
+ runperformancetask, kacccut, krelaunchvertexers);
}
//________________________________________________________________________
void Analysis(TString dataset, TString outFileMC, TString outFileData,
Bool_t useMC, Int_t nEvents, Int_t nEventsSkip,
- Float_t centrlowlim, Float_t centruplim, TString centrest,
+ Int_t minnTPCcls, Float_t centrlowlim, Float_t centruplim, TString centrest,
Float_t vtxlim,
- Bool_t kextrasel, Bool_t runperformancetask, Bool_t acccut, Bool_t krelaunchvertexers) {
+ Bool_t kextrasel, Bool_t runperformancetask, Bool_t kacccut, Bool_t krelaunchvertexers) {
TString format = GetFormatFromDataSet(dataset);
// create task
if (runperformancetask) {
- AliAnalysisTaskCheckPerformanceCascadePbPb *task = new AliAnalysisTaskCheckPerformanceCascadePbPb("AliAnalysisTaskCheckPerformanceCascadePbPb");
- task->SetApplyAccCut (acccut);
- task->SetRejectEventPileUp(kFALSE);
-
+ gROOT->LoadMacro("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/AliAnalysisTaskCheckPerformanceCascadePbPb.cxx++g");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/macros/AddTaskCheckPerformanceCascadePbPb.C");
+ AliAnalysisTaskCheckPerformanceCascadePbPb *task = AddTaskCheckPerformanceCascadePbPb(minnTPCcls, centrlowlim, centruplim, centrest,vtxlim,kextrasel ,kacccut ,krelaunchvertexers);
+
} else {
- AliAnalysisTaskCheckCascadePbPb *task = new AliAnalysisTaskCheckCascadePbPb("AliAnalysisTaskCheckCascadePbPb");
- }
+ gROOT->LoadMacro("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/AliAnalysisTaskCheckCascadePbPb.cxx++g");
+ gROOT->LoadMacro("$ALICE_ROOT/PWGLF/STRANGENESS/Cascades/macros/AddTaskCheckCascadePbPb.C");
+ AliAnalysisTaskCheckCascadePbPb *task = AddTaskCheckCascadePbPb(minnTPCcls, centrlowlim, centruplim, centrest,vtxlim,kextrasel ,krelaunchvertexers);
- task->SetAnalysisType (format);
- task->SetRelaunchV0CascVertexers (krelaunchvertexers);
- task->SetQualityCutZprimVtxPos (kTRUE); // selects vertices in +-10cm
- task->SetQualityCutNoTPConlyPrimVtx (kTRUE); // retains only events with tracking + SPD vertex
- task->SetQualityCutTPCrefit (kTRUE); // requires TPC refit flag to be true to select a track
- task->SetQualityCut80TPCcls (kTRUE); // rejects tracks that have less than 80 clusters in the TPC
- task->SetExtraSelections (kextrasel); // used to add other selection cuts
- task->SetCentralityLowLim (centrlowlim); // setting centrality selection variables
- task->SetCentralityUpLim (centruplim);
- task->SetCentralityEst (centrest);
- task->SetVertexRange (vtxlim);
+ }
// create output container
if (runperformancetask) AliAnalysisDataContainer *output = mgr->CreateContainer("clist", TList::Class(), AliAnalysisManager::kOutputContainer, outFileMC);
// add task to the manager
mgr->AddTask(task);
- task->SelectCollisionCandidates();
-
// connect input and output
mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(task, 1, output);