1 #ifndef ALIANALYSISTASKSEHFCJQA_H
2 #define ALIANALYSISTASKSEHFCJQA_H
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //*************************************************************************
8 // Class AliAnalysisTaskSEHFCJqa
9 // AliAnalysisTask with QA plots for HFCJ analyses
11 // Authors: Andrea Rossi, andrea.rossi@cern.ch
12 // Elena Bruna, elena.bruna@to.infn.it
13 //*************************************************************************
20 class AliAODRecoDecayHF2Prong;
21 class AliAODRecoDecayHF;
22 class AliAODMCParticle;
23 class AliAnalysisVertexingHF;
24 class AliRDHFCutsD0toKpi;
25 class AliNormalizationCounter;
27 #include "AliAnalysisTaskSE.h"
29 class AliAnalysisTaskSEHFCJqa : public AliAnalysisTaskSE {
31 AliAnalysisTaskSEHFCJqa();
32 AliAnalysisTaskSEHFCJqa(const char* name);
33 virtual ~AliAnalysisTaskSEHFCJqa();
35 // Implementation of interface methods
36 virtual void UserCreateOutputObjects();
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;}
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,const 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);
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