+++ /dev/null
-#ifndef AliAnalysisTaskITSTrackingCheck_cxx
-#define AliAnalysisTaskITSTrackingCheck_cxx
-
-/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-//*************************************************************************
-// Class AliAnalysiTaskITSTrackingCheck
-// AliAnalysisTask to extract from ESD tracks the information on the
-// ITS tracking efficiency and resolutions
-//
-// Author: A.Dainese, andrea.dainese@pd.infn.it
-//*************************************************************************
-
-class TNtuple;
-class TParticle;
-class TH1F;
-class AliESDEvent;
-class AliESDVertex;
-class AliESDfriend;
-class AliESDtrackCuts;
-
-#include "AliAnalysisTaskSE.h"
-
-class AliAnalysisTaskITSTrackingCheck : public AliAnalysisTaskSE
-{
- public:
- AliAnalysisTaskITSTrackingCheck();
- AliAnalysisTaskITSTrackingCheck(const char *name);
- virtual ~AliAnalysisTaskITSTrackingCheck();
-
- virtual void UserCreateOutputObjects();
- virtual void UserExec(Option_t *option);
- virtual void Terminate(Option_t *);
- Bool_t GetReadMC() const { return fReadMC; }
- void SetReadMC(Bool_t flag=kTRUE) { fReadMC=flag; }
- void SetUsePhysSel() { fUsePhysSel=kTRUE; }
- void SetRejPileupSPD() { fRejPileupSPD=kTRUE; }
- void SetReadRPLabels(Bool_t flag=kTRUE) { fReadRPLabels=flag; }
- void SetFillNtuples(Bool_t flag=kTRUE) { fFillNtuples=flag; }
- void SetUseITSSAforNtuples(Bool_t flag=kTRUE) { fUseITSSAforNtuples=flag; }
- void SetESDtrackCutsTPC(AliESDtrackCuts *c) { fESDtrackCutsTPC=c; }
- void SetESDtrackCutsITSTPC(AliESDtrackCuts *c) { fESDtrackCutsITSTPC=c; }
- void SetMultiplicityRange(Int_t min,Int_t max) { fMinMult=min; fMaxMult=max; }
-
- protected:
- Bool_t fReadMC; // read Monte Carlo
- Bool_t fReadRPLabels; // read MC labels from ITS.RecPoints
- Bool_t fFillNtuples; // fill expert ntuples
- Bool_t fUseITSSAforNtuples; // fill expert ntuples with ITSSA tracks
- Bool_t fUsePhysSel; // use AliPhysicsSelection
- Bool_t fRejPileupSPD; // reject pileup events based on SPD vertex
- AliESDEvent *fESD; // ESD object
- Int_t fMinMult; // minimum multiplicity
- Int_t fMaxMult; // maximum multiplicity
- TList *fOutput; //! list send on output slot 0
- TH1F *fHistNEvents; //! output hist
- TH1F *fHistNEventsFrac; //! output hist
- TH1F *fHistNtracks; //! output hist
- TH1F *fHistNclsITSMI; //! output hist
- TH1F *fHistNclsITSSA; //! output hist
- TH1F *fHistNclsITSSAInAcc; //! output hist
- TH1F *fHistClusterMapITSMI; //! output hist
- TH1F *fHistClusterMapITSMIokA; //! output hist
- TH1F *fHistClusterMapITSMIokB; //! output hist
- TH1F *fHistClusterMapITSMIok; //! output hist
- TH1F *fHistClusterMapITSMIbad; //! output hist
- TH1F *fHistClusterMapITSMIskipped; //! output hist
- TH1F *fHistClusterMapITSMIoutinz; //! output hist
- TH1F *fHistClusterMapITSMInorefit; //! output hist
- TH1F *fHistClusterMapITSMInocls; //! output hist
- TH1F *fHistClusterMapITSMIokoutinzbad; //! output hist
- TH1F *fHistClusterMapITSSA; //! output hist
- TH1F *fHistClusterMapITSSAok; //! output hist
- TH1F *fHistClusterMapITSSAbad; //! output hist
- TH1F *fHistClusterMapITSSAskipped; //! output hist
- TH1F *fHistClusterMapITSSAoutinz; //! output hist
- TH1F *fHistClusterMapITSSAnorefit; //! output hist
- TH1F *fHistClusterMapITSSAnocls; //! output hist
- TH1F *fHistClusterMapITSSAokoutinzbad; //! output hist
- TH1F *fHistClusterMapITSSAInAcc; //! output hist
- TH1F *fHistClusterMapITSSAokInAcc; //! output hist
- TH1F *fHistClusterMapITSSAbadInAcc; //! output hist
- TH1F *fHistClusterMapITSSAskippedInAcc; //! output hist
- TH1F *fHistClusterMapITSSAoutinzInAcc; //! output hist
- TH1F *fHistClusterMapITSSAnorefitInAcc; //! output hist
- TH1F *fHistClusterMapITSSAnoclsInAcc; //! output hist
- TH1F *fHistClusterMapITSSAokoutinzbadInAcc; //! output hist
- TH1F *fHistClusterMapModuleITSSAokInAcc; //! output hist
- TH1F *fHistClusterMapModuleITSSAbadInAcc; //! output hist
- TH1F *fHistClusterMapModuleITSSAnoclsInAcc; //! output hist
- TH1F *fHistClusterMapModuleITSMIokInAcc; //! output hist
- TH1F *fHistClusterMapModuleITSMIbadInAcc; //! output hist
- TH1F *fHistClusterMapModuleITSMInoclsInAcc; //! output hist
- TH1F *fHistNClustersMapModule; //! output hist
- TH1F *fHistZatSPDouter0ok; //! output hist
- TH1F *fHistZatSPDouter1ok; //! output hist
- TH1F *fHistZatSPDouter2ok; //! output hist
- TH1F *fHistZatSPDouter3ok; //! output hist
- TH1F *fHistZatSPDouter0notok; //! output hist
- TH1F *fHistZatSPDouter1notok; //! output hist
- TH1F *fHistZatSPDouter2notok; //! output hist
- TH1F *fHistZatSPDouter3notok; //! output hist
- TH1F *fHistxlocSDDok; //! output hist
- TH1F *fHistzlocSDDok; //! output hist
- TH2F *fHistxlocVSmodSDDok; //! output hist
- TH1F *fHistxlocSDDall; //! output hist
- TH1F *fHistzlocSDDall; //! output hist
- TH1F *fHistxlocSDDA; //! output hist
- TH1F *fHistxlocSDDB; //! output hist
- TH1F *fHistzlocSDDA; //! output hist
- TH1F *fHistzlocSDDB; //! output hist
- TH1F *fHistPhiTPCInAcc; //! output hist
- TH1F *fHistEtaTPCInAcc; //! output hist
- TH1F *fHistEtaTPCInAccA; //! output hist
- TH1F *fHistEtaTPCInAccB; //! output hist
- TH1F *fHistNclsTPCInAccA; //! output hist
- TH1F *fHistNclsTPCInAccB; //! output hist
- TH1F *fHistChi2PerClsTPCInAccA; //! output hist
- TH1F *fHistChi2PerClsTPCInAccB; //! output hist
- TH1F *fHistChi2PerClsITSInAccA; //! output hist
- TH1F *fHistChi2PerClsITSInAccB; //! output hist
- TH1F *fHistPtTPC; //! output hist
- TH1F *fHistPtTPCInAcc; //! output hist
- TH1F *fHistPtTPCInAccMCtwoSPD; //! output hist
- TH1F *fHistPtTPCInAccMConeSPD; //! output hist
- TH2F *fHistdEdxVSPtTPCInAcc; //! output hist
- TH2F *fHistdEdxVSPtITSTPCsel; //! output hist
- TH2F *fHistTPCclsVSPtTPCInAcc; //! output hist
- TH2F *fHistTPCclsVSPtITSMISPDInAcc; //! output hist
- TH2F *fHistPtVSphiTPCInAcc; //! output hist
- TH1F *fHistPtTPCInAccNoTRDout; //! output hist
- TH1F *fHistPtTPCInAccNoTOFout; //! output hist
- TH1F *fHistPtTPCInAccWithPtTPCAtInnerWall; //! output hist
- TH1F *fHistPtTPCInAccWithPtTPCAtVtx; //! output hist
- TH2F *fHistDeltaPtTPC; //! output hist
- TH1F *fHistPtTPCInAccP; //! output hist
- TH1F *fHistPtTPCInAccS; //! output hist
- TH1F *fHistPtTPCInAccPfromStrange; //! output hist
- TH1F *fHistPtTPCInAccSfromStrange; //! output hist
- TH1F *fHistPtTPCInAccSfromMat; //! output hist
- TH1F *fHistPtITSMI2; //! output hist
- TH1F *fHistPtITSMI3; //! output hist
- TH1F *fHistPtITSMI4; //! output hist
- TH1F *fHistPtITSMI5; //! output hist
- TH1F *fHistPtITSMI6; //! output hist
- TH1F *fHistPtITSMISPD; //! output hist
- TH1F *fHistPtITSMIoneSPD; //! output hist
- TH1F *fHistPtITSMI2InAcc; //! output hist
- TH1F *fHistPtITSMI3InAcc; //! output hist
- TH1F *fHistPtITSMI4InAcc; //! output hist
- TH1F *fHistPtITSMI5InAcc; //! output hist
- TH1F *fHistPtITSMI6InAcc; //! output hist
- TH1F *fHistPtITSMISPDInAcc; //! output hist
- TH1F *fHistPtITSMIoneSPDInAcc; //! output hist
- TH1F *fHistPtITSMIoneSPDInAccShared; //! output hist
- TH1F *fHistPtITSMIoneSPDInAccSharedSPD; //! output hist
- TH1F *fHistPtITSMISPD1InAccShared; //! output hist
- TH1F *fHistPtITSMISPD2InAccShared; //! output hist
- TH1F *fHistPtITSMIoneSPDInAccSharedFake; //! output hist
- TH1F *fHistPtITSMIoneSPDInAccSharedSPDFake; //! output hist
- TH1F *fHistPhiITSMI2InAcc; //! output hist
- TH1F *fHistPhiITSMI3InAcc; //! output hist
- TH1F *fHistPhiITSMI4InAcc; //! output hist
- TH1F *fHistPhiITSMI5InAcc; //! output hist
- TH1F *fHistPhiITSMI6InAcc; //! output hist
- TH1F *fHistPhiITSMISPDInAcc; //! output hist
- TH1F *fHistPhiITSMIoneSPDInAcc; //! output hist
- TH1F *fHistEtaITSMI2InAcc; //! output hist
- TH1F *fHistEtaITSMI3InAcc; //! output hist
- TH1F *fHistEtaITSMI4InAcc; //! output hist
- TH1F *fHistEtaITSMI5InAcc; //! output hist
- TH1F *fHistEtaITSMI6InAcc; //! output hist
- TH1F *fHistEtaITSMISPDInAcc; //! output hist
- TH1F *fHistEtaITSMIoneSPDInAcc; //! output hist
- TH1F *fHistPtITSMI2InAccFake; //! output hist
- TH1F *fHistPtITSMI3InAccFake; //! output hist
- TH1F *fHistPtITSMI4InAccFake; //! output hist
- TH1F *fHistPtITSMI5InAccFake; //! output hist
- TH1F *fHistPtITSMI6InAccFake; //! output hist
- TH1F *fHistPtITSMISPDInAccFake; //! output hist
- TH1F *fHistPtITSMIoneSPDInAccFake; //! output hist
- TH1F *fHistPtITSMIoneSPDthreeSDDSSDInAcc; //! output hist
- TH1F *fHistPtITSTPCsel; //! output hist
- TH1F *fHistPtITSTPCselP; //! output hist
- TH1F *fHistPtITSTPCselS; //! output hist
- TH1F *fHistPtITSTPCselFake; //! output hist
- TH1F *fHistPtITSTPCselPfromStrange; //! output hist
- TH1F *fHistPtITSTPCselSfromStrange; //! output hist
- TH1F *fHistPtITSTPCselSfromMat; //! output hist
- TH1F *fHistPtITSMI2InAccP; //! output hist
- TH1F *fHistPtITSMI3InAccP; //! output hist
- TH1F *fHistPtITSMI4InAccP; //! output hist
- TH1F *fHistPtITSMI5InAccP; //! output hist
- TH1F *fHistPtITSMI6InAccP; //! output hist
- TH1F *fHistPtITSMISPDInAccP; //! output hist
- TH1F *fHistPtITSMIoneSPDInAccP; //! output hist
- TH1F *fHistPtITSMI2InAccS; //! output hist
- TH1F *fHistPtITSMI3InAccS; //! output hist
- TH1F *fHistPtITSMI4InAccS; //! output hist
- TH1F *fHistPtITSMI5InAccS; //! output hist
- TH1F *fHistPtITSMI6InAccS; //! output hist
- TH1F *fHistPtITSMISPDInAccS; //! output hist
- TH1F *fHistPtITSMIoneSPDInAccS; //! output hist
- TH1F *fHistPtITSMIokbadoutinz6; //! output hist
- TH1F *fHistPtITSMIokbadoutinz4InAcc; //! output hist
- TH1F *fHistPtITSMIokbadoutinz5InAcc; //! output hist
- TH1F *fHistPtITSMIokbadoutinz6InAcc; //! output hist
- TH1F *fHistPhiITSMIokbadoutinz6InAcc; //! output hist
- TH1F *fHistRProdVtxInAccP; //! output hist
- TH1F *fHistRProdVtxInAccS; //! output hist
- TH1F *fHistd0rphiTPCInAccA; //! output hist
- TH1F *fHistd0rphiTPCInAccB; //! output hist
- TH1F *fHistd0zTPCInAccA; //! output hist
- TH1F *fHistd0zTPCInAccB; //! output hist
- TH1F *fHistd0rphiTPCInAccP150200; //! output hist
- TH1F *fHistd0rphiTPCInAccP500700; //! output hist
- TH1F *fHistd0rphiTPCInAccP10001500; //! output hist
- TH1F *fHistd0rphiTPCInAccS150200; //! output hist
- TH1F *fHistd0rphiTPCInAccS500700; //! output hist
- TH1F *fHistd0rphiTPCInAccS10001500; //! output hist
- TH1F *fHistd0rphiITSMISPDInAccP150200; //! output hist
- TH1F *fHistd0rphiITSMISPDInAccP500700; //! output hist
- TH1F *fHistd0rphiITSMISPDInAccP10001500; //! output hist
- TH1F *fHistd0rphiITSMISPDInAccS150200; //! output hist
- TH1F *fHistd0rphiITSMISPDInAccS500700; //! output hist
- TH1F *fHistd0rphiITSMISPDInAccS10001500; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccP150200; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccP350450; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccP500700; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccP10001500; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccP25004000; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccP40008000; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccA; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccB; //! output hist
- TH1F *fHistd0zITSMIoneSPDInAccA; //! output hist
- TH1F *fHistd0zITSMIoneSPDInAccB; //! output hist
- TH1F *fHistd0zITSMIoneSPDInAccP150200; //! output hist
- TH1F *fHistd0zITSMIoneSPDInAccP500700; //! output hist
- TH1F *fHistd0zITSMIoneSPDInAccP10001500; //! output hist
- TH2F *fHistd0zVSetaTPCInAccP10001500; //! output hist
- TH2F *fHistd0rphiVSphiITSMIoneSPDInAccP10001500; //! output hist
- TH2F *fHistd0rphiVSetaITSMIoneSPDInAccP10001500; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS150200; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS350450; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS500700; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS500700from22; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS500700from211; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS500700from310; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS500700from321; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS500700from3122; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS10001500; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS25004000; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS40008000; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS150200fromStrange; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS150200fromMat; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS350450fromStrange; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS350450fromMat; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS500700fromStrange; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS500700fromMat; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS10001500fromStrange; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS10001500fromMat; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS25004000fromStrange; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS25004000fromMat; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS40008000fromStrange; //! output hist
- TH1F *fHistd0rphiITSMIoneSPDInAccS40008000fromMat; //! output hist
- TH1F *fHistd0zITSMIoneSPDInAccS150200; //! output hist
- TH1F *fHistd0zITSMIoneSPDInAccS500700; //! output hist
- TH1F *fHistd0zITSMIoneSPDInAccS10001500; //! output hist
- TH1F *fHistPDGMoth; //! output hist
- TH1F *fHistPDGMoth150200; //! output hist
- TH1F *fHistPDGMoth500700; //! output hist
- TH1F *fHistPDGMoth10001500; //! output hist
- TH1F *fHistPDGTrk; //! output hist
- TH1F *fHistITSRedChi2NonFakePt02; //! output hist
- TH1F *fHistITSRedChi2FakePt02; //! output hist
- TH1F *fHistITSRedChi2NonFakePt05; //! output hist
- TH1F *fHistITSRedChi2FakePt05; //! output hist
- TH1F *fHistITSRedChi2NonFakePt1; //! output hist
- TH1F *fHistITSRedChi2FakePt1; //! output hist
- TNtuple *fNtupleESDTracks; //! output ntuple
- TNtuple *fNtupleITSAlignExtra; //! output ntuple
- TNtuple *fNtupleITSAlignSPDTracklets; //! output ntuple
- Int_t fCountsPerPtBin[11]; // track per pt bin
- AliESDtrackCuts *fESDtrackCutsTPC; // cuts for TPC track
- AliESDtrackCuts *fESDtrackCutsITSTPC; // cuts for TPC+ITS track
-
- private:
-
- AliAnalysisTaskITSTrackingCheck(const AliAnalysisTaskITSTrackingCheck&); // not implemented
- AliAnalysisTaskITSTrackingCheck& operator=(const AliAnalysisTaskITSTrackingCheck&); // not implemented
-
-
- Int_t NumberOfITSClustersMC(Int_t label,Int_t nModules=2198) const;
- Int_t NumberOfITSClusters(Int_t idet,Float_t &xloc) const;
- Double_t ParticleImpParMC(TParticle *part,AliESDVertex *vert,Double_t bzT) const;
- Bool_t SelectPt(Double_t pt);
- Int_t MakeITSflag(AliESDtrack *track) const;
- Bool_t IsSelectedCentrality() const;
- void FillNClustersModuleMap();
-
- ClassDef(AliAnalysisTaskITSTrackingCheck,13); // ITS tracks analysis
-};
-
-#endif