-/**************************************************************************\r
- * Author : Benjamin Dönigus (benjamin.doenigus@cern.ch) *\r
- * *\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
-//-----------------------------------------------------------------\r
-// AliAnalysisTaskHdibaryonLPpi class\r
-// used to search for the H-Dibaryon in weak \r
-// (Lambda Proton Pion) and strong (Lambda Lambda) decays\r
-//-----------------------------------------------------------------\r
-\r
-\r
-#ifndef ALIANALYSISTASKHDIBARYONLPPI_H\r
-#define ALIANALYSISTASKHDIBARYONLPPI_H\r
-\r
-// analysis task for the H-Dibaryon analysis\r
-// Author: Benjamin Doenigus\r
-\r
-#include "AliAnalysisTaskSE.h"\r
-//#include "AliESDv0Cuts.h"\r
-\r
-class TH1F;\r
-class AliESDEvent;\r
-class TFile;\r
-class TH2F;\r
-class TH3F;\r
-class THnSparse;\r
-class AliESDtrackCuts;\r
-class AliESDv0Cuts;\r
-class AliMCEvent;\r
-class TList;\r
-class TParticle;\r
-class TLegend;\r
-class AliESDpid;\r
-class AliHFEpid;\r
-class AliHFEtools;\r
-\r
-class AliMCEventHandler;\r
-class TTree;\r
-class TChain;\r
-class TParallelCoord;\r
-\r
-class AliVertexerTracks;\r
-\r
-class AliAnalysisTaskHdibaryonLPpi : public AliAnalysisTaskSE {\r
- \r
-public:\r
- AliAnalysisTaskHdibaryonLPpi();\r
- AliAnalysisTaskHdibaryonLPpi(const char *name);\r
- // AliAnalysisTaskHdibaryonLPpi();\r
- virtual ~AliAnalysisTaskHdibaryonLPpi();\r
- \r
- void SetHasMC(Bool_t hasMC=kTRUE){SetBit(kHasMC,hasMC);}\r
- Bool_t HasMC(){return TestBit(kHasMC);}\r
-\r
- // virtual void ConnectInputData(Option_t *);\r
- virtual void UserCreateOutputObjects();\r
- //virtual void Exec(Option_t *option);\r
- virtual void UserExec(Option_t* /*option*/);\r
-\r
- virtual void Terminate(Option_t *);\r
-\r
- /*\r
- *Get the MC stack \r
- */\r
- AliMCEvent* GetMCEvent() const{return fMCEvent;} // for CF\r
-\r
-private:\r
- AliESDEvent *fESD; //AliESD event \r
- // AliESDtrackCuts* fEsdTrackCuts; // track cuts\r
- AliESDtrackCuts *fESDtrackCutsV0; // basic cut variables for v0's\r
- AliESDv0Cuts *fESDCutsV0; // V0 track cuts\r
- AliESDtrackCuts* fEsdTrackCuts; // track cuts\r
- \r
- Int_t fBin; //bin for the angular plot\r
-\r
- AliVEvent *fEvent; //! current event\r
-\r
- TList *fHistList; //TList\r
- TH1F *fHistMassDPi; // V0 online finder \r
- TH1F *fHistMassLPi; // V0 offline finder\r
- TH1F *fHistMassLambdaPi; // inv mass lambda pi\r
- TH1F *fHistMassLambda; // inv mass lambda from tlorentz\r
- TH1F *fHistMassLambdaPPi; // inv mass Lambda p pi before cuts\r
- TH1F *fHistMassLambdaP; // inv mass Lambda p \r
- TH1F *fHistMassLambdaK; // inv mass Lambda K\r
-\r
- TH1F *fHistMassK0onl; // K0 mass\r
- TH1F *fHistMassK0offl; // K0 mass\r
- TH1F *fHistMassK0onlC; // K0 mass\r
- TH1F *fHistMassK0offlC;// K0 mass\r
- TH1F *fHistMassPQonl; // K0 mass\r
- TH1F *fHistMassPQoffl; // K0 mass\r
- TH1F *fHistDC; // DC\r
- TH2F *fHistArmenterosPodolanski; // AP distribution\r
- TH2F *fHistArmenterosPodolanskiCut; // AP distributian after cuts\r
- TH1F *fHistHDibaryonInvaMassGen; //! for MC\r
- TH1F *fHistHDibaryonInvaMassGenRes; //! for MC\r
- TH1F *fHistAntiHDibaryonInvaMassGen; //! for MC\r
- TH1F *fHistHDibaryonInvaMassAso; //! for MC\r
- TH1F *fHistHDibaryonInvaMassAsoReso; //! for MC\r
- TH1F *fHistAntiHDibaryonInvaMassAso; //! for MC\r
- TH2F *fHistCheck; // Online vs. Offline V0 finder\r
- TH1F *fHistHPointingAngle; // Poniting angle dist\r
- TH1F *fHistMassH; // Rec. H mass\r
- TH1F *fHistMassLambdaFromH; // True Lambdas from H\r
- TH1F *fHistMassLambdaFromHtLorentz; // via TLorentz\r
- TH1F *fHistMassPpi; //inv mass ppi\r
- TH1F *fHistMassPpiReso; // inv mass ppi reso\r
- TH1F *fHistMassLpi; // inv mass lambda pi\r
- TH1F *fHistMassLP; // inv mass lambda p\r
- TH2F *fHistProtonPIDBb;//TPC BB for Proton PID\r
- TH2F *fHistPionPIDBb;//TPC BB for Pion PID\r
- TH2F *fHistProtonPIDLambda;//TPC BB for Proton PID from Lambda\r
- TH2F *fHistPionPIDLambda;//TPC BB for Pion PID from Lambda\r
- TH1F *fHistMCdcaPvtxDvtx; //mc dca\r
- TH1F *fHistMCdcaPvtxLvtx; //mc dca\r
- TH1F *fHistMCdcaDvtxLvtx; // mc dca\r
- TH1F *fHistMCangleLH; // angle between H and Lambda\r
- TH1F *fHistMCdecayAngle; // decay angle\r
- TH1F *fHistMCpointingAngle; // true PA\r
- TH2F *fHistMCap; // true AP\r
- TH1F *fHistMCdcaPvtxDvtxReso; //mc dca\r
- TH1F *fHistMCdcaPvtxLvtxReso; // mc dca\r
- TH1F *fHistMCdcaDvtxLvtxReso; // mc dca\r
- TH1F *fHistMCangleLHReso; // mc anle\r
- TH1F *fHistMCdecayAngleReso; // mc decay angle\r
- TH1F *fHistMCpointingAngleReso; // mc PA\r
- TH2F *fHistMCapReso; // MC ap for reso\r
- TH1F *fHistCentrality; // Centrality histogram\r
- TH1F *fHistCentralityAC; // Centrality histogram after selection cuts\r
- TH1F *fHistMultiplicity; // Multiplicity histogram\r
- \r
- TH1F *fHistHilf1; // Support\r
- TH1F *fHistHilf2; // support\r
- TH1F *fHistHilf3; // support\r
- TH1F *fHistHilf4; // support\r
- TH1F *fHistHilf5; // support\r
- TH1F *fHistHilf6; // support\r
- TH2F *fHistPtvsEtaGen; // eta vs pt generated\r
- TH2F *fHistPtvsEtaAso; // eta vs pt associated\r
- TH2F *fHistPtvsYGen; // y vs pt generated\r
- TH2F *fHistPtvsYAso; // y vs pt associated\r
- TH1F *fHistRap; // rapidity\r
- \r
- TH1F *fHistCount; //Counting of events and different decay parameters\r
- \r
- AliESDpid *fPIDtpcESD; //PID\r
- TH1F *fHistTriggerStat; //! Trigger statistics\r
- TH1F *fHistTriggerStatAfterEventSelection; //! Trigger statistics\r
- TH3F *fHistMassHcentMult; // Inv. mass vs. centrality vs. multiplicity\r
- THnSparse *fHistNdim; //THnSparse\r
-\r
- enum{\r
- kHasMC=BIT(18)\r
- };\r
-\r
- AliAnalysisTaskHdibaryonLPpi(const AliAnalysisTaskHdibaryonLPpi&); // not implemented\r
- AliAnalysisTaskHdibaryonLPpi& operator=(const AliAnalysisTaskHdibaryonLPpi&); // not implemented\r
-\r
-\r
- ClassDef(AliAnalysisTaskHdibaryonLPpi, 1); // analysisclass\r
-\r
-\r
-};\r
-\r
-#endif\r
+/**************************************************************************
+ * Author : Benjamin Dönigus (benjamin.doenigus@cern.ch) *
+ * *
+ * 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. *
+ **************************************************************************/
+
+//-----------------------------------------------------------------
+// AliAnalysisTaskHdibaryonLPpi class
+// used to search for the H-Dibaryon in weak
+// (Lambda Proton Pion) and strong (Lambda Lambda) decays
+//-----------------------------------------------------------------
+
+
+#ifndef ALIANALYSISTASKHDIBARYONLPPI_H
+#define ALIANALYSISTASKHDIBARYONLPPI_H
+
+// analysis task for the H-Dibaryon analysis
+// Author: Benjamin Doenigus
+
+#include "AliAnalysisTaskSE.h"
+//#include "AliESDv0Cuts.h"
+
+class TH1F;
+class AliESDEvent;
+class TFile;
+class TH2F;
+class TH3F;
+class THnSparse;
+class AliESDtrackCuts;
+class AliESDv0Cuts;
+class AliMCEvent;
+class TList;
+class TParticle;
+class TLegend;
+class AliESDpid;
+class AliHFEpid;
+class AliHFEtools;
+
+class AliMCEventHandler;
+class TTree;
+class TChain;
+class TParallelCoord;
+
+class AliVertexerTracks;
+
+class AliAnalysisTaskHdibaryonLPpi : public AliAnalysisTaskSE {
+
+public:
+ AliAnalysisTaskHdibaryonLPpi();
+ AliAnalysisTaskHdibaryonLPpi(const char *name);
+ // AliAnalysisTaskHdibaryonLPpi();
+ virtual ~AliAnalysisTaskHdibaryonLPpi();
+
+ void SetHasMC(Bool_t hasMC=kTRUE){SetBit(kHasMC,hasMC);}
+ Bool_t HasMC(){return TestBit(kHasMC);}
+
+ // virtual void ConnectInputData(Option_t *);
+ virtual void UserCreateOutputObjects();
+ //virtual void Exec(Option_t *option);
+ virtual void UserExec(Option_t* /*option*/);
+
+ virtual void Terminate(Option_t *);
+
+ /*
+ *Get the MC stack
+ */
+ AliMCEvent* GetMCEvent() const{return fMCEvent;} // for CF
+
+private:
+ AliESDEvent *fESD; //AliESD event
+ // AliESDtrackCuts* fEsdTrackCuts; // track cuts
+ AliESDtrackCuts *fESDtrackCutsV0; // basic cut variables for v0's
+ AliESDv0Cuts *fESDCutsV0; // V0 track cuts
+ AliESDtrackCuts* fEsdTrackCuts; // track cuts
+
+ Int_t fBin; //bin for the angular plot
+
+ AliVEvent *fEvent; //! current event
+
+ TList *fHistList; //TList
+ TH1F *fHistMassDPi; // V0 online finder
+ TH1F *fHistMassLPi; // V0 offline finder
+ TH1F *fHistMassLambdaPi; // inv mass lambda pi
+ TH1F *fHistMassLambda; // inv mass lambda from tlorentz
+ TH1F *fHistMassLambdaPPi; // inv mass Lambda p pi before cuts
+ TH1F *fHistMassLambdaP; // inv mass Lambda p
+ TH1F *fHistMassLambdaK; // inv mass Lambda K
+
+ TH1F *fHistMassK0onl; // K0 mass
+ TH1F *fHistMassK0offl; // K0 mass
+ TH1F *fHistMassK0onlC; // K0 mass
+ TH1F *fHistMassK0offlC;// K0 mass
+ TH1F *fHistMassPQonl; // K0 mass
+ TH1F *fHistMassPQoffl; // K0 mass
+ TH1F *fHistDC; // DC
+ TH2F *fHistArmenterosPodolanski; // AP distribution
+ TH2F *fHistArmenterosPodolanskiCut; // AP distributian after cuts
+ TH1F *fHistHDibaryonInvaMassGen; //! for MC
+ TH1F *fHistHDibaryonInvaMassGenRes; //! for MC
+ TH1F *fHistAntiHDibaryonInvaMassGen; //! for MC
+ TH1F *fHistHDibaryonInvaMassAso; //! for MC
+ TH1F *fHistHDibaryonInvaMassAsoReso; //! for MC
+ TH1F *fHistAntiHDibaryonInvaMassAso; //! for MC
+ TH2F *fHistCheck; // Online vs. Offline V0 finder
+ TH1F *fHistHPointingAngle; // Poniting angle dist
+ TH1F *fHistMassH; // Rec. H mass
+ TH1F *fHistMassLambdaFromH; // True Lambdas from H
+ TH1F *fHistMassLambdaFromHtLorentz; // via TLorentz
+ TH1F *fHistMassPpi; //inv mass ppi
+ TH1F *fHistMassPpiReso; // inv mass ppi reso
+ TH1F *fHistMassLpi; // inv mass lambda pi
+ TH1F *fHistMassLP; // inv mass lambda p
+ TH2F *fHistProtonPIDBb;//TPC BB for Proton PID
+ TH2F *fHistPionPIDBb;//TPC BB for Pion PID
+ TH2F *fHistProtonPIDLambda;//TPC BB for Proton PID from Lambda
+ TH2F *fHistPionPIDLambda;//TPC BB for Pion PID from Lambda
+ TH1F *fHistMCdcaPvtxDvtx; //mc dca
+ TH1F *fHistMCdcaPvtxLvtx; //mc dca
+ TH1F *fHistMCdcaDvtxLvtx; // mc dca
+ TH1F *fHistMCangleLH; // angle between H and Lambda
+ TH1F *fHistMCdecayAngle; // decay angle
+ TH1F *fHistMCpointingAngle; // true PA
+ TH2F *fHistMCap; // true AP
+ TH1F *fHistMCdcaPvtxDvtxReso; //mc dca
+ TH1F *fHistMCdcaPvtxLvtxReso; // mc dca
+ TH1F *fHistMCdcaDvtxLvtxReso; // mc dca
+ TH1F *fHistMCangleLHReso; // mc anle
+ TH1F *fHistMCdecayAngleReso; // mc decay angle
+ TH1F *fHistMCpointingAngleReso; // mc PA
+ TH2F *fHistMCapReso; // MC ap for reso
+ TH1F *fHistCentrality; // Centrality histogram
+ TH1F *fHistCentralityAC; // Centrality histogram after selection cuts
+ TH1F *fHistMultiplicity; // Multiplicity histogram
+
+ TH1F *fHistHilf1; // Support
+ TH1F *fHistHilf2; // support
+ TH1F *fHistHilf3; // support
+ TH1F *fHistHilf4; // support
+ TH1F *fHistHilf5; // support
+ TH1F *fHistHilf6; // support
+ TH2F *fHistPtvsEtaGen; // eta vs pt generated
+ TH2F *fHistPtvsEtaAso; // eta vs pt associated
+ TH2F *fHistPtvsYGen; // y vs pt generated
+ TH2F *fHistPtvsYAso; // y vs pt associated
+ TH1F *fHistRap; // rapidity
+
+ TH1F *fHistCount; //Counting of events and different decay parameters
+
+ AliESDpid *fPIDtpcESD; //PID
+ TH1F *fHistTriggerStat; //! Trigger statistics
+ TH1F *fHistTriggerStatAfterEventSelection; //! Trigger statistics
+ TH3F *fHistMassHcentMult; // Inv. mass vs. centrality vs. multiplicity
+ THnSparse *fHistNdim; //THnSparse
+
+ enum{
+ kHasMC=BIT(18)
+ };
+
+ AliAnalysisTaskHdibaryonLPpi(const AliAnalysisTaskHdibaryonLPpi&); // not implemented
+ AliAnalysisTaskHdibaryonLPpi& operator=(const AliAnalysisTaskHdibaryonLPpi&); // not implemented
+
+
+ ClassDef(AliAnalysisTaskHdibaryonLPpi, 1); // analysisclass
+
+
+};
+
+#endif