-#ifndef ALIANALYSISTASKPIDFLUCTUATION_H\r
-#define ALIANALYSISTASKPIDFLUCTUATION_H\r
-\r
-/* \r
- * updated by Zubayer Ahammed to instruct CINT about streaming\r
- * of data members.\r
- * Event by event PID fluctuation analysis\r
- * author: Roberto Preghenella (R+)\r
- * email: preghenella@bo.infn.it\r
- *\r
- */\r
- \r
-class TList;\r
-class TH1F;\r
-class TH2F;\r
-class TH3F;\r
-class AliVEvent;\r
-class AliVTrack;\r
-class AliESDtrackCuts;\r
-class AliPIDResponse;\r
-\r
-#include "AliAnalysisTaskSE.h"\r
-#include "AliPID.h"\r
-#include "THnSparse.h"\r
-\r
-class AliAnalysisTaskPIDFluctuation : \r
-public AliAnalysisTaskSE \r
-{\r
- \r
- public:\r
- \r
- AliAnalysisTaskPIDFluctuation(const Char_t *name = "PIDFluctuation"); // default constructor\r
- virtual ~AliAnalysisTaskPIDFluctuation(); // default destructor\r
- \r
- void UserCreateOutputObjects();\r
- void UserExec(Option_t *option);\r
-\r
- /* setters */\r
- void SetPIDMethod(Int_t value) {fPIDMethod = value;}; // set PID method\r
- void SetESDtrackCuts(AliESDtrackCuts *value) {fESDtrackCuts = value;}; // set ESD track cuts\r
- void SetAODfilterBit(Int_t value) {fAODfilterBit = value;}; // set AOD filter bit\r
- void SetEtaRange(Float_t etaMin, Float_t etaMax) {fEtaMin = etaMin; fEtaMax = etaMax;}; // set eta range\r
- void SetPtRange(Float_t ptMin, Float_t ptMax) {fPtMin = ptMin; fPtMax = ptMax;}; // set pt range\r
-\r
- static const Int_t kNCentralityBins = 10; // N centrality bins\r
-\r
- enum EEventCounter_t {\r
- kAllEvents,\r
- kPhysicsSelection,\r
- kPrimaryVertex,\r
- kPrimaryVertexSPD,\r
- kVertexAccepted,\r
- kGoodCentrality,\r
- kAcceptedEvents,\r
- kNEventCounters\r
- };\r
-\r
- enum ESparseData_t {\r
- kCent_V0M,\r
- kCent_TRK,\r
- kNch,\r
- kNch_plus,\r
- kNch_minus,\r
- kNpi,\r
- kNpi_plus,\r
- kNpi_minus,\r
- kNka,\r
- kNka_plus,\r
- kNka_minus,\r
- kNpr,\r
- kNpr_plus,\r
- kNpr_minus,\r
- kNSparseData\r
- };\r
-\r
- enum EPIDMethod_t {\r
- kTPCTOF,\r
- kTPConly,\r
- kTOFonly,\r
- kNPIDMethods\r
- };\r
-\r
- static void MeasureNuDyn(const Char_t *filename, Int_t i1, Int_t i2, Int_t centralityEstimator = kCent_V0M);\r
-\r
- private:\r
-\r
- AliAnalysisTaskPIDFluctuation(const AliAnalysisTaskPIDFluctuation &); // not implemented\r
- AliAnalysisTaskPIDFluctuation &operator=(const AliAnalysisTaskPIDFluctuation &); // not implemented\r
- \r
- /*** event and track selection ***/\r
- Bool_t AcceptEvent(AliVEvent *event) const; // accept event\r
- Bool_t AcceptTrack(AliVTrack *track) const; // accept track\r
-\r
- /*** PID functions ***/\r
- Bool_t HasTPCPID(AliVTrack *track) const; // has TPC PID\r
- Bool_t HasTOFPID(AliVTrack *track) const; // has TOF PID\r
- Double_t MakeTPCPID(AliVTrack *track, Double_t *nSigma) const; // make TPC PID\r
- Double_t MakeTOFPID(AliVTrack *track, Double_t *nSigma) const; // make TOF PID\r
- void MakePID(AliVTrack *track, Bool_t *pidFlag, Float_t centrality) const; // make PID\r
- Bool_t InitPID(AliVEvent *event); // init PID\r
-\r
- /*** PID objects and flags ***/\r
- Int_t fPIDMethod; // PID method\r
- AliESDtrackCuts *fESDtrackCuts; // ESD track cuts\r
- Int_t fAODfilterBit; // AOD filter bit\r
- Float_t fEtaMin; // eta min\r
- Float_t fEtaMax; // eta max\r
- Float_t fPtMin; // pt min\r
- Float_t fPtMax; // pt max\r
- AliPIDResponse *fPID; //! PID\r
-\r
- /*** PID histos ***/\r
- TList *fHistoList; //! histo list\r
- TH1F *fHistoEventCounter; //! event counter\r
- TH2F *fHistoAcceptedTracks; //! accepted tracks\r
- TH2F *fHistoTOFMatchedTracks; //! TOF-matched tracks\r
- TH3F *fHistoTPCdEdx; //! TPC dEdx\r
- TH3F *fHistoTPCdEdx_inclusive; //! TPC dEdx\r
- TH3F *fHistoTOFbeta; //! TOF beta\r
- TH3F *fHistoTPCdEdx_selected[AliPID::kSPECIES]; //! TPC dEdx\r
- TH3F *fHistoTOFbeta_selected[AliPID::kSPECIES]; //! TOF beta\r
- TH3F *fHistoNSigmaTPC[AliPID::kSPECIES]; //! nsigma TPC\r
- TH3F *fHistoNSigmaTOF[AliPID::kSPECIES]; //! nsigma TOF\r
-\r
- /*** correlation histos */\r
- THnSparseI *fHistoCorrelation; // correlation THnSparse\r
-\r
- /*** labels, names and titles ***/\r
- static const Char_t *fgkEventCounterName[kNEventCounters]; // event couter name\r
- static const Char_t *fgkEventCounterTitle[kNEventCounters]; // event couter title\r
- static const Char_t *fgkSparseDataName[kNSparseData]; // sparse data name\r
- static const Char_t *fgkSparseDataTitle[kNSparseData]; // sparse data title\r
-\r
- \r
- ClassDef(AliAnalysisTaskPIDFluctuation, 1);\r
-};\r
-\r
-#endif /* ALIANALYSISTASKPIDFLUCTUATION_H */\r
+#ifndef ALIANALYSISTASKPIDFLUCTUATION_H
+#define ALIANALYSISTASKPIDFLUCTUATION_H
+
+/*
+ * updated by Zubayer Ahammed to instruct CINT about streaming
+ * of data members.
+ * Event by event PID fluctuation analysis
+ * author: Roberto Preghenella (R+)
+ * email: preghenella@bo.infn.it
+ *
+ */
+
+class TList;
+class TH1F;
+class TH2F;
+class TH3F;
+class AliVEvent;
+class AliVTrack;
+class AliESDtrackCuts;
+class AliPIDResponse;
+
+#include "AliAnalysisTaskSE.h"
+#include "AliPID.h"
+#include "THnSparse.h"
+
+class AliAnalysisTaskPIDFluctuation :
+public AliAnalysisTaskSE
+{
+
+ public:
+
+ AliAnalysisTaskPIDFluctuation(const Char_t *name = "PIDFluctuation"); // default constructor
+ virtual ~AliAnalysisTaskPIDFluctuation(); // default destructor
+
+ void UserCreateOutputObjects();
+ void UserExec(Option_t *option);
+
+ /* setters */
+ void SetPIDMethod(Int_t value) {fPIDMethod = value;}; // set PID method
+ void SetESDtrackCuts(AliESDtrackCuts *value) {fESDtrackCuts = value;}; // set ESD track cuts
+ void SetAODfilterBit(Int_t value) {fAODfilterBit = value;}; // set AOD filter bit
+ void SetEtaRange(Float_t etaMin, Float_t etaMax) {fEtaMin = etaMin; fEtaMax = etaMax;}; // set eta range
+ void SetPtRange(Float_t ptMin, Float_t ptMax) {fPtMin = ptMin; fPtMax = ptMax;}; // set pt range
+
+ static const Int_t kNCentralityBins = 10; // N centrality bins
+
+ enum EEventCounter_t {
+ kAllEvents,
+ kPhysicsSelection,
+ kPrimaryVertex,
+ kPrimaryVertexSPD,
+ kVertexAccepted,
+ kGoodCentrality,
+ kAcceptedEvents,
+ kNEventCounters
+ };
+
+ enum ESparseData_t {
+ kCent_V0M,
+ kCent_TRK,
+ kNch,
+ kNch_plus,
+ kNch_minus,
+ kNpi,
+ kNpi_plus,
+ kNpi_minus,
+ kNka,
+ kNka_plus,
+ kNka_minus,
+ kNpr,
+ kNpr_plus,
+ kNpr_minus,
+ kNSparseData
+ };
+
+ enum EPIDMethod_t {
+ kTPCTOF,
+ kTPConly,
+ kTOFonly,
+ kNPIDMethods
+ };
+
+ static void MeasureNuDyn(const Char_t *filename, Int_t i1, Int_t i2, Int_t centralityEstimator = kCent_V0M);
+
+ private:
+
+ AliAnalysisTaskPIDFluctuation(const AliAnalysisTaskPIDFluctuation &); // not implemented
+ AliAnalysisTaskPIDFluctuation &operator=(const AliAnalysisTaskPIDFluctuation &); // not implemented
+
+ /*** event and track selection ***/
+ Bool_t AcceptEvent(AliVEvent *event) const; // accept event
+ Bool_t AcceptTrack(AliVTrack *track) const; // accept track
+
+ /*** PID functions ***/
+ Bool_t HasTPCPID(AliVTrack *track) const; // has TPC PID
+ Bool_t HasTOFPID(AliVTrack *track) const; // has TOF PID
+ Double_t MakeTPCPID(AliVTrack *track, Double_t *nSigma) const; // make TPC PID
+ Double_t MakeTOFPID(AliVTrack *track, Double_t *nSigma) const; // make TOF PID
+ void MakePID(AliVTrack *track, Bool_t *pidFlag, Float_t centrality) const; // make PID
+ Bool_t InitPID(AliVEvent *event); // init PID
+
+ /*** PID objects and flags ***/
+ Int_t fPIDMethod; // PID method
+ AliESDtrackCuts *fESDtrackCuts; // ESD track cuts
+ Int_t fAODfilterBit; // AOD filter bit
+ Float_t fEtaMin; // eta min
+ Float_t fEtaMax; // eta max
+ Float_t fPtMin; // pt min
+ Float_t fPtMax; // pt max
+ AliPIDResponse *fPID; //! PID
+
+ /*** PID histos ***/
+ TList *fHistoList; //! histo list
+ TH1F *fHistoEventCounter; //! event counter
+ TH2F *fHistoAcceptedTracks; //! accepted tracks
+ TH2F *fHistoTOFMatchedTracks; //! TOF-matched tracks
+ TH3F *fHistoTPCdEdx; //! TPC dEdx
+ TH3F *fHistoTPCdEdx_inclusive; //! TPC dEdx
+ TH3F *fHistoTOFbeta; //! TOF beta
+ TH3F *fHistoTPCdEdx_selected[AliPID::kSPECIES]; //! TPC dEdx
+ TH3F *fHistoTOFbeta_selected[AliPID::kSPECIES]; //! TOF beta
+ TH3F *fHistoNSigmaTPC[AliPID::kSPECIES]; //! nsigma TPC
+ TH3F *fHistoNSigmaTOF[AliPID::kSPECIES]; //! nsigma TOF
+
+ /*** correlation histos */
+ THnSparseI *fHistoCorrelation; // correlation THnSparse
+
+ /*** labels, names and titles ***/
+ static const Char_t *fgkEventCounterName[kNEventCounters]; // event couter name
+ static const Char_t *fgkEventCounterTitle[kNEventCounters]; // event couter title
+ static const Char_t *fgkSparseDataName[kNSparseData]; // sparse data name
+ static const Char_t *fgkSparseDataTitle[kNSparseData]; // sparse data title
+
+
+ ClassDef(AliAnalysisTaskPIDFluctuation, 1);
+};
+
+#endif /* ALIANALYSISTASKPIDFLUCTUATION_H */