ROOT logo


Bool_t AddTrackCutsLHC10h(AliAnalysisTaskESDfilter* esdFilter);
Bool_t AddTrackCutsLHC11h(AliAnalysisTaskESDfilter* esdFilter);
Bool_t enableTPCOnlyAODTracks = kTRUE;


AliAnalysisTaskESDfilter *AddTaskESDFilterPWGJETrain(Bool_t useKineFilter=kTRUE, 
						     Bool_t writeMuonAOD=kFALSE,
						     Bool_t writeDimuonAOD=kFALSE,
						     Bool_t usePhysicsSelection=kFALSE,
						     Bool_t useCentralityTask=kFALSE)
{
// Creates a filter task and adds it to the analysis manager.

   // Get the pointer to the existing analysis manager via the static access method.
   //==============================================================================
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
   if (!mgr) {
      ::Error("AddTaskESDFilter", "No analysis manager to connect to.");
      return NULL;
   }   
   
   // This task requires an ESD input handler and an AOD output handler.
   // Check this using the analysis manager.
   //===============================================================================
   TString type = mgr->GetInputEventHandler()->GetDataType();
   if (!type.Contains("ESD")) {
      ::Error("AddTaskESDFilter", "ESD filtering task needs the manager to have an ESD input handler.");
      return NULL;
   }   
   // Check if AOD output handler exist.
   AliAODHandler *aod_h = (AliAODHandler*)mgr->GetOutputEventHandler();
   if (!aod_h) {
      ::Error("AddTaskESDFilter", "ESD filtering task needs the manager to have an AOD output handler.");
      return NULL;
   }
   // Check if MC handler is connected in case kine filter requested
   AliMCEventHandler *mcH = (AliMCEventHandler*)mgr->GetMCtruthEventHandler();
   if (!mcH && useKineFilter) {
      ::Error("AddTaskESDFilter", "No MC handler connected while kine filtering requested");
      return NULL;
   }   
   
   // Create the task, add it to the manager and configure it.
   //===========================================================================   
   // Barrel tracks filter
   AliAnalysisTaskESDfilter *esdfilter = new AliAnalysisTaskESDfilter("ESD Filter");

   // Make the AOD a little bit lighter and filtering faster
   
   esdfilter->DisableCascades();
   //   esdfilter->DisableV0s();
   esdfilter->DisableKinks();
   //   esdfilter->DisableTracks();
   esdfilter->DisablePmdClusters();
   //   esdfilter->DisableCaloClusters();
   //   esdfilter->DisableCells(); 
   esdfilter->DisableTracklets();
   esdfilter->SetWriteHybridGlobalConstrainedOnly(kTRUE);

   mgr->AddTask(esdfilter);

   if(usePhysicsSelection){
     esdfilter->SelectCollisionCandidates(AliVEvent::kAny);
   }  

   // Filtering of MC particles (decays conversions etc)
   // this task has to go AFTER all other filter tasks
   // since it fills the AODMC array with all
   // selected MC Particles, only this way we have the 
   // AODMCparticle information available for following tasks
   AliAnalysisTaskMCParticleFilter *kinefilter = 0;
   if (useKineFilter) {
      kinefilter = new AliAnalysisTaskMCParticleFilter("Particle Kine Filter");
      if(usePhysicsSelection)kinefilter->SelectCollisionCandidates(AliVEvent::kAny);
      mgr->AddTask(kinefilter);
   }   

   // Track cuts
   // Filter with cuts on V0s
   AliESDv0Cuts*   esdV0Cuts = new AliESDv0Cuts("Standard V0 Cuts pp", "ESD V0 Cuts");
   esdV0Cuts->SetMinRadius(0.2);
   esdV0Cuts->SetMaxRadius(200);
   esdV0Cuts->SetMinDcaPosToVertex(0.05);
   esdV0Cuts->SetMinDcaNegToVertex(0.05);
   esdV0Cuts->SetMaxDcaV0Daughters(1.5);
   esdV0Cuts->SetMinCosinePointingAngle(0.99);
   AliAnalysisFilter* v0Filter = new AliAnalysisFilter("v0Filter");
   v0Filter->AddCuts(esdV0Cuts);


   Bool_t bSuccess = false;
   TString runPeriod = AliAnalysisManager::GetGlobalStr("kJetRunPeriod",bSuccess);

   if(bSuccess&&runPeriod.Contains("LHC11h")){
     AddTrackCutsLHC11h(esdfilter);
   }
   else{
     Printf("%s%d: Creating Default track cuts 10h",(char*)__FILE__,__LINE__);
     AddTrackCutsLHC10h(esdfilter);
   }

   esdfilter->SetV0Filter(v0Filter);

   // Enable writing of Muon AODs
   //   esdmuonfilter->SetWriteMuonAOD(writeMuonAOD);
   
   // Enable writing of Dimuon AODs
   //   esdmuonfilter->SetWriteDimuonAOD(writeDimuonAOD);
 
   // 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
   //==============================================================================

   mgr->ConnectInput  (esdfilter,  0, mgr->GetCommonInputContainer());
   mgr->ConnectOutput (esdfilter,  0, mgr->GetCommonOutputContainer());
   

   //   mgr->ConnectInput  (esdmuonfilter, 0, mgr->GetCommonInputContainer());
   if (useKineFilter) {
      mgr->ConnectInput  (kinefilter,  0, mgr->GetCommonInputContainer());
      mgr->ConnectOutput (kinefilter,  0, mgr->GetCommonOutputContainer());
      AliAnalysisDataContainer *coutputEx = mgr->CreateContainer("cFilterList", TList::Class(),
								   AliAnalysisManager::kOutputContainer,"pyxsec_hists.root");
      mgr->ConnectOutput (kinefilter,  1,coutputEx);
   }   
  if (useCentralityTask) {
       mgr->ConnectInput (ctask, 0, mgr->GetCommonInputContainer());
       mgr->ConnectOutput(ctask, 0, mgr->GetCommonOutputContainer());
   }

   return esdfilter;
 }
 

Bool_t AddTrackCutsLHC10h(AliAnalysisTaskESDfilter* esdfilter){

  Printf("%s%d: Creating Track Cuts for LH10h",(char*)__FILE__,__LINE__);

  // Cuts on primary tracks
  AliESDtrackCuts* esdTrackCutsL = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
  
  // ITS stand-alone tracks
  AliESDtrackCuts* esdTrackCutsITSsa = new AliESDtrackCuts("ITS stand-alone Track Cuts", "ESD Track Cuts");
  esdTrackCutsITSsa->SetRequireITSStandAlone(kTRUE);
  
  // Pixel OR necessary for the electrons
  AliESDtrackCuts *itsStrong = new AliESDtrackCuts("ITSorSPD", "pixel requirement for ITS");
  itsStrong->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
  
  
  // PID for the electrons
  AliESDpidCuts *electronID = new AliESDpidCuts("Electrons", "Electron PID cuts");
  electronID->SetTPCnSigmaCut(AliPID::kElectron, 3.);
  
  // tighter cuts on primary particles for high pT tracks
  // take the standard cuts, which include already 
  // ITSrefit and use only primaries...
  
  // ITS cuts for new jet analysis 
  gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
  AliESDtrackCuts* esdTrackCutsHG0 = CreateTrackCutsPWGJE(10001006);
  
  // throw out tracks with too low number of clusters in
  // the first pass (be consistent with TPC only tracks)
  // N.B. the number off crossed rows still acts on the tracks after
  // all iterations if we require tpc standalone, number of clusters
  // and chi2 TPC cuts act on track after the first iteration
  //   esdTrackCutsH0->SetRequireTPCStandAlone(kTRUE);
  //   esdTrackCutsH0->SetMinNClustersTPC(80); // <--- first pass
  
  
  // the complement to the one with SPD requirement
  AliESDtrackCuts* esdTrackCutsHG1 = CreateTrackCutsPWGJE(10011006);
  
  // the tracks that must not be taken pass this cut and
  // non HGC1 and HG
  AliESDtrackCuts* esdTrackCutsHG2 = CreateTrackCutsPWGJE(10021006);
  
  // standard cuts also used in R_AA analysis
  AliESDtrackCuts* esdTrackCutsH2 = CreateTrackCutsPWGJE(1000);

  AliESDtrackCuts* esdTrackCutsGCOnly = CreateTrackCutsPWGJE(10041006);
  
  // TPC only tracks
  AliESDtrackCuts* esdTrackCutsTPCCOnly = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
  esdTrackCutsTPCCOnly->SetMinNClustersTPC(70);
  
  // Compose the filter
  AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
  // 1, 1<<0
  trackFilter->AddCuts(esdTrackCutsL);
  // 2 1<<1
  trackFilter->AddCuts(esdTrackCutsITSsa);
  // 4 1<<2
  trackFilter->AddCuts(itsStrong);
  itsStrong->SetFilterMask(1);        // AND with Standard track cuts 
  // 8 1<<3
  trackFilter->AddCuts(electronID);
  electronID->SetFilterMask(4);       // AND with Pixel Cuts
  // 16 1<<4
  trackFilter->AddCuts(esdTrackCutsHG0);
  // 32 1<<5
  trackFilter->AddCuts(esdTrackCutsHG1);
  // 64 1<<6
  trackFilter->AddCuts(esdTrackCutsHG2);
  // 128 1<<7
  AliESDtrackCuts* esdTrackCutsHG0_tmp = new AliESDtrackCuts(*esdTrackCutsHG0); // avoid double delete
  trackFilter->AddCuts(esdTrackCutsHG0_tmp); // add once more for tpc only tracks
  // 256 1<<8
  trackFilter->AddCuts(esdTrackCutsGCOnly);
  // 512 1<<9                         
  AliESDtrackCuts* esdTrackCutsHG1_tmp = new AliESDtrackCuts(*esdTrackCutsHG1); // avoid double delete
  trackFilter->AddCuts(esdTrackCutsHG1_tmp); // add once more for tpc only tracks
  // 1024 1<<10                        
  trackFilter->AddCuts(esdTrackCutsH2); // add r_aa cuts
  // 2048 1<<11                        
  trackFilter->AddCuts(esdTrackCutsTPCCOnly); // add QM TPC only track cuts
  
  
  esdfilter->SetGlobalConstrainedFilterMask(1<<8|1<<9); // these tracks are written out as global constrained tracks
  esdfilter->SetHybridFilterMaskGlobalConstrainedGlobal((1<<4)); // these normal global tracks will be marked as hybrid
  
  //     esdfilter->SetTPCConstrainedFilterMask(1<<11); // these tracks are written out as tpc constrained tracks

  esdfilter->SetTrackFilter(trackFilter);
  return kTRUE;
  
}

Bool_t AddTrackCutsLHC11h(AliAnalysisTaskESDfilter* esdfilter){


  Printf("%s%d: Creating Track Cuts LHC11h",(char*)__FILE__,__LINE__);

  // Cuts on primary tracks
   AliESDtrackCuts* esdTrackCutsL = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();

   // ITS stand-alone tracks
   AliESDtrackCuts* esdTrackCutsITSsa = new AliESDtrackCuts("ITS stand-alone Track Cuts", "ESD Track Cuts");
   esdTrackCutsITSsa->SetRequireITSStandAlone(kTRUE);

   // Pixel OR necessary for the electrons
   AliESDtrackCuts *itsStrong = new AliESDtrackCuts("ITSorSPD", "pixel requirement for ITS");
   itsStrong->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);


   // PID for the electrons
   AliESDpidCuts *electronID = new AliESDpidCuts("Electrons", "Electron PID cuts");
   electronID->SetTPCnSigmaCut(AliPID::kElectron, 3.);

   // standard cuts with very loose DCA
   AliESDtrackCuts* esdTrackCutsH = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE); 
   esdTrackCutsH->SetMaxDCAToVertexXY(2.4);
   esdTrackCutsH->SetMaxDCAToVertexZ(3.2);
   esdTrackCutsH->SetDCAToVertex2D(kTRUE);

   // standard cuts with tight DCA cut
   AliESDtrackCuts* esdTrackCutsH2 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011();

   // standard cuts with tight DCA but with requiring the first SDD cluster instead of an SPD cluster
   // tracks selected by this cut are exclusive to those selected by the previous cut
   AliESDtrackCuts* esdTrackCutsH3 = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(); 
   esdTrackCutsH3->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kNone);
   esdTrackCutsH3->SetClusterRequirementITS(AliESDtrackCuts::kSDD, AliESDtrackCuts::kFirst);
 
   // TPC only tracks: Optionally enable the writing of TPConly information
   // constrained to SPD vertex in the filter below
   AliESDtrackCuts* esdTrackCutsTPCOnly = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
   // The following line is needed for 2010 PbPb reprocessing and pp, but not for 2011 PbPb
   //esdTrackCutsTPCOnly->SetMinNClustersTPC(70);

   // Extra cuts for hybrids
   // first the global tracks we want to take
   AliESDtrackCuts* esdTrackCutsHTG = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE); 
   esdTrackCutsHTG->SetName("Global Hybrid tracks, loose DCA");
   esdTrackCutsHTG->SetMaxDCAToVertexXY(2.4);
   esdTrackCutsHTG->SetMaxDCAToVertexZ(3.2);
   esdTrackCutsHTG->SetDCAToVertex2D(kTRUE);
   esdTrackCutsHTG->SetMaxChi2TPCConstrainedGlobal(36);
   esdTrackCutsHTG->SetMaxFractionSharedTPCClusters(0.4);

   // Than the complementary tracks which will be stored as global
   // constraint, complement is done in the ESDFilter task
   AliESDtrackCuts* esdTrackCutsHTGC = new AliESDtrackCuts(*esdTrackCutsHTG);
   esdTrackCutsHTGC->SetName("Global Constraint Hybrid tracks, loose DCA no spd requirement");
   esdTrackCutsHTGC->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kOff);
   esdTrackCutsHTGC->SetRequireITSRefit(kTRUE);

   // standard cuts with tight DCA cut, using cluster cut instead of crossed rows (a la 2010 default)
   AliESDtrackCuts* esdTrackCutsH2Cluster = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 0);

   // Compose the filter
   AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
   // 1, 1<<0
   trackFilter->AddCuts(esdTrackCutsL);
   // 2, 1<<1
   trackFilter->AddCuts(esdTrackCutsITSsa);
   // 4, 1<<2
   trackFilter->AddCuts(itsStrong);
   itsStrong->SetFilterMask(1);        // AND with Standard track cuts 
   // 8, 1<<3
   trackFilter->AddCuts(electronID);
   electronID->SetFilterMask(4);       // AND with Pixel Cuts
   // 16, 1<<4
   trackFilter->AddCuts(esdTrackCutsH);
   // 32, 1<<5
   trackFilter->AddCuts(esdTrackCutsH2);
   // 64, 1<<6
   trackFilter->AddCuts(esdTrackCutsH3);
   // 128 , 1 << 7
   trackFilter->AddCuts(esdTrackCutsTPCOnly);
   if(enableTPCOnlyAODTracks)esdfilter->SetTPCOnlyFilterMask(128);
   // 256, 1 << 8 Global Hybrids
   trackFilter->AddCuts(esdTrackCutsHTG);
   esdfilter->SetHybridFilterMaskGlobalConstrainedGlobal((1<<8)); // these normal global tracks will be marked as hybrid    
   // 512, 1<< 9 GlobalConstraint Hybrids
   trackFilter->AddCuts(esdTrackCutsHTGC);
   esdfilter->SetGlobalConstrainedFilterMask(1<<9); // these tracks are written out as global constrained tracks 
   esdfilter->SetWriteHybridGlobalConstrainedOnly(kTRUE); // write only the complement
   // 1024, 1<< 10
   trackFilter->AddCuts(esdTrackCutsH2Cluster);
   esdfilter->SetTrackFilter(trackFilter);

   return kTRUE;

}
 AddTaskESDFilterPWGJETrain.C:1
 AddTaskESDFilterPWGJETrain.C:2
 AddTaskESDFilterPWGJETrain.C:3
 AddTaskESDFilterPWGJETrain.C:4
 AddTaskESDFilterPWGJETrain.C:5
 AddTaskESDFilterPWGJETrain.C:6
 AddTaskESDFilterPWGJETrain.C:7
 AddTaskESDFilterPWGJETrain.C:8
 AddTaskESDFilterPWGJETrain.C:9
 AddTaskESDFilterPWGJETrain.C:10
 AddTaskESDFilterPWGJETrain.C:11
 AddTaskESDFilterPWGJETrain.C:12
 AddTaskESDFilterPWGJETrain.C:13
 AddTaskESDFilterPWGJETrain.C:14
 AddTaskESDFilterPWGJETrain.C:15
 AddTaskESDFilterPWGJETrain.C:16
 AddTaskESDFilterPWGJETrain.C:17
 AddTaskESDFilterPWGJETrain.C:18
 AddTaskESDFilterPWGJETrain.C:19
 AddTaskESDFilterPWGJETrain.C:20
 AddTaskESDFilterPWGJETrain.C:21
 AddTaskESDFilterPWGJETrain.C:22
 AddTaskESDFilterPWGJETrain.C:23
 AddTaskESDFilterPWGJETrain.C:24
 AddTaskESDFilterPWGJETrain.C:25
 AddTaskESDFilterPWGJETrain.C:26
 AddTaskESDFilterPWGJETrain.C:27
 AddTaskESDFilterPWGJETrain.C:28
 AddTaskESDFilterPWGJETrain.C:29
 AddTaskESDFilterPWGJETrain.C:30
 AddTaskESDFilterPWGJETrain.C:31
 AddTaskESDFilterPWGJETrain.C:32
 AddTaskESDFilterPWGJETrain.C:33
 AddTaskESDFilterPWGJETrain.C:34
 AddTaskESDFilterPWGJETrain.C:35
 AddTaskESDFilterPWGJETrain.C:36
 AddTaskESDFilterPWGJETrain.C:37
 AddTaskESDFilterPWGJETrain.C:38
 AddTaskESDFilterPWGJETrain.C:39
 AddTaskESDFilterPWGJETrain.C:40
 AddTaskESDFilterPWGJETrain.C:41
 AddTaskESDFilterPWGJETrain.C:42
 AddTaskESDFilterPWGJETrain.C:43
 AddTaskESDFilterPWGJETrain.C:44
 AddTaskESDFilterPWGJETrain.C:45
 AddTaskESDFilterPWGJETrain.C:46
 AddTaskESDFilterPWGJETrain.C:47
 AddTaskESDFilterPWGJETrain.C:48
 AddTaskESDFilterPWGJETrain.C:49
 AddTaskESDFilterPWGJETrain.C:50
 AddTaskESDFilterPWGJETrain.C:51
 AddTaskESDFilterPWGJETrain.C:52
 AddTaskESDFilterPWGJETrain.C:53
 AddTaskESDFilterPWGJETrain.C:54
 AddTaskESDFilterPWGJETrain.C:55
 AddTaskESDFilterPWGJETrain.C:56
 AddTaskESDFilterPWGJETrain.C:57
 AddTaskESDFilterPWGJETrain.C:58
 AddTaskESDFilterPWGJETrain.C:59
 AddTaskESDFilterPWGJETrain.C:60
 AddTaskESDFilterPWGJETrain.C:61
 AddTaskESDFilterPWGJETrain.C:62
 AddTaskESDFilterPWGJETrain.C:63
 AddTaskESDFilterPWGJETrain.C:64
 AddTaskESDFilterPWGJETrain.C:65
 AddTaskESDFilterPWGJETrain.C:66
 AddTaskESDFilterPWGJETrain.C:67
 AddTaskESDFilterPWGJETrain.C:68
 AddTaskESDFilterPWGJETrain.C:69
 AddTaskESDFilterPWGJETrain.C:70
 AddTaskESDFilterPWGJETrain.C:71
 AddTaskESDFilterPWGJETrain.C:72
 AddTaskESDFilterPWGJETrain.C:73
 AddTaskESDFilterPWGJETrain.C:74
 AddTaskESDFilterPWGJETrain.C:75
 AddTaskESDFilterPWGJETrain.C:76
 AddTaskESDFilterPWGJETrain.C:77
 AddTaskESDFilterPWGJETrain.C:78
 AddTaskESDFilterPWGJETrain.C:79
 AddTaskESDFilterPWGJETrain.C:80
 AddTaskESDFilterPWGJETrain.C:81
 AddTaskESDFilterPWGJETrain.C:82
 AddTaskESDFilterPWGJETrain.C:83
 AddTaskESDFilterPWGJETrain.C:84
 AddTaskESDFilterPWGJETrain.C:85
 AddTaskESDFilterPWGJETrain.C:86
 AddTaskESDFilterPWGJETrain.C:87
 AddTaskESDFilterPWGJETrain.C:88
 AddTaskESDFilterPWGJETrain.C:89
 AddTaskESDFilterPWGJETrain.C:90
 AddTaskESDFilterPWGJETrain.C:91
 AddTaskESDFilterPWGJETrain.C:92
 AddTaskESDFilterPWGJETrain.C:93
 AddTaskESDFilterPWGJETrain.C:94
 AddTaskESDFilterPWGJETrain.C:95
 AddTaskESDFilterPWGJETrain.C:96
 AddTaskESDFilterPWGJETrain.C:97
 AddTaskESDFilterPWGJETrain.C:98
 AddTaskESDFilterPWGJETrain.C:99
 AddTaskESDFilterPWGJETrain.C:100
 AddTaskESDFilterPWGJETrain.C:101
 AddTaskESDFilterPWGJETrain.C:102
 AddTaskESDFilterPWGJETrain.C:103
 AddTaskESDFilterPWGJETrain.C:104
 AddTaskESDFilterPWGJETrain.C:105
 AddTaskESDFilterPWGJETrain.C:106
 AddTaskESDFilterPWGJETrain.C:107
 AddTaskESDFilterPWGJETrain.C:108
 AddTaskESDFilterPWGJETrain.C:109
 AddTaskESDFilterPWGJETrain.C:110
 AddTaskESDFilterPWGJETrain.C:111
 AddTaskESDFilterPWGJETrain.C:112
 AddTaskESDFilterPWGJETrain.C:113
 AddTaskESDFilterPWGJETrain.C:114
 AddTaskESDFilterPWGJETrain.C:115
 AddTaskESDFilterPWGJETrain.C:116
 AddTaskESDFilterPWGJETrain.C:117
 AddTaskESDFilterPWGJETrain.C:118
 AddTaskESDFilterPWGJETrain.C:119
 AddTaskESDFilterPWGJETrain.C:120
 AddTaskESDFilterPWGJETrain.C:121
 AddTaskESDFilterPWGJETrain.C:122
 AddTaskESDFilterPWGJETrain.C:123
 AddTaskESDFilterPWGJETrain.C:124
 AddTaskESDFilterPWGJETrain.C:125
 AddTaskESDFilterPWGJETrain.C:126
 AddTaskESDFilterPWGJETrain.C:127
 AddTaskESDFilterPWGJETrain.C:128
 AddTaskESDFilterPWGJETrain.C:129
 AddTaskESDFilterPWGJETrain.C:130
 AddTaskESDFilterPWGJETrain.C:131
 AddTaskESDFilterPWGJETrain.C:132
 AddTaskESDFilterPWGJETrain.C:133
 AddTaskESDFilterPWGJETrain.C:134
 AddTaskESDFilterPWGJETrain.C:135
 AddTaskESDFilterPWGJETrain.C:136
 AddTaskESDFilterPWGJETrain.C:137
 AddTaskESDFilterPWGJETrain.C:138
 AddTaskESDFilterPWGJETrain.C:139
 AddTaskESDFilterPWGJETrain.C:140
 AddTaskESDFilterPWGJETrain.C:141
 AddTaskESDFilterPWGJETrain.C:142
 AddTaskESDFilterPWGJETrain.C:143
 AddTaskESDFilterPWGJETrain.C:144
 AddTaskESDFilterPWGJETrain.C:145
 AddTaskESDFilterPWGJETrain.C:146
 AddTaskESDFilterPWGJETrain.C:147
 AddTaskESDFilterPWGJETrain.C:148
 AddTaskESDFilterPWGJETrain.C:149
 AddTaskESDFilterPWGJETrain.C:150
 AddTaskESDFilterPWGJETrain.C:151
 AddTaskESDFilterPWGJETrain.C:152
 AddTaskESDFilterPWGJETrain.C:153
 AddTaskESDFilterPWGJETrain.C:154
 AddTaskESDFilterPWGJETrain.C:155
 AddTaskESDFilterPWGJETrain.C:156
 AddTaskESDFilterPWGJETrain.C:157
 AddTaskESDFilterPWGJETrain.C:158
 AddTaskESDFilterPWGJETrain.C:159
 AddTaskESDFilterPWGJETrain.C:160
 AddTaskESDFilterPWGJETrain.C:161
 AddTaskESDFilterPWGJETrain.C:162
 AddTaskESDFilterPWGJETrain.C:163
 AddTaskESDFilterPWGJETrain.C:164
 AddTaskESDFilterPWGJETrain.C:165
 AddTaskESDFilterPWGJETrain.C:166
 AddTaskESDFilterPWGJETrain.C:167
 AddTaskESDFilterPWGJETrain.C:168
 AddTaskESDFilterPWGJETrain.C:169
 AddTaskESDFilterPWGJETrain.C:170
 AddTaskESDFilterPWGJETrain.C:171
 AddTaskESDFilterPWGJETrain.C:172
 AddTaskESDFilterPWGJETrain.C:173
 AddTaskESDFilterPWGJETrain.C:174
 AddTaskESDFilterPWGJETrain.C:175
 AddTaskESDFilterPWGJETrain.C:176
 AddTaskESDFilterPWGJETrain.C:177
 AddTaskESDFilterPWGJETrain.C:178
 AddTaskESDFilterPWGJETrain.C:179
 AddTaskESDFilterPWGJETrain.C:180
 AddTaskESDFilterPWGJETrain.C:181
 AddTaskESDFilterPWGJETrain.C:182
 AddTaskESDFilterPWGJETrain.C:183
 AddTaskESDFilterPWGJETrain.C:184
 AddTaskESDFilterPWGJETrain.C:185
 AddTaskESDFilterPWGJETrain.C:186
 AddTaskESDFilterPWGJETrain.C:187
 AddTaskESDFilterPWGJETrain.C:188
 AddTaskESDFilterPWGJETrain.C:189
 AddTaskESDFilterPWGJETrain.C:190
 AddTaskESDFilterPWGJETrain.C:191
 AddTaskESDFilterPWGJETrain.C:192
 AddTaskESDFilterPWGJETrain.C:193
 AddTaskESDFilterPWGJETrain.C:194
 AddTaskESDFilterPWGJETrain.C:195
 AddTaskESDFilterPWGJETrain.C:196
 AddTaskESDFilterPWGJETrain.C:197
 AddTaskESDFilterPWGJETrain.C:198
 AddTaskESDFilterPWGJETrain.C:199
 AddTaskESDFilterPWGJETrain.C:200
 AddTaskESDFilterPWGJETrain.C:201
 AddTaskESDFilterPWGJETrain.C:202
 AddTaskESDFilterPWGJETrain.C:203
 AddTaskESDFilterPWGJETrain.C:204
 AddTaskESDFilterPWGJETrain.C:205
 AddTaskESDFilterPWGJETrain.C:206
 AddTaskESDFilterPWGJETrain.C:207
 AddTaskESDFilterPWGJETrain.C:208
 AddTaskESDFilterPWGJETrain.C:209
 AddTaskESDFilterPWGJETrain.C:210
 AddTaskESDFilterPWGJETrain.C:211
 AddTaskESDFilterPWGJETrain.C:212
 AddTaskESDFilterPWGJETrain.C:213
 AddTaskESDFilterPWGJETrain.C:214
 AddTaskESDFilterPWGJETrain.C:215
 AddTaskESDFilterPWGJETrain.C:216
 AddTaskESDFilterPWGJETrain.C:217
 AddTaskESDFilterPWGJETrain.C:218
 AddTaskESDFilterPWGJETrain.C:219
 AddTaskESDFilterPWGJETrain.C:220
 AddTaskESDFilterPWGJETrain.C:221
 AddTaskESDFilterPWGJETrain.C:222
 AddTaskESDFilterPWGJETrain.C:223
 AddTaskESDFilterPWGJETrain.C:224
 AddTaskESDFilterPWGJETrain.C:225
 AddTaskESDFilterPWGJETrain.C:226
 AddTaskESDFilterPWGJETrain.C:227
 AddTaskESDFilterPWGJETrain.C:228
 AddTaskESDFilterPWGJETrain.C:229
 AddTaskESDFilterPWGJETrain.C:230
 AddTaskESDFilterPWGJETrain.C:231
 AddTaskESDFilterPWGJETrain.C:232
 AddTaskESDFilterPWGJETrain.C:233
 AddTaskESDFilterPWGJETrain.C:234
 AddTaskESDFilterPWGJETrain.C:235
 AddTaskESDFilterPWGJETrain.C:236
 AddTaskESDFilterPWGJETrain.C:237
 AddTaskESDFilterPWGJETrain.C:238
 AddTaskESDFilterPWGJETrain.C:239
 AddTaskESDFilterPWGJETrain.C:240
 AddTaskESDFilterPWGJETrain.C:241
 AddTaskESDFilterPWGJETrain.C:242
 AddTaskESDFilterPWGJETrain.C:243
 AddTaskESDFilterPWGJETrain.C:244
 AddTaskESDFilterPWGJETrain.C:245
 AddTaskESDFilterPWGJETrain.C:246
 AddTaskESDFilterPWGJETrain.C:247
 AddTaskESDFilterPWGJETrain.C:248
 AddTaskESDFilterPWGJETrain.C:249
 AddTaskESDFilterPWGJETrain.C:250
 AddTaskESDFilterPWGJETrain.C:251
 AddTaskESDFilterPWGJETrain.C:252
 AddTaskESDFilterPWGJETrain.C:253
 AddTaskESDFilterPWGJETrain.C:254
 AddTaskESDFilterPWGJETrain.C:255
 AddTaskESDFilterPWGJETrain.C:256
 AddTaskESDFilterPWGJETrain.C:257
 AddTaskESDFilterPWGJETrain.C:258
 AddTaskESDFilterPWGJETrain.C:259
 AddTaskESDFilterPWGJETrain.C:260
 AddTaskESDFilterPWGJETrain.C:261
 AddTaskESDFilterPWGJETrain.C:262
 AddTaskESDFilterPWGJETrain.C:263
 AddTaskESDFilterPWGJETrain.C:264
 AddTaskESDFilterPWGJETrain.C:265
 AddTaskESDFilterPWGJETrain.C:266
 AddTaskESDFilterPWGJETrain.C:267
 AddTaskESDFilterPWGJETrain.C:268
 AddTaskESDFilterPWGJETrain.C:269
 AddTaskESDFilterPWGJETrain.C:270
 AddTaskESDFilterPWGJETrain.C:271
 AddTaskESDFilterPWGJETrain.C:272
 AddTaskESDFilterPWGJETrain.C:273
 AddTaskESDFilterPWGJETrain.C:274
 AddTaskESDFilterPWGJETrain.C:275
 AddTaskESDFilterPWGJETrain.C:276
 AddTaskESDFilterPWGJETrain.C:277
 AddTaskESDFilterPWGJETrain.C:278
 AddTaskESDFilterPWGJETrain.C:279
 AddTaskESDFilterPWGJETrain.C:280
 AddTaskESDFilterPWGJETrain.C:281
 AddTaskESDFilterPWGJETrain.C:282
 AddTaskESDFilterPWGJETrain.C:283
 AddTaskESDFilterPWGJETrain.C:284
 AddTaskESDFilterPWGJETrain.C:285
 AddTaskESDFilterPWGJETrain.C:286
 AddTaskESDFilterPWGJETrain.C:287
 AddTaskESDFilterPWGJETrain.C:288
 AddTaskESDFilterPWGJETrain.C:289
 AddTaskESDFilterPWGJETrain.C:290
 AddTaskESDFilterPWGJETrain.C:291
 AddTaskESDFilterPWGJETrain.C:292
 AddTaskESDFilterPWGJETrain.C:293
 AddTaskESDFilterPWGJETrain.C:294
 AddTaskESDFilterPWGJETrain.C:295
 AddTaskESDFilterPWGJETrain.C:296
 AddTaskESDFilterPWGJETrain.C:297
 AddTaskESDFilterPWGJETrain.C:298
 AddTaskESDFilterPWGJETrain.C:299
 AddTaskESDFilterPWGJETrain.C:300
 AddTaskESDFilterPWGJETrain.C:301
 AddTaskESDFilterPWGJETrain.C:302
 AddTaskESDFilterPWGJETrain.C:303
 AddTaskESDFilterPWGJETrain.C:304
 AddTaskESDFilterPWGJETrain.C:305
 AddTaskESDFilterPWGJETrain.C:306
 AddTaskESDFilterPWGJETrain.C:307
 AddTaskESDFilterPWGJETrain.C:308
 AddTaskESDFilterPWGJETrain.C:309
 AddTaskESDFilterPWGJETrain.C:310
 AddTaskESDFilterPWGJETrain.C:311
 AddTaskESDFilterPWGJETrain.C:312
 AddTaskESDFilterPWGJETrain.C:313
 AddTaskESDFilterPWGJETrain.C:314
 AddTaskESDFilterPWGJETrain.C:315
 AddTaskESDFilterPWGJETrain.C:316
 AddTaskESDFilterPWGJETrain.C:317
 AddTaskESDFilterPWGJETrain.C:318
 AddTaskESDFilterPWGJETrain.C:319
 AddTaskESDFilterPWGJETrain.C:320
 AddTaskESDFilterPWGJETrain.C:321
 AddTaskESDFilterPWGJETrain.C:322
 AddTaskESDFilterPWGJETrain.C:323
 AddTaskESDFilterPWGJETrain.C:324
 AddTaskESDFilterPWGJETrain.C:325
 AddTaskESDFilterPWGJETrain.C:326
 AddTaskESDFilterPWGJETrain.C:327
 AddTaskESDFilterPWGJETrain.C:328
 AddTaskESDFilterPWGJETrain.C:329