]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding new task macros for Kink resonance analysis (by P.Ganoti, pganoti@phys.uoa.gr)
authorbhippoly <bhippoly@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 23 Oct 2009 15:22:34 +0000 (15:22 +0000)
committerbhippoly <bhippoly@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 23 Oct 2009 15:22:34 +0000 (15:22 +0000)
PWG2/KINK/macros/AddTaskKinkResonanceKstarESD.C [new file with mode: 0644]
PWG2/KINK/macros/AddTaskKinkResonanceKstarMC.C [new file with mode: 0644]
PWG2/KINK/macros/AddTaskKinkResonanceL1520ESD.C [new file with mode: 0644]
PWG2/KINK/macros/AddTaskKinkResonanceL1520MC.C [new file with mode: 0644]
PWG2/KINK/macros/AddTaskKinkResonancePhiESD.C [new file with mode: 0644]
PWG2/KINK/macros/AddTaskKinkResonancePhiMC.C [new file with mode: 0644]

diff --git a/PWG2/KINK/macros/AddTaskKinkResonanceKstarESD.C b/PWG2/KINK/macros/AddTaskKinkResonanceKstarESD.C
new file mode 100644 (file)
index 0000000..de146ae
--- /dev/null
@@ -0,0 +1,66 @@
+AliAnalysisTaskKinkResonance *AddTaskKinkResonanceKstarESD(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/)
+{
+// Creates, configures and attaches to the train a kink resonance task.
+// Get the pointer to the existing analysis manager via the static access method.
+//==============================================================================
+AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Error("AddTaskKinkResonanceKstarESD", "No analysis manager to connect to.");
+return NULL;
+}
+
+// Check the analysis type using the event handlers connected to the analysis manager.
+//==============================================================================
+if (!mgr->GetInputEventHandler()) {
+ ::Error("AddTaskKinkResonanceKstarESD", "This task requires an input event handler");
+ return NULL;
+}
+TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+ if (type != "ESD") {
+ ::Error("AddTaskKinkResonanceKstarESD", "This task needs an ESD input handler");
+return NULL;
+}
+if (!mgr->GetMCtruthEventHandler()) {
+ ::Error("AddTaskKinkResonanceKstarESD", "This task needs an MC handler");
+ return NULL;
+}
+
+// Setup the analysis object
+  
+  AliResonanceKink  *kinkResonanceObjectKESD=new AliResonanceKink();
+  kinkResonanceObjectKESD->InitOutputHistograms(60, 0.6, 1.2);
+  kinkResonanceObjectKESD->SetPDGCodes(kKPlus, kPiPlus, AliResonanceKink::kKstar0); 
+  kinkResonanceObjectKESD->SetAnalysisType("ESD"); // "ESD" or "MC"
+  kinkResonanceObjectKESD->SetMaxNsigmaToVertex(4.0);
+  kinkResonanceObjectKESD->SetMaxDCAxy(3.0);
+  kinkResonanceObjectKESD->SetMaxDCAzaxis(3.0);
+  kinkResonanceObjectKESD->SetPtTrackCut(0.25);
+  kinkResonanceObjectKESD->SetMinTPCclusters(50);
+  kinkResonanceObjectKESD->SetMaxChi2PerTPCcluster(3.5);
+  kinkResonanceObjectKESD->SetMaxCov0(2.0);
+  kinkResonanceObjectKESD->SetMaxCov2(2.0);
+  kinkResonanceObjectKESD->SetMaxCov5(0.5);
+  kinkResonanceObjectKESD->SetMaxCov9(0.5);
+  kinkResonanceObjectKESD->SetMaxCov14(2.0);
+
+// Create and configure the task
+AliAnalysisTaskKinkResonance *taskresonanceKstarESD = new AliAnalysisTaskKinkResonance("TaskResKstarESDKinkPID");
+taskresonanceKstarESD->SetAnalysisKinkObject(kinkResonanceObjectKESD);
+mgr->AddTask(taskresonanceKstarESD);
+
+// Create ONLY the output containers for the data produced by the task.
+// Get and connect other common input/output containers via the manager as below
+//==============================================================================
+TString outname = "PP";
+if (lCollidingSystems) outname = "AA";
+if (mgr->GetMCtruthEventHandler()) outname += "-MC-";
+outname += "KinkResonanceList.root";
+AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResKstarESD",
+                                                          TList::Class(),
+                                                          AliAnalysisManager::kOutputContainer,
+                                                          outname );
+
+mgr->ConnectInput(taskresonanceKstarESD, 0, mgr->GetCommonInputContainer());
+mgr->ConnectOutput(taskresonanceKstarESD, 1, coutput1);
+return taskresonanceKstarESD;
+} 
diff --git a/PWG2/KINK/macros/AddTaskKinkResonanceKstarMC.C b/PWG2/KINK/macros/AddTaskKinkResonanceKstarMC.C
new file mode 100644 (file)
index 0000000..c3d6a4e
--- /dev/null
@@ -0,0 +1,66 @@
+AliAnalysisTaskKinkResonance *AddTaskKinkResonanceKstarMC(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/)
+{
+// Creates, configures and attaches to the train a kink resonance task.
+// Get the pointer to the existing analysis manager via the static access method.
+//==============================================================================
+AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Error("AddTaskKinkResonanceKstarMC", "No analysis manager to connect to.");
+return NULL;
+}
+
+// Check the analysis type using the event handlers connected to the analysis manager.
+//==============================================================================
+if (!mgr->GetInputEventHandler()) {
+ ::Error("AddTaskKinkResonanceKstarMC", "This task requires an input event handler");
+ return NULL;
+}
+TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+ if (type != "ESD") {
+ ::Error("AddTaskKinkResonanceKstarMC", "This task needs an ESD input handler");
+return NULL;
+}
+if (!mgr->GetMCtruthEventHandler()) {
+ ::Error("AddTaskKinkResonanceKstarMC", "This task needs an MC handler");
+ return NULL;
+}
+
+// Setup the analysis object
+  
+  AliResonanceKink  *kinkResonanceObjectKMC=new AliResonanceKink();
+  kinkResonanceObjectKMC->InitOutputHistograms(60, 0.6, 1.2);
+  kinkResonanceObjectKMC->SetPDGCodes(kKPlus, kPiPlus, AliResonanceKink::kKstar0); 
+  kinkResonanceObjectKMC->SetAnalysisType("MC"); // "ESD" or "MC"
+  kinkResonanceObjectKMC->SetMaxNsigmaToVertex(4.0);
+  kinkResonanceObjectKMC->SetMaxDCAxy(3.0);
+  kinkResonanceObjectKMC->SetMaxDCAzaxis(3.0);
+  kinkResonanceObjectKMC->SetPtTrackCut(0.25);
+  kinkResonanceObjectKMC->SetMinTPCclusters(50);
+  kinkResonanceObjectKMC->SetMaxChi2PerTPCcluster(3.5);
+  kinkResonanceObjectKMC->SetMaxCov0(2.0);
+  kinkResonanceObjectKMC->SetMaxCov2(2.0);
+  kinkResonanceObjectKMC->SetMaxCov5(0.5);
+  kinkResonanceObjectKMC->SetMaxCov9(0.5);
+  kinkResonanceObjectKMC->SetMaxCov14(2.0);
+
+// Create and configure the task
+AliAnalysisTaskKinkResonance *taskresonanceKstarMC = new AliAnalysisTaskKinkResonance("TaskResKstarMCKinkPID");
+taskresonanceKstarMC->SetAnalysisKinkObject(kinkResonanceObjectKMC);
+mgr->AddTask(taskresonanceKstarMC);
+
+// Create ONLY the output containers for the data produced by the task.
+// Get and connect other common input/output containers via the manager as below
+//==============================================================================
+TString outname = "PP";
+if (lCollidingSystems) outname = "AA";
+if (mgr->GetMCtruthEventHandler()) outname += "-MC-";
+outname += "KinkResonanceList.root";
+AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResKstarMC",
+                                                          TList::Class(),
+                                                          AliAnalysisManager::kOutputContainer,
+                                                          outname );
+
+mgr->ConnectInput(taskresonanceKstarMC, 0, mgr->GetCommonInputContainer());
+mgr->ConnectOutput(taskresonanceKstarMC, 1, coutput1);
+return taskresonanceKstarMC;
+} 
diff --git a/PWG2/KINK/macros/AddTaskKinkResonanceL1520ESD.C b/PWG2/KINK/macros/AddTaskKinkResonanceL1520ESD.C
new file mode 100644 (file)
index 0000000..7d82e86
--- /dev/null
@@ -0,0 +1,66 @@
+AliAnalysisTaskKinkResonance *AddTaskKinkResonanceL1520ESD(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/)
+{
+// Creates, configures and attaches to the train a kink resonance task.
+// Get the pointer to the existing analysis manager via the static access method.
+//==============================================================================
+AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Error("AddTaskKinkResonanceL1520ESD", "No analysis manager to connect to.");
+return NULL;
+}
+
+// Check the analysis type using the event handlers connected to the analysis manager.
+//==============================================================================
+if (!mgr->GetInputEventHandler()) {
+ ::Error("AddTaskKinkResonanceL1520ESD", "This task requires an input event handler");
+ return NULL;
+}
+TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+ if (type != "ESD") {
+ ::Error("AddTaskKinkResonanceL1520ESD", "This task needs an ESD input handler");
+return NULL;
+}
+if (!mgr->GetMCtruthEventHandler()) {
+ ::Error("AddTaskKinkResonanceL1520ESD", "This task needs an MC handler");
+ return NULL;
+}
+
+// Setup the analysis object
+  
+  AliResonanceKink  *kinkResonanceObjectLESD=new AliResonanceKink();
+  kinkResonanceObjectLESD->InitOutputHistograms(100,1.4,1.8);
+  kinkResonanceObjectLESD->SetPDGCodes(kProton, kKPlus, AliResonanceKink::kLambda1520); 
+  kinkResonanceObjectLESD->SetAnalysisType("ESD"); // "ESD" or "MC"
+  kinkResonanceObjectLESD->SetMaxNsigmaToVertex(4.0);
+  kinkResonanceObjectLESD->SetMaxDCAxy(3.0);
+  kinkResonanceObjectLESD->SetMaxDCAzaxis(3.0);
+  kinkResonanceObjectLESD->SetPtTrackCut(0.25);
+  kinkResonanceObjectLESD->SetMinTPCclusters(50);
+  kinkResonanceObjectLESD->SetMaxChi2PerTPCcluster(3.5);
+  kinkResonanceObjectLESD->SetMaxCov0(2.0);
+  kinkResonanceObjectLESD->SetMaxCov2(2.0);
+  kinkResonanceObjectLESD->SetMaxCov5(0.5);
+  kinkResonanceObjectLESD->SetMaxCov9(0.5);
+  kinkResonanceObjectLESD->SetMaxCov14(2.0);
+
+// Create and configure the task
+AliAnalysisTaskKinkResonance *taskresonanceL1520ESD = new AliAnalysisTaskKinkResonance("TaskResL1520ESDKinkPID");
+taskresonanceL1520ESD->SetAnalysisKinkObject(kinkResonanceObjectLESD);
+mgr->AddTask(taskresonanceL1520ESD);
+
+// Create ONLY the output containers for the data produced by the task.
+// Get and connect other common input/output containers via the manager as below
+//==============================================================================
+TString outname = "PP";
+if (lCollidingSystems) outname = "AA";
+if (mgr->GetMCtruthEventHandler()) outname += "-MC-";
+outname += "KinkResonanceList.root";
+AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResL1520ESD",
+                                                          TList::Class(),
+                                                          AliAnalysisManager::kOutputContainer,
+                                                          outname );
+
+mgr->ConnectInput(taskresonanceL1520ESD, 0, mgr->GetCommonInputContainer());
+mgr->ConnectOutput(taskresonanceL1520ESD, 1, coutput1);
+return taskresonanceL1520ESD;
+} 
diff --git a/PWG2/KINK/macros/AddTaskKinkResonanceL1520MC.C b/PWG2/KINK/macros/AddTaskKinkResonanceL1520MC.C
new file mode 100644 (file)
index 0000000..51cf57d
--- /dev/null
@@ -0,0 +1,66 @@
+AliAnalysisTaskKinkResonance *AddTaskKinkResonanceL1520MC(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/)
+{
+// Creates, configures and attaches to the train a kink resonance task.
+// Get the pointer to the existing analysis manager via the static access method.
+//==============================================================================
+AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Error("AddTaskKinkResonanceL1520MC", "No analysis manager to connect to.");
+return NULL;
+}
+
+// Check the analysis type using the event handlers connected to the analysis manager.
+//==============================================================================
+if (!mgr->GetInputEventHandler()) {
+ ::Error("AddTaskKinkResonanceL1520MC", "This task requires an input event handler");
+ return NULL;
+}
+TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+ if (type != "ESD") {
+ ::Error("AddTaskKinkResonanceL1520MC", "This task needs an ESD input handler");
+return NULL;
+}
+if (!mgr->GetMCtruthEventHandler()) {
+ ::Error("AddTaskKinkResonanceL1520MC", "This task needs an MC handler");
+ return NULL;
+}
+
+// Setup the analysis object
+  
+  AliResonanceKink  *kinkResonanceObjectLMC=new AliResonanceKink();
+  kinkResonanceObjectLMC->InitOutputHistograms(100,1.4,1.8);
+  kinkResonanceObjectLMC->SetPDGCodes(kProton, kKPlus, AliResonanceKink::kLambda1520); 
+  kinkResonanceObjectLMC->SetAnalysisType("MC"); // "ESD" or "MC"
+  kinkResonanceObjectLMC->SetMaxNsigmaToVertex(4.0);
+  kinkResonanceObjectLMC->SetMaxDCAxy(3.0);
+  kinkResonanceObjectLMC->SetMaxDCAzaxis(3.0);
+  kinkResonanceObjectLMC->SetPtTrackCut(0.25);
+  kinkResonanceObjectLMC->SetMinTPCclusters(50);
+  kinkResonanceObjectLMC->SetMaxChi2PerTPCcluster(3.5);
+  kinkResonanceObjectLMC->SetMaxCov0(2.0);
+  kinkResonanceObjectLMC->SetMaxCov2(2.0);
+  kinkResonanceObjectLMC->SetMaxCov5(0.5);
+  kinkResonanceObjectLMC->SetMaxCov9(0.5);
+  kinkResonanceObjectLMC->SetMaxCov14(2.0);
+
+// Create and configure the task
+AliAnalysisTaskKinkResonance *taskresonanceL1520MC = new AliAnalysisTaskKinkResonance("TaskResL1520MCKinkPID");
+taskresonanceL1520MC->SetAnalysisKinkObject(kinkResonanceObjectLMC);
+mgr->AddTask(taskresonanceL1520MC);
+
+// Create ONLY the output containers for the data produced by the task.
+// Get and connect other common input/output containers via the manager as below
+//==============================================================================
+TString outname = "PP";
+if (lCollidingSystems) outname = "AA";
+if (mgr->GetMCtruthEventHandler()) outname += "-MC-";
+outname += "KinkResonanceList.root";
+AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResL1520MC",
+                                                          TList::Class(),
+                                                          AliAnalysisManager::kOutputContainer,
+                                                          outname );
+
+mgr->ConnectInput(taskresonanceL1520MC, 0, mgr->GetCommonInputContainer());
+mgr->ConnectOutput(taskresonanceL1520MC, 1, coutput1);
+return taskresonanceL1520MC;
+} 
diff --git a/PWG2/KINK/macros/AddTaskKinkResonancePhiESD.C b/PWG2/KINK/macros/AddTaskKinkResonancePhiESD.C
new file mode 100644 (file)
index 0000000..cd8aad9
--- /dev/null
@@ -0,0 +1,66 @@
+AliAnalysisTaskKinkResonance *AddTaskKinkResonancePhiESD(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/)
+{
+// Creates, configures and attaches to the train a kink resonance task.
+// Get the pointer to the existing analysis manager via the static access method.
+//==============================================================================
+AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Error("AddTaskKinkResonancePhiESD", "No analysis manager to connect to.");
+return NULL;
+}
+
+// Check the analysis type using the event handlers connected to the analysis manager.
+//==============================================================================
+if (!mgr->GetInputEventHandler()) {
+ ::Error("AddTaskKinkResonancePhiESD", "This task requires an input event handler");
+ return NULL;
+}
+TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+ if (type != "ESD") {
+ ::Error("AddTaskKinkResonancePhiESD", "This task needs an ESD input handler");
+return NULL;
+}
+if (!mgr->GetMCtruthEventHandler()) {
+ ::Error("AddTaskKinkResonancePhiESD", "This task needs an MC handler");
+ return NULL;
+}
+
+// Setup the analysis object
+  
+  AliResonanceKink  *kinkResonanceObjectPESD=new AliResonanceKink();
+  kinkResonanceObjectPESD->InitOutputHistograms(70,0.99,1.088);
+  kinkResonanceObjectPESD->SetPDGCodes(kKPlus, kKPlus, AliResonanceKink::kPhi); 
+  kinkResonanceObjectPESD->SetAnalysisType("ESD"); // "ESD" or "MC"
+  kinkResonanceObjectPESD->SetMaxNsigmaToVertex(4.0);
+  kinkResonanceObjectPESD->SetMaxDCAxy(3.0);
+  kinkResonanceObjectPESD->SetMaxDCAzaxis(3.0);
+  kinkResonanceObjectPESD->SetPtTrackCut(0.25);
+  kinkResonanceObjectPESD->SetMinTPCclusters(50);
+  kinkResonanceObjectPESD->SetMaxChi2PerTPCcluster(3.5);
+  kinkResonanceObjectPESD->SetMaxCov0(2.0);
+  kinkResonanceObjectPESD->SetMaxCov2(2.0);
+  kinkResonanceObjectPESD->SetMaxCov5(0.5);
+  kinkResonanceObjectPESD->SetMaxCov9(0.5);
+  kinkResonanceObjectPESD->SetMaxCov14(2.0);
+
+// Create and configure the task
+AliAnalysisTaskKinkResonance *taskresonancePhiESD = new AliAnalysisTaskKinkResonance("TaskResPhiESDKinkPID");
+taskresonancePhiESD->SetAnalysisKinkObject(kinkResonanceObjectPESD);
+mgr->AddTask(taskresonancePhiESD);
+
+// Create ONLY the output containers for the data produced by the task.
+// Get and connect other common input/output containers via the manager as below
+//==============================================================================
+TString outname = "PP";
+if (lCollidingSystems) outname = "AA";
+if (mgr->GetMCtruthEventHandler()) outname += "-MC-";
+outname += "KinkResonanceList.root";
+AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResPhiESD",
+                                                          TList::Class(),
+                                                          AliAnalysisManager::kOutputContainer,
+                                                          outname );
+
+mgr->ConnectInput(taskresonancePhiESD, 0, mgr->GetCommonInputContainer());
+mgr->ConnectOutput(taskresonancePhiESD, 1, coutput1);
+return taskresonancePhiESD;
+} 
diff --git a/PWG2/KINK/macros/AddTaskKinkResonancePhiMC.C b/PWG2/KINK/macros/AddTaskKinkResonancePhiMC.C
new file mode 100644 (file)
index 0000000..fad2009
--- /dev/null
@@ -0,0 +1,66 @@
+AliAnalysisTaskKinkResonance *AddTaskKinkResonancePhiMC(Short_t lCollidingSystems=0 /*0 = pp, 1 = AA*/)
+{
+// Creates, configures and attaches to the train a kink resonance task.
+// Get the pointer to the existing analysis manager via the static access method.
+//==============================================================================
+AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Error("AddTaskKinkResonancePhiMC", "No analysis manager to connect to.");
+return NULL;
+}
+
+// Check the analysis type using the event handlers connected to the analysis manager.
+//==============================================================================
+if (!mgr->GetInputEventHandler()) {
+ ::Error("AddTaskKinkResonancePhiMC", "This task requires an input event handler");
+ return NULL;
+}
+TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+ if (type != "ESD") {
+ ::Error("AddTaskKinkResonancePhiMC", "This task needs an ESD input handler");
+return NULL;
+}
+if (!mgr->GetMCtruthEventHandler()) {
+ ::Error("AddTaskKinkResonancePhiMC", "This task needs an MC handler");
+ return NULL;
+}
+
+// Setup the analysis object
+  
+  AliResonanceKink  *kinkResonanceObjectPMC=new AliResonanceKink();
+  kinkResonanceObjectPMC->InitOutputHistograms(70,0.99,1.088);
+  kinkResonanceObjectPMC->SetPDGCodes(kKPlus, kKPlus, AliResonanceKink::kPhi); 
+  kinkResonanceObjectPMC->SetAnalysisType("MC"); // "ESD" or "MC"
+  kinkResonanceObjectPMC->SetMaxNsigmaToVertex(4.0);
+  kinkResonanceObjectPMC->SetMaxDCAxy(3.0);
+  kinkResonanceObjectPMC->SetMaxDCAzaxis(3.0);
+  kinkResonanceObjectPMC->SetPtTrackCut(0.25);
+  kinkResonanceObjectPMC->SetMinTPCclusters(50);
+  kinkResonanceObjectPMC->SetMaxChi2PerTPCcluster(3.5);
+  kinkResonanceObjectPMC->SetMaxCov0(2.0);
+  kinkResonanceObjectPMC->SetMaxCov2(2.0);
+  kinkResonanceObjectPMC->SetMaxCov5(0.5);
+  kinkResonanceObjectPMC->SetMaxCov9(0.5);
+  kinkResonanceObjectPMC->SetMaxCov14(2.0);
+
+// Create and configure the task
+AliAnalysisTaskKinkResonance *taskresonancePhiMC = new AliAnalysisTaskKinkResonance("TaskResPhiMCKinkPID");
+taskresonancePhiMC->SetAnalysisKinkObject(kinkResonanceObjectPMC);
+mgr->AddTask(taskresonancePhiMC);
+
+// Create ONLY the output containers for the data produced by the task.
+// Get and connect other common input/output containers via the manager as below
+//==============================================================================
+TString outname = "PP";
+if (lCollidingSystems) outname = "AA";
+if (mgr->GetMCtruthEventHandler()) outname += "-MC-";
+outname += "KinkResonanceList.root";
+AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("KinkResPhiMC",
+                                                          TList::Class(),
+                                                          AliAnalysisManager::kOutputContainer,
+                                                          outname );
+
+mgr->ConnectInput(taskresonancePhiMC, 0, mgr->GetCommonInputContainer());
+mgr->ConnectOutput(taskresonancePhiMC, 1, coutput1);
+return taskresonancePhiMC;
+}