]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
First shot at module definitions
authorcholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 25 Sep 2012 12:42:05 +0000 (12:42 +0000)
committercholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 25 Sep 2012 12:42:05 +0000 (12:42 +0000)
PWGLF/FORWARD/analysis2/CentralAOD.cfg [new file with mode: 0644]
PWGLF/FORWARD/analysis2/CopyHeader.cfg [new file with mode: 0644]
PWGLF/FORWARD/analysis2/ForwardAOD.cfg [new file with mode: 0644]

diff --git a/PWGLF/FORWARD/analysis2/CentralAOD.cfg b/PWGLF/FORWARD/analysis2/CentralAOD.cfg
new file mode 100644 (file)
index 0000000..e6e8d62
--- /dev/null
@@ -0,0 +1,30 @@
+#
+# Task configuration for use with AliAnalysisTaskCfg
+#
+# This sets up the central ESD->AOD filtering task
+#
+#Module.Begin         CentralAOD
+#Module.Libs          PWGLFforward2
+#Module.Deps          PhysicsSelection, CentralitySelection, CopyHeader
+#Module.DataTypes     ESD
+#Module.MacroName     $ALICE_ROOT/PWGLF/FORWARD/analysis2/AddTaskCentralMult.C
+# Arguments are mc, sys, sNN, field, config_file
+#Module.MacroArgs     false, 0, 0, 0, ""
+#Module.OutputFile    forward.root
+#Module.TerminateFile 
+#Module.StartConfig
+  // --- Cast to type ------------------------------------------------
+  AliCentralMultiplicityTask* task = static_cast<AliCentralMultiplicityTask*>(__R_ADDTASK__);
+
+  // --- Set options on task -----------------------------------------
+  // Whether to do correction for secondaries
+  task->SetUseSecondary(true);
+  // Whether to do correction for acceptance
+  task->SetUseAcceptance(true);
+  // task->GetInspector().SetDebug(4);
+
+  // task->GetManager().SetSecMapPath(".");
+#Module.EndConfig
+#
+# EOF
+#
diff --git a/PWGLF/FORWARD/analysis2/CopyHeader.cfg b/PWGLF/FORWARD/analysis2/CopyHeader.cfg
new file mode 100644 (file)
index 0000000..3411c30
--- /dev/null
@@ -0,0 +1,19 @@
+#
+# Task configuration for use with AliAnalysisTaskCfg
+#
+# This sets up the ESD header->AOD header task
+#
+#Module.Begin         CopyHeader
+#Module.Libs          PWGLFforward2
+#Module.Deps          
+#Module.DataTypes     ESD
+#Module.MacroName     $ALICE_ROOT/PWGLF/FORWARD/analysis2/AddTaskCopyHeader.C
+#Module.MacroArgs     
+#Module.OutputFile    
+#Module.TerminateFile 
+#Module.StartConfig
+#Module.EndConfig
+#
+# EOF
+#
+
diff --git a/PWGLF/FORWARD/analysis2/ForwardAOD.cfg b/PWGLF/FORWARD/analysis2/ForwardAOD.cfg
new file mode 100644 (file)
index 0000000..897fc35
--- /dev/null
@@ -0,0 +1,187 @@
+#
+# Task configuration for use with AliAnalysisTaskCfg
+#
+# This sets up the forward ESD->AOD filtering task
+#
+#Module.Begin         ForwardAOD
+#Module.Libs          PWGLFforward2
+#Module.Deps          PhysicsSelection, CentralitySelection, CopyHeader
+#Module.DataTypes     ESD
+#Module.MacroName     AddTaskForwardAOD
+# Not used when giving full macro 
+#Module.MacroArgs     false, 0, 0, 0
+#Module.OutputFile    forward.root
+#Module.TerminateFile 
+#Module.StartMacro
+AliAnalysisTask*
+AddTaskForwardAOD(Bool_t   mc=false, 
+                 UShort_t sys=0, 
+                 UShort_t sNN=0, 
+                 Short_t  field=0)
+{
+  // --- Get analysis manager ----------------------------------------
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr) { 
+    std::cerr << "Failed to get manager");
+    Error("AddTaskForwardAOD", "No manager");
+    return 0;
+  }
+
+  // --- Make the task and add it to the manager ---------------------
+  AliForwardMultiplicityBase* task = 0;
+  if (mc) task = new AliForwardMCMultiplicityTask("FMD");
+  else    task = new AliForwardMultiplicityTask("FMD");
+  Info("AddTaskForwardAOD", "Adding task");
+  Printf("Adding the task");
+  mgr->AddTask(task);
+  
+  // --- Do a local initialisation with assumed values ---------------
+  if (sys > 0 && sNN > 0) {
+    UInt_t what = AliForwardCorrectionManager::kAll;
+    what ^= AliForwardCorrectionManager::kDoubleHit;
+    what ^= AliForwardCorrectionManager::kVertexBias;
+    what ^= AliForwardCorrectionManager::kMergingEfficiency;
+    if (!AliForwardCorrectionManager::Instance().Init(sys,sNN,field,mc,what))
+      Fatal("AddTaskForwardMult", "Failed to initialize corrections");
+  }
+  
+  // --- Make the output container and connect it --------------------
+  TString outputfile = "forward.root"; // AliAnalysisManager::GetCommonFileName();
+  AliAnalysisDataContainer* histOut = 
+    mgr->CreateContainer("Forward", TList::Class(), 
+                        AliAnalysisManager::kOutputContainer,outputfile);
+  mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
+  mgr->ConnectOutput(task, 1, histOut);
+
+  Info("AddTaskForwardAOD", "Returning task");
+  return task;
+}
+#Module.EndMacro
+#Module.StartConfig
+  // --- Cast to type ------------------------------------------------
+  AliForwardMultiplicityBase* task = static_cast<AliForwardMultiplicityBase*>(__R_ADDTASK__);
+  // --- General parameters ------------------------------------------
+  // Whether to enable low flux specific code 
+  task->SetEnableLowFlux(kFALSE);
+
+  // Would like to use dynamic cast but CINT interprets that as a 
+  // static cast - sigh!
+  Bool_t mc = false;
+  if (task->IsA() == AliForwardMCMultiplicityTask::Class()) 
+    mc = true;
+  
+  Double_t nXi = mc ? 2 : 2;   //HHD test
+  Bool_t   includeSigma = false; //true;
+
+  AliFMDMultCuts cSharing;
+  cSharing.SetMultCuts(0.3, 0.3, 0.3, 0.3, 0.3);
+  AliFMDMultCuts cDensity;
+  cDensity.SetMultCuts(0.3, 0.3, 0.3, 0.3, 0.3);
+  
+  
+  // --- Event inspector ---------------------------------------------
+  // Set the number of SPD tracklets for which we consider the event a
+  // low flux event
+  task->GetEventInspector().SetLowFluxCut(1000); 
+  // Set the maximum error on v_z [cm]
+  task->GetEventInspector().SetMaxVzErr(0.2);
+  // Least number of constributors to 2nd pile-up vertex
+  task->GetEventInspector().SetMinPileupContributors(3);
+  // Least distance from primary to 2nd pile-up vertex (cm)
+  task->GetEventInspector().SetMinPileupDistance(.8);
+  // V0-AND triggered events flagged as NSD 
+  task->GetEventInspector().SetUseV0AndForNSD(true);
+  // Use primary vertex selection from 1st physics WG
+  // task->GetEventInspector().SetUseFirstPhysicsVtx(true);
+
+  // --- Sharing filter ----------------------------------------------
+  // Set the low cut used for sharing - overrides settings in eloss fits
+  //  Float_t factor = 1.;
+  //if(mc) factor = 1.2;
+  //task->GetSharingFilter().SetLowCut(0.3*factor);
+  // Enable use of angle corrected signals in the algorithm 
+  task->GetSharingFilter().SetUseAngleCorrectedSignals(true);
+  // Disable use of angle corrected signals in the algorithm 
+  task->GetSharingFilter().SetZeroSharedHitsBelowThreshold(false);
+  // Whether to use simple merging algorithm
+  task->GetSharingFilter().SetUseSimpleSharing(false);
+  // Whether to allow for 3 strip hits 
+  task->GetSharingFilter().SetAllow3Strips(true);
+  // Do not cut fixed/hard on multiplicity 
+  task->GetSharingFilter().GetHCuts().SetMultCuts(-1);
+  // Set the number of xi's (width of landau peak) to stop at 
+  task->GetSharingFilter().GetHCuts().SetNXi(nXi);
+  // Set whether or not to include sigma in cut
+  task->GetSharingFilter().GetHCuts().SetIncludeSigma(includeSigma);
+  // Enable use of angle corrected signals in the algorithm 
+  task->GetSharingFilter().SetLCuts(cSharing);
+  
+   
+  // --- Density calculator ------------------------------------------
+  // Set the maximum number of particle to try to reconstruct 
+  task->GetDensityCalculator().SetMaxParticles(10);
+  // Wet whether to use poisson statistics to estimate N_ch
+  task->GetDensityCalculator().SetUsePoisson(true);
+  // Set to use the running average in Poisson 
+  // task->GetDensityCalculator().SetUseRunningAverage(false);
+  // Set whether or not to include sigma in cut
+  task->GetDensityCalculator().SetCuts(cDensity);
+  // Set lumping (nEta,nPhi)
+  task->GetDensityCalculator().SetLumping(32,4);
+  // Set whether or not to use the phi acceptance
+  //   AliFMDDensityCalculator::kPhiNoCorrect
+  //   AliFMDDensityCalculator::kPhiCorrectNch
+  //   AliFMDDensityCalculator::kPhiCorrectELoss
+  task->GetDensityCalculator()
+    .SetUsePhiAcceptance(AliFMDDensityCalculator::kPhiCorrectNch);
+
+  // --- Corrector ---------------------------------------------------
+  // Whether to use the secondary map correction
+  task->GetCorrections().SetUseSecondaryMap(true);
+  // Whether to use the vertex bias correction
+  task->GetCorrections().SetUseVertexBias(false);
+  // Whether to use the vertex bias correction
+  task->GetCorrections().SetUseAcceptance(true);
+  // Whether to use the merging efficiency correction 
+  task->GetCorrections().SetUseMergingEfficiency(false);
+
+  // --- Histogram Collector -----------------------------------------
+  // Set the number of extra bins (beyond the secondary map border) 
+  task->GetHistCollector().SetNCutBins(2);
+  // Set the correction cut, that is, when bins in the secondary map 
+  // is smaller than this, they are considered empty 
+  task->GetHistCollector().SetCorrectionCut(0.5);
+  // How to calculate the value of overlapping bins. 
+  // Possible values are 
+  //    kStraightMean 
+  //    kStraightMeanNoZero 
+  //    kWeightedMean 
+  //    kLeastError 
+  task->GetHistCollector().SetMergeMethod(AliFMDHistCollector::kStraightMean);
+  // How to find the fiducial area of the secondary maps 
+  // Possible values are 
+  //   kByCut    Only bins larger that cut are trusted 
+  //   kDistance Only bins that are more than half the size of it neighbors
+  task->GetHistCollector().SetFiducialMethod(AliFMDHistCollector::kByCut);
+
+  // --- Debug -------------------------------------------------------
+  // Set the overall debug level (1: some output, 3: a lot of output)
+  // task->SetDebug(0);
+  // Set the debug level of a single algorithm 
+  // task->GetSharingFilter().SetDebug(3);
+
+  // --- Eventplane Finder -------------------------------------------
+  task->GetEventPlaneFinder().SetUsePhiWeights(false);
+
+  // --- Set limits on fits the energy -------------------------------
+  // Maximum relative error on parameters 
+  AliFMDCorrELossFit::ELossFit::fgMaxRelError = .12;
+  // Least weight to use 
+  AliFMDCorrELossFit::ELossFit::fgLeastWeight = 1e-5;
+  // Maximum value of reduced chi^2 
+  AliFMDCorrELossFit::ELossFit::fgMaxChi2nu   = 20;
+#Module.EndConfig
+#
+# EOF
+#