#ifndef ALIANALYSISHELPERJETTASKS_H
#define ALIANALYSISHELPERJETTASKS_H
#include "TObject.h"
class AliMCEvent;
class AliAODJet;
class AliVEvent;
class TString;
class TArrayI;
class TArrayF;
class AliGenPythiaEventHeader;
class TVector3;
class AliGenEventHeader;
class AliAnalysisHelperJetTasks : public TObject {
public:
AliAnalysisHelperJetTasks() : TObject() {;}
virtual ~AliAnalysisHelperJetTasks(){;}
enum {kMaxJets = 6};
enum { kNone = 1<<0,
kBunchBunch = 1<<1,
kBunchEmpty = 1<<2,
kEmptyEmpty= 1<<3,
kV0A=1<<4,
kV0C=1<<5,
kNoV0BG=1<<6,
kSPDFO=1<<7,
kPhysicsSelection = 1<<8,
kVertexIn = 1<<9,
kIsCosmic = 1<<10,
kIsPileUp = 1<<11,
kIsMCND=1<<12,
kIsMCDD=1<<13,
kIsMCSD=1<<14,
kTotalSelections = (1<<15) - 1};
enum Trigger {kAcceptAll = 0,kMB1,kMB2,kMB3,kSPDGFO,kTrigger};
enum MCProcessType { kInvalidProcess = -1, kND = 0x1, kDD = 0x2, kSD = 0x4, kOnePart = 0x8 };
static AliGenPythiaEventHeader* GetPythiaEventHeader(const AliMCEvent *mcEvent);
static void PrintStack(AliMCEvent *mcEvent,Int_t iFirst = 0,Int_t iLast = 0,Int_t iMaxPrint = 10);
static void GetClosestJets(const AliAODJet *genJets,
const Int_t &kGenJets,
const AliAODJet *recJets,
const Int_t &kRecJets,
Int_t *iGenIndex,
Int_t *iRecIndex,
Int_t iDebug = 0, Float_t maxDist = 0.3);
static void GetClosestJets(const TList *genJetsList,const Int_t &kGenJets,
const TList *recJetsList,const Int_t &kRecJets,
TArrayI &iGenIndex,TArrayI &iRecIndex,
Int_t iDebug = 0,Float_t maxDist = 0.3);
static void GetJetMatching(const TList *genJetsList, const Int_t &kGenJets,
const TList *recJetsList, const Int_t &kRecJets,
TArrayI &iMatchIndex, TArrayF &fPtFraction,
Int_t iDebug = 0, Float_t maxDist = 0.3, Int_t mode=1);
static Double_t GetFractionOfJet(const AliAODJet *recJet,const AliAODJet *genJet,Int_t mode=1);
static void MergeOutputDirs(const char* cFiles,const char* cPattern,const char *cOutFile,Bool_t bUpdate = false);
static void MergeOutput(const char* cFiles,const char* cDir = "",const char *cList = "",const char* cOutFile ="allpt.root",Bool_t bUpdate = false);
static Bool_t PythiaInfoFromFile(const char* currFile,Float_t &fXsec,Float_t &fTrials);
static Bool_t PrintDirectorySize(const char* currFile,Int_t iDetail = -1);
static Bool_t GetEventShapes(TVector3 &n01,const TVector3 * pTrack, Int_t nTracks, Double_t * eventShapes);
static MCProcessType GetPythiaEventProcessType(AliGenEventHeader* aHeader, Bool_t adebug = kFALSE);
static MCProcessType GetDPMjetEventProcessType(AliGenEventHeader* aHeader, Bool_t adebug = kFALSE);
static Int_t GetLastProcessType() { return fgLastProcessType; }
static Bool_t Selected(Bool_t bSet = kFALSE,Bool_t bNew = kTRUE);
static Double_t ReactionPlane(Bool_t bSet = kFALSE,Double_t fNew = 0);
static Int_t GetPhiBin(Double_t phi,Int_t fNRPbins);
static Bool_t IsPileUp();
static Bool_t IsCosmic();
static Bool_t TestSelectInfo(UInt_t iMask);
static Bool_t TestEventClass(Int_t iClass);
static UInt_t SelectInfo(Bool_t bSet = kFALSE,UInt_t iNew = 0);
static Int_t EventClass(Bool_t bSet = kFALSE,Int_t iNew = 0);
static Bool_t IsTriggerFired(const AliVEvent* aEsd, Trigger trigger);
private:
static Int_t fgLastProcessType;
ClassDef(AliAnalysisHelperJetTasks, 7)
};
#endif // ALIANALYSISHELPERJETTASKS_H
AliAnalysisHelperJetTasks.h:1 AliAnalysisHelperJetTasks.h:2 AliAnalysisHelperJetTasks.h:3 AliAnalysisHelperJetTasks.h:4 AliAnalysisHelperJetTasks.h:5 AliAnalysisHelperJetTasks.h:6 AliAnalysisHelperJetTasks.h:7 AliAnalysisHelperJetTasks.h:8 AliAnalysisHelperJetTasks.h:9 AliAnalysisHelperJetTasks.h:10 AliAnalysisHelperJetTasks.h:11 AliAnalysisHelperJetTasks.h:12 AliAnalysisHelperJetTasks.h:13 AliAnalysisHelperJetTasks.h:14 AliAnalysisHelperJetTasks.h:15 AliAnalysisHelperJetTasks.h:16 AliAnalysisHelperJetTasks.h:17 AliAnalysisHelperJetTasks.h:18 AliAnalysisHelperJetTasks.h:19 AliAnalysisHelperJetTasks.h:20 AliAnalysisHelperJetTasks.h:21 AliAnalysisHelperJetTasks.h:22 AliAnalysisHelperJetTasks.h:23 AliAnalysisHelperJetTasks.h:24 AliAnalysisHelperJetTasks.h:25 AliAnalysisHelperJetTasks.h:26 AliAnalysisHelperJetTasks.h:27 AliAnalysisHelperJetTasks.h:28 AliAnalysisHelperJetTasks.h:29 AliAnalysisHelperJetTasks.h:30 AliAnalysisHelperJetTasks.h:31 AliAnalysisHelperJetTasks.h:32 AliAnalysisHelperJetTasks.h:33 AliAnalysisHelperJetTasks.h:34 AliAnalysisHelperJetTasks.h:35 AliAnalysisHelperJetTasks.h:36 AliAnalysisHelperJetTasks.h:37 AliAnalysisHelperJetTasks.h:38 AliAnalysisHelperJetTasks.h:39 AliAnalysisHelperJetTasks.h:40 AliAnalysisHelperJetTasks.h:41 AliAnalysisHelperJetTasks.h:42 AliAnalysisHelperJetTasks.h:43 AliAnalysisHelperJetTasks.h:44 AliAnalysisHelperJetTasks.h:45 AliAnalysisHelperJetTasks.h:46 AliAnalysisHelperJetTasks.h:47 AliAnalysisHelperJetTasks.h:48 AliAnalysisHelperJetTasks.h:49 AliAnalysisHelperJetTasks.h:50 AliAnalysisHelperJetTasks.h:51 AliAnalysisHelperJetTasks.h:52 AliAnalysisHelperJetTasks.h:53 AliAnalysisHelperJetTasks.h:54 AliAnalysisHelperJetTasks.h:55 AliAnalysisHelperJetTasks.h:56 AliAnalysisHelperJetTasks.h:57 AliAnalysisHelperJetTasks.h:58 AliAnalysisHelperJetTasks.h:59 AliAnalysisHelperJetTasks.h:60 AliAnalysisHelperJetTasks.h:61 AliAnalysisHelperJetTasks.h:62 AliAnalysisHelperJetTasks.h:63 AliAnalysisHelperJetTasks.h:64 AliAnalysisHelperJetTasks.h:65 AliAnalysisHelperJetTasks.h:66 AliAnalysisHelperJetTasks.h:67 AliAnalysisHelperJetTasks.h:68 AliAnalysisHelperJetTasks.h:69 AliAnalysisHelperJetTasks.h:70 AliAnalysisHelperJetTasks.h:71 AliAnalysisHelperJetTasks.h:72 AliAnalysisHelperJetTasks.h:73 AliAnalysisHelperJetTasks.h:74 AliAnalysisHelperJetTasks.h:75 AliAnalysisHelperJetTasks.h:76 AliAnalysisHelperJetTasks.h:77 AliAnalysisHelperJetTasks.h:78 AliAnalysisHelperJetTasks.h:79 AliAnalysisHelperJetTasks.h:80 AliAnalysisHelperJetTasks.h:81 AliAnalysisHelperJetTasks.h:82 AliAnalysisHelperJetTasks.h:83 AliAnalysisHelperJetTasks.h:84 AliAnalysisHelperJetTasks.h:85 AliAnalysisHelperJetTasks.h:86 AliAnalysisHelperJetTasks.h:87 AliAnalysisHelperJetTasks.h:88 AliAnalysisHelperJetTasks.h:89 AliAnalysisHelperJetTasks.h:90 AliAnalysisHelperJetTasks.h:91 AliAnalysisHelperJetTasks.h:92 AliAnalysisHelperJetTasks.h:93 AliAnalysisHelperJetTasks.h:94 AliAnalysisHelperJetTasks.h:95 AliAnalysisHelperJetTasks.h:96 AliAnalysisHelperJetTasks.h:97 AliAnalysisHelperJetTasks.h:98 AliAnalysisHelperJetTasks.h:99 AliAnalysisHelperJetTasks.h:100 AliAnalysisHelperJetTasks.h:101 AliAnalysisHelperJetTasks.h:102 AliAnalysisHelperJetTasks.h:103 AliAnalysisHelperJetTasks.h:104 AliAnalysisHelperJetTasks.h:105