]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGUD/UPC/AliAnalysisTaskUpcPsi2s.h
patch for LEGO train test environment
[u/mrichter/AliRoot.git] / PWGUD / UPC / AliAnalysisTaskUpcPsi2s.h
index 51dd40d84b886fe2670c874f61c0a5a25a0d2cae..f0b4737bb16be69b1e306fc026e4346a0d934f69 100644 (file)
@@ -10,6 +10,9 @@ class TTree;
 class TH1;
 class TH2;
 class TList;
+class AliPIDResponse;
+class AliAODEvent;
+class AliESDEvent;
 
 #define ntrg 17
 #include "AliAnalysisTaskSE.h"
@@ -26,17 +29,28 @@ class AliAnalysisTaskUpcPsi2s : public AliAnalysisTaskSE {
   virtual void RunAODtrig();
   virtual void RunAODhist();
   virtual void RunAODtree();
+  virtual void RunAODMC(AliAODEvent *aod);
+  virtual void RunAODsystematics(AliAODEvent *aod);
   virtual void RunESDtrig();
   virtual void RunESDhist();
   virtual void RunESDtree();
+  virtual void RunESDMC(AliESDEvent *esd);
   virtual void Terminate(Option_t *);
   void SetRunTree(Bool_t runTree){fRunTree = runTree;}
   void SetRunHist(Bool_t runHist){fRunHist = runHist;}
+  void SetRunSyst(Bool_t runSyst){fRunSystematics = runSyst;}
+  void SetIsMC(Bool_t MC){isMC = MC;}
+  void InitSystematics();
+  Double_t GetMedian(Double_t *daArray);
 
  private:
   Int_t fType; // 0 - ESD, 1 - AOD
+  Bool_t isMC;
   Bool_t fRunTree; 
   Bool_t fRunHist;
+  Bool_t fRunSystematics;
+  
+  AliPIDResponse *fPIDResponse;
   
   //event tree
   TTree *fJPsiTree;
@@ -46,13 +60,19 @@ class AliAnalysisTaskUpcPsi2s : public AliAnalysisTaskSE {
   UInt_t fPerNum, fOrbNum;
   //trigger
   Bool_t fTrigger[ntrg];
+  Bool_t fTriggerInputsMC[4];
   UInt_t fL0inputs, fL1inputs;
+  Bool_t fTOFtrig1, fTOFtrig2;
+  Double_t fTOFphi[4];
+  Double_t fPIDMuon[4];
+  Double_t fPIDElectron[4];
+  Double_t fPIDPion[4];
   Int_t fVtxContrib;
-  Double_t fVtxPosX,fVtxPosY,fVtxPosZ;
-  Double_t fVtxErrX,fVtxErrY,fVtxErrZ;
+  Double_t fVtxPos[3];
+  Double_t fVtxErr[3];
   Double_t fVtxChi2,fVtxNDF;
-  Char_t fVtxType;
-  UShort_t fBCrossNum, fNtracklets;
+  Double_t fKfVtxPos[3];
+  UShort_t fBCrossNum, fNtracklets, fNLooseTracks;
   //vzero, zdc
   Double_t fZDCAenergy, fZDCCenergy;
   Int_t fV0Adecision, fV0Cdecision;
@@ -65,9 +85,13 @@ class AliAnalysisTaskUpcPsi2s : public AliAnalysisTaskSE {
   TClonesArray *fJPsiESDTracks; 
   TClonesArray *fPsi2sAODTracks;
   TClonesArray *fPsi2sESDTracks;
+    //mc
+  TClonesArray *fGenPart;
   
   TList *fListTrig;
-  TH1D *fHistUpcTriggersPerRun;
+  TH1D *fHistCcup4TriggersPerRun;
+  TH1D *fHistCcup7TriggersPerRun;
+  TH1D *fHistCcup2TriggersPerRun;
   TH1D *fHistZedTriggersPerRun;
   TH1D *fHistCvlnTriggersPerRun;
   TH1D *fHistMBTriggersPerRun;
@@ -80,11 +104,18 @@ class AliAnalysisTaskUpcPsi2s : public AliAnalysisTaskSE {
   TH2D *fHistDiLeptonPtJPsi;
   TH1D *fHistDiElectronMass;
   TH1D *fHistDiMuonMass;
+  TH1D *fHistDiLeptonMass;
   
   TH1D *fHistNeventsPsi2s;
   TH2D *fHistPsi2sMassVsPt;
   TH1D *fHistPsi2sMassCoherent;
   
+  TList *fListSystematics;
+  TList *fListJPsiLoose;
+  TList *fListJPsiTight;
+  TList *fListPsi2sLoose;
+  TList *fListPsi2sTight;
+  
   AliAnalysisTaskUpcPsi2s(const AliAnalysisTaskUpcPsi2s&); //not implemented
   AliAnalysisTaskUpcPsi2s& operator =(const AliAnalysisTaskUpcPsi2s&); //not implemented