]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/AliJetEmbeddingFromAODTask.h
Add jet mass to tagged jet correlation
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / AliJetEmbeddingFromAODTask.h
index 57a201922b051c50e832b5b2805011537535a577..6e902d68c66a8b0ec2f758ea88918c6de8fc515a 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef ALIJETEMBEDDINGFROMAODTASK_H
 #define ALIJETEMBEDDINGFROMAODTASK_H
 
-// $Id: AliJetEmbeddingFromAODTask.h  $
+// $Id$
 
 class TFile;
 class TObjArray;
@@ -12,6 +12,7 @@ class AliVHeader;
 class TH2;
 class TH1;
 class TLorentzVector;
+class AliNamedString;
 
 #include "AliJetModelBaseTask.h"
 
@@ -35,6 +36,7 @@ class AliJetEmbeddingFromAODTask : public AliJetModelBaseTask {
   void           SetTriggerMask(UInt_t mask)                       { fTriggerMask        = mask  ; }
   void           SetAODfilterBits(Int_t b0 = 0, Int_t b1 = 0)      { fAODfilterBits[0]   = b0    ; fAODfilterBits[1] = b1  ; }
   void           SetIncludeNoITS(Bool_t f)                         { fIncludeNoITS       = f     ; }
+  void           SetCutMaxFractionSharedTPCClusters(Double_t c = 0.4) { fCutMaxFractionSharedTPCClusters  = c ; }
   void           SetUseNegativeLabels(Bool_t f)                    { fUseNegativeLabels  = f     ; }
   void           SetTrackEfficiency(Double_t eff = 0.95)           { fTrackEfficiency    = eff   ; }
   void           SetTotalFiles(Int_t n)                            { fTotalFiles         = n     ; }
@@ -44,8 +46,12 @@ class AliJetEmbeddingFromAODTask : public AliJetModelBaseTask {
   void           SetJetMinPt(Double_t pt)                          { fJetMinPt           = pt    ; }
   void           SetJetEtaRange(Double_t emi, Double_t ema)        { fJetMinEta = emi; fJetMaxEta = ema; }
   void           SetJetPhiRange(Double_t pmi, Double_t pma)        { fJetMinPhi = pmi; fJetMaxPhi = pma; }
+  void           SetJetConstituentMinPt(Double_t pt)               { fJetConstituentMinPt= pt    ; }
   void           SetJetType(Byte_t t)                              { fJetType            = t     ; }
   void           SetJetAlgo(Byte_t t)                              { fJetAlgo            = t     ; }
+  void           SetZVertexCut(Double_t z)                         { fZVertexCut         = z     ; }
+  void           SetMaxVertexDist(Double_t d)                      { fMaxVertexDist      = d     ; }
+  void           SetParticlePtRange(Double_t min, Double_t max, Byte_t t=1) { fParticleMinPt = min; fParticleMaxPt = max; fParticleSelection = t; }
 
  protected:
   Bool_t          ExecOnce()            ;// intialize task
@@ -55,6 +61,7 @@ class AliJetEmbeddingFromAODTask : public AliJetModelBaseTask {
   virtual Bool_t  GetNextEntry()        ;// get next entry in current tree
   virtual Bool_t  IsAODEventSelected()  ;// AOD event trigger/centrality selection
   TLorentzVector  GetLeadingJet(TClonesArray *tracks, TClonesArray *clusters=0);  // get the leading jet
+  Bool_t          FindParticleInRange(TClonesArray *array);// Find particle in array within range (fParticleMinPt, fParticleMaxPt)
 
   TObjArray     *fFileList            ;//  List of AOD files 
   Bool_t         fRandomAccess        ;//  Random access to file number and event
@@ -69,17 +76,23 @@ class AliJetEmbeddingFromAODTask : public AliJetModelBaseTask {
   Double_t       fMaxCentrality       ;//  Maximum centrality
   UInt_t         fTriggerMask         ;//  Trigger selection mask
   Double_t       fZVertexCut          ;//  Z vertex cut
+  Double_t       fMaxVertexDist       ;//  Maximum distance allowed between the vertices of the current and the embedded events
   Double_t       fJetMinPt            ;//  Select events with a minimum jet pt
   Double_t       fJetMinEta           ;//  Min eta for jets
   Double_t       fJetMaxEta           ;//  Max eta for jets
   Double_t       fJetMinPhi           ;//  Min phi for jets
   Double_t       fJetMaxPhi           ;//  Max phi for jets
+  Double_t       fJetConstituentMinPt ;//  Jet constituent min pt
   Double_t       fJetRadius           ;//  Jet radius
   Byte_t         fJetType             ;//  Jet type (0=full, 1=charged, 2=neutral)
   Byte_t         fJetAlgo             ;//  Jet algorithm (0=kT, 1=anti-kT)
   Bool_t         fJetParticleLevel    ;//  Trigger, look at particle level jets
+  Double_t       fParticleMinPt       ;//  Select events with a particle pt between fParticleMinPt and fParticleMaxPt (see fParticleSelection)
+  Double_t       fParticleMaxPt       ;//  Select events with a particle pt between fParticleMinPt and fParticleMaxPt (see fParticleSelection)
+  Byte_t         fParticleSelection   ;//  Particles used to select events (def=0=none, 1=tracks, 2=clusters, 3=MC particles)
   Int_t          fAODfilterBits[2]    ;//  AOD track filter bit map
   Bool_t         fIncludeNoITS        ;//  True = includes tracks with failed ITS refit
+  Double_t       fCutMaxFractionSharedTPCClusters;  // max fraction of shared TPC clusters
   Bool_t         fUseNegativeLabels   ;//  Whether or not should use negative MC labels
   Double_t       fTrackEfficiency     ;//  Track efficiency
   Bool_t         fIsAODMC             ;//  Whether the embedding AOD is MC or not
@@ -98,15 +111,18 @@ class AliJetEmbeddingFromAODTask : public AliJetModelBaseTask {
   AliVCaloCells *fAODCaloCells        ;//! AOD cell collection
   TClonesArray  *fAODMCParticles      ;//! AOD MC particles collection
   Int_t          fCurrentAODEntry     ;//! Current entry in the AOD tree
+  AliNamedString *fAODFilePath        ;//! Current AOD file path being embedded
   TH2           *fHistFileMatching    ;//! Current file ID vs. AOD file ID (to be embedded)
   TH1           *fHistAODFileError    ;//! AOD file ID (to be embedded) error
   TH1           *fHistNotEmbedded     ;//! File ID not embedded
   TH1           *fHistEmbeddingQA     ;//! Embedding QA
+  TH1           *fHistRejectedEvents  ;//! Rejected events
+  Int_t          fEmbeddingCount      ;//! Number of embedded events from the current file
 
  private:
   AliJetEmbeddingFromAODTask(const AliJetEmbeddingFromAODTask&);            // not implemented
   AliJetEmbeddingFromAODTask &operator=(const AliJetEmbeddingFromAODTask&); // not implemented
 
-  ClassDef(AliJetEmbeddingFromAODTask, 7) // Jet embedding from AOD task
+  ClassDef(AliJetEmbeddingFromAODTask, 11) // Jet embedding from AOD task
 };
 #endif