]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
-add new default pid
authorjbook <jbook@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 15 Apr 2013 11:45:21 +0000 (11:45 +0000)
committerjbook <jbook@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 15 Apr 2013 11:45:21 +0000 (11:45 +0000)
-add online trigger de-/selection

PWGDQ/dielectron/AliAnalysisTaskMultiDielectron.cxx
PWGDQ/dielectron/AliAnalysisTaskMultiDielectron.h
PWGDQ/dielectron/AliDielectronPID.cxx

index 0ea87981bb8022fea529490f2ade0fe627341412..1349032ace6237a73d8d1facaa614a7147720be3 100644 (file)
@@ -51,6 +51,8 @@ AliAnalysisTaskMultiDielectron::AliAnalysisTaskMultiDielectron() :
   fTriggerMask(AliVEvent::kMB),
   fExcludeTriggerMask(0),
   fTriggerOnV0AND(kFALSE),
+  fFiredTrigger(""),
+  fFiredExclude(kFALSE),
   fRejectPileup(kFALSE),
   fBeamEnergy(-1.),
   fTriggerLogic(kAny),
@@ -73,6 +75,8 @@ AliAnalysisTaskMultiDielectron::AliAnalysisTaskMultiDielectron(const char *name)
   fTriggerMask(AliVEvent::kMB),
   fExcludeTriggerMask(0),
   fTriggerOnV0AND(kFALSE),
+  fFiredTrigger(""),
+  fFiredExclude(kFALSE),
   fRejectPileup(kFALSE),
   fBeamEnergy(-1.),
   fTriggerLogic(kAny),
@@ -195,6 +199,9 @@ void AliAnalysisTaskMultiDielectron::UserExec(Option_t *)
       if (fExcludeTriggerMask && (isSelected&fExcludeTriggerMask)) isRejected=kTRUE;
       if (fTriggerLogic==kAny) isSelected&=fTriggerMask;
       else if (fTriggerLogic==kExact) isSelected=((isSelected&fTriggerMask)==fTriggerMask);
+   
+      TString firedTriggerClasses=InputEvent()->GetFiredTriggerClasses();
+      if(!fFiredTrigger.IsNull()) isSelected=(firedTriggerClasses.Contains(fFiredTrigger))^fFiredExclude;
     }
    }
  
index 188c4448da60d0516770ec10c376d59e42610e96..1f913f9afdf2e93177ada5388ce1a17e10f0dc73 100644 (file)
@@ -48,6 +48,7 @@ public:
   UInt_t GetExcludeTriggerMask() const { return fExcludeTriggerMask; }
   void SetTriggerLogic(ETriggerLogig log) {fTriggerLogic=log;}
   ETriggerLogig GetTriggerLogic() const {return fTriggerLogic;}
+  void SetFiredTriggerName(const char* select, Bool_t exclude=kFALSE) {fFiredTrigger=select; fFiredExclude=exclude;}
 
   void SetEventFilter(AliAnalysisCuts * const filter) {fEventFilter=filter;}
   void SetTriggerOnV0AND(Bool_t v0and=kTRUE)    { fTriggerOnV0AND=v0and;    }
@@ -65,6 +66,8 @@ protected:
   UInt_t fTriggerMask;               // Event trigger mask
   UInt_t fExcludeTriggerMask;        // Triggers to exclude from the analysis
   Bool_t fTriggerOnV0AND;            // if to trigger on V0and
+  TString fFiredTrigger;             // online trigger class name
+  Bool_t fFiredExclude;              // cut logic: select(default) or exclude
   Bool_t fRejectPileup;              // pileup rejection wanted
   Double_t fBeamEnergy;              // beam energy in GeV (set by hand)
 
index f1c55fb3b05b39896e22eb8616bb2b7e37f09f1b..0253771885b0c88ee38f61c8d88193b364e1c5e9 100644 (file)
@@ -618,6 +618,12 @@ void AliDielectronPID::SetDefaults(Int_t def){
     AddCut(kTOF,AliPID::kElectron,-3.,3.,0,200,kFALSE,AliDielectronPID::kIfAvailable);
     AddCut(kTPC,AliPID::kElectron,10.);
   }
+  else if (def==16) {
+    // TPC electron inclusion
+    // TOF electron inclusion if available
+    AddCut(kTOF,AliPID::kElectron,-3.,3.,0,200,kFALSE,AliDielectronPID::kIfAvailable);
+    AddCut(kTPC,AliPID::kElectron,-3.5,+3.5);
+  }
 
 }