8 Int_t AODProtection = 0,
22 ::Error(
"AddTaskResolutionK0sReco",
"No analysis manager to connect to.");
31 filecuts = TFile::Open(cutFileName.Data());
32 if (!filecuts || (filecuts && !(filecuts->IsOpen())))
33 AliFatal(
"Cut object not found: analysis will not start!\n");
42 const Int_t nCutsTuple = 28;
43 Float_t minCutsTuple[nCutsTuple]={0.}; std::fill_n(minCutsTuple, nCutsTuple, -1000.);
44 Float_t maxCutsTuple[nCutsTuple]={0.}; std::fill_n(maxCutsTuple, nCutsTuple, 1000.);
46 Float_t massK0 = TDatabasePDG::Instance()->GetParticle(310)->Mass();
47 Float_t massDs = TDatabasePDG::Instance()->GetParticle(431)->Mass();
48 Float_t massDp = TDatabasePDG::Instance()->GetParticle(411)->Mass();
50 minCutsTuple[ 0] = massK0-0.05; maxCutsTuple[ 0] = massK0+0.05;
51 minCutsTuple[ 1] = 0.; maxCutsTuple[ 1] = 40.;
52 minCutsTuple[ 2] = 0.; maxCutsTuple[ 2] = 140.;
53 minCutsTuple[ 3] = 0.; maxCutsTuple[ 3] = 20.;
54 minCutsTuple[ 4] = 0.99; maxCutsTuple[ 4] = 1.;
55 minCutsTuple[ 5] = 0.; maxCutsTuple[ 5] = 1000.;
56 minCutsTuple[ 6] = -40.; maxCutsTuple[ 6] = 40.;
57 minCutsTuple[ 7] = -40.; maxCutsTuple[ 7] = 40.;
58 minCutsTuple[ 8] = 0.; maxCutsTuple[ 8] = 3.;
59 minCutsTuple[ 9] = 0.1; maxCutsTuple[ 9] = 40.;
60 minCutsTuple[10] = 0.1; maxCutsTuple[10] = 40.;
61 minCutsTuple[11] = 0.3; maxCutsTuple[11] = 40.;
62 minCutsTuple[12] = -3.; maxCutsTuple[12] = 3.;
63 minCutsTuple[13] = massDs-0.2; maxCutsTuple[13] = massDs+0.2;
64 minCutsTuple[14] = massDp-0.2; maxCutsTuple[14] = massDp+0.2;
65 minCutsTuple[15] = 1.; maxCutsTuple[15] = 24.;
66 minCutsTuple[16] = 0.; maxCutsTuple[16] = 8.;
67 minCutsTuple[17] = -1.; maxCutsTuple[17] = 1.;
68 minCutsTuple[18] = -1.; maxCutsTuple[18] = 1.;
69 minCutsTuple[19] = 0.; maxCutsTuple[19] = 1.;
70 minCutsTuple[20] = -1.; maxCutsTuple[20] = 1.;
71 minCutsTuple[21] = 0.; maxCutsTuple[21] = 3.;
72 minCutsTuple[22] = 0.; maxCutsTuple[22] = 1000.;
73 minCutsTuple[23] = 0.; maxCutsTuple[23] = 3.;
74 minCutsTuple[24] = 0.; maxCutsTuple[24] = 1000.;
75 minCutsTuple[25] = 0.; maxCutsTuple[25] = 1000.;
76 minCutsTuple[26] = -1000.; maxCutsTuple[26] = 1000.;
77 minCutsTuple[27] = -1000.; maxCutsTuple[27] = 1000.;
83 AliFatal(
"Analysis task AliAnalysisTaskSEDstoK0sK not found (NULL pointer)");
92 mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
96 TString commonOutputName = AliAnalysisManager::GetCommonFileName();
97 commonOutputName +=
":PWGHF_D2H_AnalysisDstoK0sK";
98 commonOutputName += suffixName;
101 AliAnalysisDataContainer *outputCuts = mgr->CreateContainer(
"AnalysisCuts", TList::Class(),
102 AliAnalysisManager::kOutputContainer, commonOutputName.Data());
103 mgr->ConnectOutput(task, 1, outputCuts);
105 AliAnalysisDataContainer *outputNorm = mgr->CreateContainer(
"NormalisationCounter", AliNormalizationCounter::Class(),
106 AliAnalysisManager::kOutputContainer, commonOutputName.Data());
107 mgr->ConnectOutput(task, 2, outputNorm);
109 AliAnalysisDataContainer *outputSele = mgr->CreateContainer(
"DstoK0sSelections", TList::Class(),
110 AliAnalysisManager::kOutputContainer, commonOutputName.Data());
111 mgr->ConnectOutput(task, 3, outputSele);
115 AliAnalysisDataContainer *outputCand = mgr->CreateContainer(
"DstoK0sVariablesCandidates", TList::Class(),
116 AliAnalysisManager::kOutputContainer, commonOutputName.Data());
117 mgr->ConnectOutput(task, 4, outputCand);
119 AliAnalysisDataContainer *outputPIDs = mgr->CreateContainer(
"DstoK0sVariablesPID", TList::Class(),
120 AliAnalysisManager::kOutputContainer, commonOutputName.Data());
121 mgr->ConnectOutput(task, 5, outputPIDs);
124 AliAnalysisDataContainer *outputMC = mgr->CreateContainer(
"DstoK0sMonteCarlo", TList::Class(),
125 AliAnalysisManager::kOutputContainer, commonOutputName.Data());
126 mgr->ConnectOutput(task, 6, outputMC);
129 AliAnalysisDataContainer *outputTupl = mgr->CreateContainer(
"DstoK0sKTuple", TNtuple::Class(),
130 AliAnalysisManager::kOutputContainer, commonOutputName.Data());
131 mgr->ConnectOutput(task, 4, outputTupl);
void SetUseSelectionBit(Bool_t flag)
Class for cuts on AOD reconstructed Ds->K0S+K.
AliAnalysisTaskSE to produce Ds->K0S+K invariant mass spectra and THnSparse for cut optimisations...
AliAnalysisTaskSEDstoK0sK * AddTaskDstoK0sK(TString cutFileName, Bool_t fReadMC, Bool_t fFillNtuple, Bool_t fUseSelectionBit, Int_t AODProtection=0, TString suffixName="")
void SetAODMismatchProtection(Int_t opt)