-/**************************************************************************\r
-* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
-* *\r
-* Author: The ALICE Off-line Project. *\r
-* Contributors are mentioned in the code where appropriate. *\r
-* *\r
-* Permission to use, copy, modify and distribute this software and its *\r
-* documentation strictly for non-commercial purposes is hereby granted *\r
-* without fee, provided that the above copyright notice appears in all *\r
-* copies and that both the copyright notice and this permission notice *\r
-* appear in the supporting documentation. The authors make no claims *\r
-* about the suitability of this software for any purpose. It is *\r
-* provided "as is" without express or implied warranty. *\r
-**************************************************************************/\r
-//\r
-// Flow task class for the ALICE HFE group\r
-//\r
-//\r
-#ifndef ALIANALYSISTASKHFEQA_H\r
-#define ALIANALYSISTASKHFEQA_H\r
-\r
-\r
-#ifndef ALIANALYSISTASKSE_H\r
-#include "AliAnalysisTaskSE.h"\r
-#endif\r
-\r
-#ifndef ROOT_TString\r
-#include <TString.h>\r
-#endif\r
-\r
-#ifndef ROOT_TBits\r
-#include <TBits.h>\r
-#endif\r
-\r
-\r
-class TList;\r
-class AliHFEcuts;\r
-class AliHFEpid;\r
-class AliHFEpidQAmanager;\r
-class AliAODMCHeader;\r
-class TClonesArray;\r
-class TH1F;\r
-\r
-\r
-class AliAnalysisTaskHFEQA: public AliAnalysisTaskSE {\r
-public:\r
-\r
- typedef enum{\r
- kpp = 0,\r
- kpPb = 1,\r
- kPbPb = 2\r
- } ESystem_t;\r
- \r
-\r
- AliAnalysisTaskHFEQA();\r
- AliAnalysisTaskHFEQA(const char *name);\r
- AliAnalysisTaskHFEQA(const AliAnalysisTaskHFEQA &ref);\r
- AliAnalysisTaskHFEQA& operator=(const AliAnalysisTaskHFEQA &ref);\r
- virtual void Copy(TObject &o) const;\r
- virtual ~AliAnalysisTaskHFEQA();\r
- \r
- virtual void UserExec(Option_t */*option*/);\r
- virtual void UserCreateOutputObjects();\r
-\r
- void SetAODAnalysis(Bool_t aodAnalysis) { fAODAnalysis = aodAnalysis; };\r
- void SetCentralityEstimator(const char *estimator) { fCentralityEstimator = estimator; }\r
- void SetppAnalysis(){\r
- fCollisionSystem.SetBitNumber(kpPb, kFALSE); \r
- fCollisionSystem.SetBitNumber(kPbPb, kFALSE); \r
- fCollisionSystem.SetBitNumber(kpp, kTRUE); \r
- }\r
- void SetpPbAnalysis() {\r
- fCollisionSystem.SetBitNumber(kpp, kFALSE); \r
- fCollisionSystem.SetBitNumber(kPbPb, kFALSE); \r
- fCollisionSystem.SetBitNumber(kpPb, kTRUE); \r
- }\r
- void SetPbPbAnalysis() { \r
- fCollisionSystem.SetBitNumber(kpp, kFALSE); \r
- fCollisionSystem.SetBitNumber(kpPb, kFALSE); \r
- fCollisionSystem.SetBitNumber(kPbPb, kTRUE); \r
- };\r
- Bool_t Ispp() const { return fCollisionSystem.TestBitNumber(kpp); }\r
- Bool_t IsPbPb() const { return fCollisionSystem.TestBitNumber(kPbPb); }\r
- Bool_t IspPb() const { return fCollisionSystem.TestBitNumber(kpPb); }\r
- \r
- AliHFEpid *GetPIDTPConly() const { return fPIDTPConly; }\r
- AliHFEpid *GetPIDTOFTPC() const { return fPIDTOFTPC; }\r
- AliHFEpid *GetPIDTPCTRD() const { return fPIDTPCTRD; }\r
- AliHFEpid *GetPIDTPCEMCal() const { return fPIDTPCEMCal; }\r
- AliHFEpidQAmanager *GetPIDQAManagerTOFTPC() const { return fPIDqaTOFTPC; }\r
- AliHFEpidQAmanager *GetPIDQAManagerTPCTRD() const { return fPIDqaTPCTRD; }\r
- AliHFEpidQAmanager *GetPIDQAManagerTPCEMCal() const { return fPIDqaTPCEMCal; }\r
- \r
-\r
- void SetHFECuts(AliHFEcuts * const cuts) { fHFECuts = cuts; };\r
- \r
- private:\r
- TList *fListHist; //! TH list\r
- Bool_t fAODAnalysis; // AOD analysis\r
- AliAODMCHeader *fAODMCHeader; // ! MC info AOD\r
- TClonesArray *fAODArrayMCInfo; // ! MC info particle AOD\r
- \r
- // Cuts for HFE\r
- AliHFEcuts *fHFECuts; // HFE cuts\r
- AliHFEpid *fPIDTPConly; // PID cuts \r
- AliHFEpid *fPIDTOFTPC; // PID cuts TOF-TPC only\r
- AliHFEpid *fPIDTPCTRD; // PID cuts TPC-TRD \r
- AliHFEpid *fPIDTPCEMCal; // PID cuts TPC-EMCal \r
- AliHFEpidQAmanager *fPIDqaTOFTPC; // QA Manager TOF TPC\r
- AliHFEpidQAmanager *fPIDqaTPCTRD; // QA Manager TPC TRD\r
- AliHFEpidQAmanager *fPIDqaTPCEMCal; // QA Manager TPC EMCal\r
- TString fCentralityEstimator; // Centrality Estimator\r
- TBits fCollisionSystem; // Collision System;\r
-\r
- // Histo yields\r
- TH1F *fTPConly; // TPC only electron yield\r
- TH1F *fTOFTPC; // TOF TPC electron yield\r
- TH1F *fTPCTRD; // TPC TRD electron yield\r
- TH1F *fTPCEMCal; // TPC EMCal electron yield\r
- \r
- \r
- // Debuging Cuts step by step all centrality together: pt, step (6)\r
- //THnSparseF *fTrackingCuts; //! Tracking Cuts\r
-\r
- \r
- \r
- ClassDef(AliAnalysisTaskHFEQA, 1); // analysisclass\r
-};\r
-\r
-#endif\r
+/**************************************************************************
+* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+* *
+* Author: The ALICE Off-line Project. *
+* Contributors are mentioned in the code where appropriate. *
+* *
+* Permission to use, copy, modify and distribute this software and its *
+* documentation strictly for non-commercial purposes is hereby granted *
+* without fee, provided that the above copyright notice appears in all *
+* copies and that both the copyright notice and this permission notice *
+* appear in the supporting documentation. The authors make no claims *
+* about the suitability of this software for any purpose. It is *
+* provided "as is" without express or implied warranty. *
+**************************************************************************/
+//
+// Flow task class for the ALICE HFE group
+//
+//
+#ifndef ALIANALYSISTASKHFEQA_H
+#define ALIANALYSISTASKHFEQA_H
+
+
+#ifndef ALIANALYSISTASKSE_H
+#include "AliAnalysisTaskSE.h"
+#endif
+
+#ifndef ROOT_TString
+#include <TString.h>
+#endif
+
+#ifndef ROOT_TBits
+#include <TBits.h>
+#endif
+
+
+class TList;
+class AliHFEcuts;
+class AliHFEpid;
+class AliHFEpidQAmanager;
+class AliAODMCHeader;
+class TClonesArray;
+class TH1F;
+
+
+class AliAnalysisTaskHFEQA: public AliAnalysisTaskSE {
+public:
+
+ typedef enum{
+ kpp = 0,
+ kpPb = 1,
+ kPbPb = 2
+ } ESystem_t;
+
+
+ AliAnalysisTaskHFEQA();
+ AliAnalysisTaskHFEQA(const char *name);
+ AliAnalysisTaskHFEQA(const AliAnalysisTaskHFEQA &ref);
+ AliAnalysisTaskHFEQA& operator=(const AliAnalysisTaskHFEQA &ref);
+ virtual void Copy(TObject &o) const;
+ virtual ~AliAnalysisTaskHFEQA();
+
+ virtual void UserExec(Option_t */*option*/);
+ virtual void UserCreateOutputObjects();
+
+ void SetDoTPConly(Bool_t tpconlydo) { fTPConlydo = tpconlydo; };
+ void SetDoTRDonly(Bool_t trdonlydo) { fTRDonlydo = trdonlydo; };
+ void SetDoTOFTPC(Bool_t toftpcdo) { fTOFTPCdo = toftpcdo; };
+ void SetDoTPCTRD(Bool_t tpctrddo) { fTPCTRDdo = tpctrddo; };
+ void SetDoTPCEMCal(Bool_t tpcemcaldo) { fTPCEMCaldo = tpcemcaldo; };
+ void SetAODAnalysis(Bool_t aodAnalysis) { fAODAnalysis = aodAnalysis; };
+ void SetCentralityEstimator(const char *estimator) { fCentralityEstimator = estimator; }
+ void SetppAnalysis(){
+ fCollisionSystem.SetBitNumber(kpPb, kFALSE);
+ fCollisionSystem.SetBitNumber(kPbPb, kFALSE);
+ fCollisionSystem.SetBitNumber(kpp, kTRUE);
+ }
+ void SetpPbAnalysis() {
+ fCollisionSystem.SetBitNumber(kpp, kFALSE);
+ fCollisionSystem.SetBitNumber(kPbPb, kFALSE);
+ fCollisionSystem.SetBitNumber(kpPb, kTRUE);
+ }
+ void SetPbPbAnalysis() {
+ fCollisionSystem.SetBitNumber(kpp, kFALSE);
+ fCollisionSystem.SetBitNumber(kpPb, kFALSE);
+ fCollisionSystem.SetBitNumber(kPbPb, kTRUE);
+ };
+ Bool_t Ispp() const { return fCollisionSystem.TestBitNumber(kpp); }
+ Bool_t IsPbPb() const { return fCollisionSystem.TestBitNumber(kPbPb); }
+ Bool_t IspPb() const { return fCollisionSystem.TestBitNumber(kpPb); }
+
+ AliHFEpid *GetPIDTPConly() const { return fPIDTPConly; }
+ AliHFEpid *GetPIDTRDonly() const { return fPIDTRDonly; }
+ AliHFEpid *GetPIDTOFTPC() const { return fPIDTOFTPC; }
+ AliHFEpid *GetPIDTPCTRD() const { return fPIDTPCTRD; }
+ AliHFEpid *GetPIDTPCEMCal() const { return fPIDTPCEMCal; }
+ AliHFEpidQAmanager *GetPIDQAManagerTRDonly() const { return fPIDqaTRDonly; }
+ AliHFEpidQAmanager *GetPIDQAManagerTOFTPC() const { return fPIDqaTOFTPC; }
+ AliHFEpidQAmanager *GetPIDQAManagerTPCTRD() const { return fPIDqaTPCTRD; }
+ AliHFEpidQAmanager *GetPIDQAManagerTPCEMCal() const { return fPIDqaTPCEMCal; }
+
+
+ void SetHFECuts(AliHFEcuts * const cuts) { fHFECuts = cuts; };
+
+ private:
+ TList *fListHist; //! TH list
+ Bool_t fAODAnalysis; // AOD analysis
+ AliAODMCHeader *fAODMCHeader; // ! MC info AOD
+ TClonesArray *fAODArrayMCInfo; // ! MC info particle AOD
+
+ // Cuts for HFE
+ AliHFEcuts *fHFECuts; // HFE cuts
+ AliHFEpid *fPIDTPConly; // PID cuts
+ AliHFEpid *fPIDTRDonly; // PID cuts
+ AliHFEpid *fPIDTOFTPC; // PID cuts TOF-TPC only
+ AliHFEpid *fPIDTPCTRD; // PID cuts TPC-TRD
+ AliHFEpid *fPIDTPCEMCal; // PID cuts TPC-EMCal
+ AliHFEpidQAmanager *fPIDqaTRDonly; // QA Manager TOF TPC
+ AliHFEpidQAmanager *fPIDqaTOFTPC; // QA Manager TOF TPC
+ AliHFEpidQAmanager *fPIDqaTPCTRD; // QA Manager TPC TRD
+ AliHFEpidQAmanager *fPIDqaTPCEMCal; // QA Manager TPC EMCal
+ TString fCentralityEstimator; // Centrality Estimator
+ TBits fCollisionSystem; // Collision System;
+
+ // Histo yields
+ TH1F *fNbEvent; // Number of events
+ TH1F *fTPConly; // TPC only electron yield
+ TH1F *fTOFTPC; // TOF TPC electron yield
+ TH1F *fTPCTRD; // TPC TRD electron yield
+ TH1F *fTPCEMCal; // TPC EMCal electron yield
+
+ // Do PID or not
+ Bool_t fTPConlydo; // Do TPC only PID
+ Bool_t fTRDonlydo; // Do TRD only PID
+ Bool_t fTOFTPCdo; // Do TOF TPC
+ Bool_t fTPCTRDdo; // Do TPC TRD
+ Bool_t fTPCEMCaldo; // Do TPC EMCal
+
+
+ // Debuging Cuts step by step all centrality together: pt, step (6)
+ //THnSparseF *fTrackingCuts; //! Tracking Cuts
+
+
+
+ ClassDef(AliAnalysisTaskHFEQA, 3); // analysisclass
+};
+
+#endif