load properly the library in case of par files, update macro with possibility to...
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 24 May 2012 17:07:38 +0000 (17:07 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 24 May 2012 17:07:38 +0000 (17:07 +0000)
PWGGA/CaloTasks/AliAnalysisTaskCaloFilter.cxx
PWGGA/CaloTasks/macros/AddTaskCaloFilter.C
PWGGA/PROOF-INF.PWGGACaloTasks/SETUP.C

index 36bb6c8..102d1d7 100644 (file)
@@ -695,13 +695,13 @@ void AliAnalysisTaskCaloFilter::PrintInfo()
 {
   //Print settings
   
-  printf("TASK: AnalysisCaloFilter \n");
+  printf("AnalysisCaloFilter::PrintInfo() \n");
   printf("\t Not only filter, correct Clusters? %d\n",fCorrect);
   printf("\t Calorimeter Filtering Option     ? %d\n",fCaloFilter);
   //printf("\t Use handmade geo matrices?   EMCAL %d, PHOS %d\n",fLoadEMCALMatrices, fLoadPHOSMatrices);
   printf("\t Use handmade geo matrices?   EMCAL %d, PHOS 0\n",fLoadEMCALMatrices);
   printf("\t Fill AOD file? %d\n", fFillAODFile);
   printf("\t Fill Tracks? %d\n"  , fFillTracks);
-  printf("Event Selection : EMCAL min E %f, EMCAL NCells %d, Vertex %f\n",fEnergyCut,fNcellsCut,fVzCut);
+  printf("\t Event Selection : EMCAL E > %2.2f, EMCAL nCells >= %d, |vz| < %2.2f\n",fEnergyCut,fNcellsCut,fVzCut);
 }
 
index 561e308..c575886 100644 (file)
@@ -1,32 +1,66 @@
-AliAnalysisTaskCaloFilter * AddTaskCaloFilter(){
+AliAnalysisTaskCaloFilter * AddTaskCaloFilter(const Bool_t  bias      = kTRUE, 
+                                              const Float_t minE      = 6, 
+                                              const Float_t minN      = 2, 
+                                              const Float_t vz        = 10.,
+                                              const Int_t   opt       = AliAnalysisTaskCaloFilter::kEMCAL, //kPHOS, kEMCAL or kBoth
+                                              const Bool_t  correct   = kFALSE,
+                                              const Bool_t  fillTrack = kTRUE,
+                                              const Bool_t  fillAOD   = kTRUE)
+{
 
   // Get the pointer to the existing analysis manager via the static access method.
   //==============================================================================
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
-  if (!mgr) {
+  if (!mgr) 
+  {
     ::Error("AddTaskCaloFilter", "No analysis manager to connect to.");
     return NULL;
   }  
   
   // Check the analysis type using the event handlers connected to the analysis manager.
   //==============================================================================
-  if (!mgr->GetInputEventHandler()) {
+  if (!mgr->GetInputEventHandler()) 
+  {
     ::Error("AddTaskCaloFilter", "This task requires an input event handler");
     return NULL;
   }
   
   AliAnalysisTaskCaloFilter * filter = new AliAnalysisTaskCaloFilter("CaloFilter");
-  filter->SetCaloFilter(AliAnalysisTaskCaloFilter::kEMCAL); //kPHOS, kEMCAL or kBoth
-  filter->SwitchOffClusterCorrection();
   
-  filter->SetVzCut(10.); // kEMCAL to have effect
-  filter->SetEnergyCut(10.); // kEMCAL to have effect
-  filter->SetNcellsCut(2);
+  filter->SetCaloFilter(opt); //kPHOS, kEMCAL or kBoth
   
-  filter->SwitchOnFillTracks();
-  filter->SwitchOnFillAODFile();
+  filter->SetVzCut(vz);
+  
+  if(bias) // select events with significant signal in EMCAL
+  {
+    filter->SetEnergyCut(minE);
+    filter->SetNcellsCut(minN);
+    
+    filter->SelectCollisionCandidates(AliVEvent::kAny) ;
+    
+    printf("--- Select events with 1 cluster with at least %2.2f GeV and N = %d ---\n",minE,minN);
+  }
+  else // Do not bias the signal in EMCAL, select MB events 
+  {
+    filter->SetEnergyCut(0);
+    filter->SetNcellsCut(0);    
+
+    filter->SelectCollisionCandidates(AliVEvent::kAnyINT | AliVEvent::kCentral | AliVEvent::kSemiCentral ) ;
+    
+    printf("--- Select Min Bias events ---\n");
+  }
+
+  if(correct)   filter->SwitchOnClusterCorrection();
+  else          filter->SwitchOffClusterCorrection();  
+  
+  if(fillTrack) filter->SwitchOnFillTracks();
+  else          filter->SwitchOffFillTracks();
+  
+  if(fillAOD)   filter->SwitchOnFillAODFile();
+  else          filter->SwitchOffFillAODFile();
+    
+  filter->PrintInfo();
   
-  filter->PrintInfo(); 
   mgr->AddTask(filter);
   
   // Create containers for input/output
index b043d72..600b77d 100755 (executable)
@@ -2,7 +2,9 @@ void SETUP()
 {
 
    // Load the ESD library
-   gSystem->Load("libPWGGACaloTasks");
+   //gSystem->Load("libPWGGACaloTasks");
+   TString ocwd = gSystem->WorkingDirectory();
+   gSystem->Load(ocwd+"/libPWGGACaloTasks.so");
 
    // Set the Include paths
    gSystem->SetIncludePath("-I$ROOTSYS/include -IPWGGACaloTasks");