]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/UserTasks/AliAnalysisTaskJetsTriggerTRD.h
Corrected compilation options
[u/mrichter/AliRoot.git] / PWGJE / UserTasks / AliAnalysisTaskJetsTriggerTRD.h
index 7e1549fb363a4a77ce011595693653556f2dadd0..29818a0951704cc5f40d3df249388baae33ad63e 100644 (file)
@@ -5,6 +5,7 @@
 #include "AliLog.h"
 
 #include "AliAnalysisTaskSE.h"
+#include "AliTRDTriggerAnalysis.h"
 
 #define ID(x) x, #x
 
@@ -33,13 +34,37 @@ public:
   void SetJetBranchName(const char* const branchName) { strncpy(fJetBranchName, branchName, fgkStringLength-1); }
   const char* GetJetBranchName() const { return fJetBranchName; }
 
+  Bool_t HasMC() const { return fMCEventHandler != 0; }
+  Bool_t AcceptTrackMC(Int_t track) const;
+
   // histograms
   enum Hist_t {
       kHistStat = 0,
+      kHistXsection,
+      kHistPtHard,
+      kHistJetPtMC,
+      kHistJetEtaAvg,
       kHistNoJets,
       kHistTrackGTU,
-      kHistJetPt, kHistJetPtITS, kHistJetPt3x3,
-      kHistJetPtEMC, kHistJetPtHJT,
+      kHistTrackEffGTU,
+      kHistTrackEffMC,
+      kHistNPtMin,
+      kHistLeadJetPt,
+      kHistLeadJetPtEta,
+      kHistLeadJetPtPhi,
+      kHistLeadJetEtaPhi,
+      kHistLeadJetPtTrackPt,
+      kHistLeadJetPtZ,
+      kHistLeadJetPtXi,
+      kHistJetPt,
+      kHistJetPtEta,
+      kHistJetPtPhi,
+      kHistJetEtaPhi,
+      kHistJetPtITS,
+      kHistJetPt3x3,
+      kHistJetPtTrackPt,
+      kHistJetPtZ,
+      kHistJetPtXi,
       kHistJetPtNoTracks3,
       kHistLast
   };
@@ -47,28 +72,60 @@ public:
   // statistics
   enum Stat_t {
       kStatSeen = 1,
+      kStatTrg,
       kStatUsed,
-      kStatMB,
+      kStatEvCuts,
       kStatLast
   };
 
   // trigger conditions
-  enum Trigger_t { 
-      kTrgMB = 0,
-      kTrgInt,
-      kTrgInt78,
-      kTrgHJT,
-      kTrgEMC,
-      kTrgLast
+  enum Trigger_t {
+    // untriggered
+    kTrgMinBias = 1, // CINT1
+    kTrgInt7,
+    kTrgInt8,
+    kTrgEMC7,
+    kTrgEMC8,
+    // TRD jet trigger (HJT)
+    kTrgInt7WUHJT,
+    kTrgInt8WUHJT,
+    kTrgEMC7WUHJT,
+    kTrgEMC8WUHJT,
+    kTrgEMCEJE,
+    kTrgEMCEGA,
+    // analysis-level combinations
+    kTrgInt7_WU,
+    kTrgInt7_WUHJT,
+    kTrgEMCEJE_WU,
+    kTrgEMCEJE_WUHJT,
+    // PbPb
+    kTrgPbPb,
+    kTrgCentral,
+    kTrgSemiCentral,
+    //
+    kTrgLast
   };      
 
+  enum TriggerMC_t {
+    kTrgMC3x3Vtx = kTrgLast,
+    kTrgMC3x3TRD,
+    kTrgMC3x3TRDeff,
+    kTrgMC3x3TRDeffmap,
+    kTrgMCLast
+  };
+
 protected:
   UInt_t fTriggerMask;         // internal representation of trigger conditions
+  AliTRDTriggerAnalysis fTrdTrg; //! TRD trigger analysis
 
   Bool_t DetectTriggers();
+  Bool_t DetectMCTriggers();
   void   MarkTrigger(Trigger_t trg) { fTriggerMask |= (1 << trg); }
+  void   MarkTrigger(TriggerMC_t trg) { fTriggerMask |= (1 << trg); }
   Bool_t IsTrigger(Trigger_t trg) const { return (fTriggerMask & (1 << trg)); }
 
+  Float_t GetEfficiencyTRD(Float_t /* pt */, Float_t /* eta */, Float_t /* phi */) { return 0.7; }
+
   // output objects
   TList *fOutputList;          // list of output objects
 
@@ -76,6 +133,8 @@ protected:
   TH1  *fHist[kHistLast];      //! pointers to histogram
   const char *fShortTaskId;    //! short identifier for the task
 
+  Int_t fNoTriggers;           // numbers of triggers used in histograms
+
   TH1*&  GetHistogram(Hist_t hist, const Int_t idx = 0) { return fHist[hist + idx]; }
 
   TH1*   AddHistogram(Hist_t hist, const char *hid, TString title,
@@ -99,9 +158,19 @@ protected:
   Int_t    fNoJetPtBins;                // number of bins for jet pt
   Float_t  fJetPtBinMax;                // max jet pt (GeV) in histograms
 
+  Float_t  fAvgXsection;               // x-section from PYTHIA
+  Float_t  fAvgTrials;                 // ratio of PYTHIA events
+                                       // over accepted events
+  Float_t  fPtHard;                    // pt hard
+  Int_t    fNTrials;                   // total number of trials
+
+  Float_t  fGlobalEfficiencyGTU; // global efficiency used trigger emulation on MC
+
   static const Int_t fgkStringLength = 100; // max length for the jet branch name
   char fJetBranchName[fgkStringLength];     // jet branch name
 
+  const Int_t fGtuLabel;               // constrain to tracks with given label
+
   // not implemented
   AliAnalysisTaskJetsTriggerTRD(const AliAnalysisTaskJetsTriggerTRD &rhs);
   AliAnalysisTaskJetsTriggerTRD& operator=(const AliAnalysisTaskJetsTriggerTRD &rhs);