]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliAnalysisTaskSEHFCJqa.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskSEHFCJqa.h
1 #ifndef ALIANALYSISTASKSEHFCJQA_H
2 #define ALIANALYSISTASKSEHFCJQA_H
3
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //*************************************************************************
8 // Class AliAnalysisTaskSEHFCJqa
9 // AliAnalysisTask with QA plots for HFCJ analyses
10 //
11 // Authors: Andrea Rossi, andrea.rossi@cern.ch
12 //          Elena Bruna,  elena.bruna@to.infn.it
13 //*************************************************************************
14
15 class TH1F;
16 class TH2F;
17 class TH3F;
18 class AliAODDEvent;
19 class AliAODMCHeader;
20 class AliAODRecoDecayHF2Prong;
21 class AliAODRecoDecayHF;
22 class AliAODMCParticle;
23 class AliAnalysisVertexingHF;
24 class AliRDHFCutsD0toKpi;
25 class AliNormalizationCounter;
26 class AliPIDResponse;
27 #include "AliAnalysisTaskSE.h"
28
29 class AliAnalysisTaskSEHFCJqa : public AliAnalysisTaskSE {
30  public:
31   AliAnalysisTaskSEHFCJqa();
32   AliAnalysisTaskSEHFCJqa(const char* name);
33   virtual ~AliAnalysisTaskSEHFCJqa();
34
35  // Implementation of interface methods
36   virtual void UserCreateOutputObjects();
37   virtual void Init();
38   virtual void LocalInit() {Init();}
39   virtual void UserExec(Option_t *option);
40   virtual void Terminate(Option_t *option);  
41   AliAODMCParticle* IsMCJet(TClonesArray *arrayMC,const AliAODJet *jet, Double_t &contribution);
42   AliAODMCParticle* GetMCPartonOrigin(TClonesArray *arrayMC,AliAODMCParticle *p, Int_t &idx);
43   void SetCutObject(AliRDHFCuts *cuts){fCuts=cuts;}
44   void SetFilterBit(Int_t bit){ffilterbit=bit;}
45   void SetLoadJet(Int_t ljet,TString strJetArray=""){fLoadJet=ljet;fJetArrayString=strJetArray;}
46  
47  private:
48   AliAnalysisTaskSEHFCJqa(const AliAnalysisTaskSEHFCJqa&); // copy constructo not implemented yet
49   AliAnalysisTaskSEHFCJqa& operator=(const AliAnalysisTaskSEHFCJqa&); // assignment operator not implemented yet
50   Bool_t FillTrackHistosAndSelectTrack(AliAODTrack *aodtr, AliESDVertex primary,Double_t magfield); // method to filter tracks and fill related histograms
51   void SetupPIDresponse();
52   void FillJetRecoHisto(const AliAODJet *jet,Int_t partonnat,Double_t contribution,Double_t ptpart);
53   void FillTrackHistosPID(AliAODTrack *aodtr);
54
55   Bool_t fReadMC;                         // flag to read MC data
56   Int_t ffilterbit;                       // selected filter bit
57   Bool_t fKeepTrackNegID;                //  flag for rejecting track with neg ID
58   AliPIDResponse *fpidResp;               // !pid response object
59   AliRDHFCuts *fCuts;                     // cut object (temporary D2H cut object calss used)
60   TH1F *fhEventCounter;                   //! histo with counter of event selected
61   TH3F *fhImpParResolITSsel;              //! histo with imp par distribution as a function of pt and ITS clusters
62   TH3F *fhImpParResolITSselGoodTracks;    //! histo with imp par distribution as a function of pt and ITS clusters for selected tracks
63   THnSparseF *fhSparseFilterMask;          //! sparse histo with track information
64   THnSparseF *fhSparseFilterMaskTrackAcc;    //! sparse with filter bits and track kine/geometrical properties
65   THnSparseF *fhSparseFilterMaskImpPar;    //! sparse with kine/geometrical prop and imp par xy
66   THnSparseF *fhSparseEoverPeleTPC;       //! sparse histo with TPC-EMCal PID electron information
67   THnSparseF *fhSparseShowShapeEleTPC;    //! sparse histo with TPC-EMCAL PID electron info, including shower shape & Ncells
68   TH3F *fhnSigmaTPCTOFEle;                //! sparse with TPC-TOF nsigma informations, centered on ele hypo
69   TH3F *fhnSigmaTPCTOFPion;              //! sparse with TPC-TOF nsigma informations, centered on pion hypo
70   TH3F *fhnSigmaTPCTOFKaon;               //! sparse with TPC-TOF nsigma informations, centered on kaon hypo
71   TH3F *fhnSigmaTPCTOFProton;             //! sparse with TPC-TOF nsigma informations, centered on proton hypo
72   THnSparseF *fhTrackEMCal;              //! sparse with EMCal cluster properties related to clusters matched to tracks 
73   THnSparseF *fSparseRecoJets;           //! sparse histo with jet properties
74   Int_t fLoadJet;                         // flag for reading jet array (0=no, 1=online reco jets, 2=from friend file)
75   TString fJetArrayString;                // jet array name
76   TList *fListTrackAndPID;                // list with single track and PID properties
77   TList *fListJets;                       // list with jet properties
78 ClassDef(AliAnalysisTaskSEHFCJqa,2); // analysis task for MC study
79 };
80
81 #endif