]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGCF/EBYE/BalanceFunctions/AliAnalysisTaskToyModel.h
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGCF / EBYE / BalanceFunctions / AliAnalysisTaskToyModel.h
index 0d7054b423b55989a69290ab36a1d23cfb452b21..8e808a57b38122df9a7fe25c47ed388e692b7d93 100755 (executable)
-#ifndef ALIANALYSISTASKTOYMODEL_CXX\r
-#define ALIANALYSISTASKTOYMODEL_CXX\r
-\r
-// Analysis task for a simple toy model, currently used for the \r
-// balance function\r
-// Authors: Panos Christakoglou@nikhef.nl\r
-\r
-class TList;\r
-class TH1F;\r
-class TH2F;\r
-class TH3F;\r
-class TF1;\r
-\r
-class AliBalancePsi;\r
-class AliEventPoolManager;\r
-\r
-class AliAnalysisTaskToyModel : public TObject {\r
- public:\r
-  AliAnalysisTaskToyModel();\r
-  virtual ~AliAnalysisTaskToyModel(); \r
-  \r
-  virtual void   Init();\r
-  virtual void   CreateOutputObjects();\r
-  virtual void   Run(Int_t nEvents);\r
-  virtual void   FinishOutput();\r
-  \r
-  void SetDebugFlag() {fUseDebug = kTRUE;}\r
-\r
-  void SetAnalysisObject(AliBalancePsi *const analysis) {\r
-    fBalance         = analysis;\r
-  }\r
-  void SetShufflingObject(AliBalancePsi *const analysisShuffled) {\r
-    fRunShuffling = kTRUE;\r
-    fShuffledBalance = analysisShuffled;\r
-  }\r
-  void SetMixingObject(AliBalancePsi *const analysisMixed) {\r
-    fRunMixing = kTRUE;\r
-    fMixedBalance = analysisMixed;\r
-  }\r
-\r
-  //============Toy model: List of setters============//\r
-  void SetTotalMultiplicity(Double_t mean, Double_t sigma) {\r
-    fTotalMultiplicityMean = mean;\r
-    fTotalMultiplicitySigma = sigma;}\r
-  void SetNetCharge(Double_t mean, Double_t sigma) {\r
-    fNetChargeMean = mean;\r
-    fNetChargeSigma = sigma;}\r
-\r
-  //Acceptance\r
-  void SetKinematicsCutsMC(Double_t ptmin, Double_t ptmax,\r
-                           Double_t etamin, Double_t etamax){\r
-    fPtMin  = ptmin; fPtMax  = ptmax;\r
-    fEtaMin = etamin; fEtaMax = etamax;\r
-  }\r
-\r
-  //Acceptance filter\r
-  void SetAcceptanceParameterization(TF1 *parameterization) {\r
-    fUseAcceptanceParameterization = kTRUE;\r
-    fAcceptanceParameterization = parameterization;}\r
-\r
-  //Acceptance - simulate detector effects/inefficiencies\r
-  void SimulateDetectorEffects() {fSimulateDetectorEffects = kTRUE;}\r
-  void SetNumberOfInefficientSectorsInPhi(Int_t numberOfInefficientSectors) {\r
-    fNumberOfInefficientSectors = numberOfInefficientSectors;\r
-    fInefficiencyFactorInPhi = 0.5;}\r
-  void SetInefficiencyFactor(Double_t gInefficiencyFactorInPhi) {\r
-    fInefficiencyFactorInPhi = gInefficiencyFactorInPhi;}\r
-  void SetNumberOfDeadSectorsInPhi(Int_t numberOfDeadSectors) {\r
-    fNumberOfDeadSectors = numberOfDeadSectors;}\r
-  void EnableEfficiencyDropNearEtaEdges() {\r
-    fEfficiencyDropNearEtaEdges = kTRUE;}\r
-\r
-  //All charges\r
-  void SetSpectraTemperatureForAllCharges(Double_t temperature) {\r
-    fUseAllCharges = kTRUE;\r
-    fTemperatureAllCharges = temperature;}\r
-  void SetDirectedFlowForAllCharges(Double_t v1) {\r
-    fUseAllCharges = kTRUE;\r
-    fDirectedFlowAllCharges = v1;}\r
-  void SetEllipticFlowForAllCharges(Double_t v2) {\r
-    fUseAllCharges = kTRUE;\r
-    fEllipticFlowAllCharges = v2;}\r
-  void SetTriangularFlowForAllCharges(Double_t v3) {\r
-    fUseAllCharges = kTRUE;\r
-    fTriangularFlowAllCharges = v3;}\r
-  void SetQuandrangularFlowForAllCharges(Double_t v4) {\r
-    fUseAllCharges = kTRUE;\r
-    fQuandrangularFlowAllCharges = v4;}\r
-  void SetPentangularFlowForAllCharges(Double_t v5) {\r
-    fUseAllCharges = kTRUE;\r
-    fPentangularFlowAllCharges = v5;}\r
-\r
-  //Pions\r
-  void SetPionPercentage(Double_t percentage) {\r
-    fPionPercentage = percentage;}\r
-  void SetSpectraTemperatureForPions(Double_t temperature) {\r
-    fTemperaturePions = temperature;}\r
-  void SetDirectedFlowForPions(Double_t v1) {\r
-    fDirectedFlowPions = v1;}\r
-  void SetEllipticFlowForPions(Double_t v2) {\r
-    fEllipticFlowPions = v2;}\r
-  void SetTriangularFlowForPions(Double_t v3) {\r
-    fTriangularFlowPions = v3;}\r
-  void SetQuandrangularFlowForPions(Double_t v4) {\r
-    fQuandrangularFlowPions = v4;}\r
-  void SetPentangularFlowForPions(Double_t v5) {\r
-    fPentangularFlowPions = v5;}\r
-  \r
-  //Kaons\r
-  void SetKaonPercentage(Double_t percentage) {\r
-    fKaonPercentage = percentage;}\r
-  void SetSpectraTemperatureForKaons(Double_t temperature) {\r
-    fTemperatureKaons = temperature;}\r
-  void SetDirectedFlowForKaons(Double_t v1) {\r
-    fDirectedFlowKaons = v1;}\r
-  void SetEllipticFlowForKaons(Double_t v2) {\r
-    fEllipticFlowKaons = v2;}\r
-  void SetTriangularFlowForKaons(Double_t v3) {\r
-    fTriangularFlowKaons = v3;}\r
-  void SetQuandrangularFlowForKaons(Double_t v4) {\r
-    fQuandrangularFlowKaons = v4;}\r
-  void SetPentangularFlowForKaons(Double_t v5) {\r
-    fPentangularFlowKaons = v5;}\r
-\r
-  //Protons\r
-  void SetProtonPercentage(Double_t percentage) {\r
-    fProtonPercentage = percentage;}\r
-  void SetSpectraTemperatureForProtons(Double_t temperature) {\r
-    fTemperatureProtons = temperature;}\r
-  void SetDirectedFlowForProtons(Double_t v1) {\r
-    fDirectedFlowProtons = v1;}\r
-  void SetEllipticFlowForProtons(Double_t v2) {\r
-    fEllipticFlowProtons = v2;}\r
-  void SetTriangularFlowForProtons(Double_t v3) {\r
-    fTriangularFlowProtons = v3;}\r
-  void SetQuandrangularFlowForProtons(Double_t v4) {\r
-    fQuandrangularFlowProtons = v4;}\r
-  void SetPentangularFlowForProtons(Double_t v5) {\r
-    fPentangularFlowProtons = v5;}\r
-\r
-  //Dynamical correlations\r
-  void SetCorrelationPercentage(Double_t percentage) {\r
-    fUseDynamicalCorrelations = kTRUE; \r
-    fDynamicalCorrelationsPercentage = percentage;\r
-  }\r
-\r
-  //Jet-like structures\r
-  void SetUseJets() {fUseJets = kTRUE;}\r
-  //============Toy model: List of setters============//\r
-\r
- private:\r
-  void SetupEfficiencyMatrix();\r
-\r
-  Bool_t fUseDebug; //Debug flag\r
-\r
-  AliBalancePsi *fBalance; //BF object\r
-  Bool_t fRunShuffling;//run shuffling or not\r
-  AliBalancePsi *fShuffledBalance; //BF object (shuffled)\r
-  Bool_t fRunMixing;//run mixing or not\r
-  AliBalancePsi *fMixedBalance; //BF object (mixed)\r
-  AliEventPoolManager*     fPoolMgr;         //! event pool manager\r
-  TList *fList; //fList object\r
-  TList *fListBF; //fList object\r
-  TList *fListBFS; //fList object (shuffling)\r
-  TList *fListBFM; //fList object (mixing)\r
-\r
-  TH1F *fHistEventStats; //event stats\r
-  TH1F *fHistNumberOfAcceptedParticles; //number of accepted particles\r
-  TH1F *fHistReactionPlane; //reaction plane angle\r
-  TH1F *fHistEtaTotal; //pseudo-rapidity (full phase space)\r
-  TH1F *fHistEta; //pseudo-rapidity (acceptance)\r
-  TH2F *fHistEtaPhiPos; //eta-phi pos\r
-  TH2F *fHistEtaPhiNeg; //eta-phi neg\r
-  TH1F *fHistRapidity; //rapidity (acceptance)\r
-  TH1F *fHistRapidityPions; //rapidity (acceptance)\r
-  TH1F *fHistRapidityKaons; //rapidity (acceptance)\r
-  TH1F *fHistRapidityProtons; //rapidity (acceptance)\r
-  TH1F *fHistPhi; //phi (acceptance)\r
-  TH1F *fHistPhiPions; //phi (acceptance)\r
-  TH1F *fHistPhiKaons; //phi (acceptance)\r
-  TH1F *fHistPhiProtons; //phi (acceptance)\r
-  TH1F *fHistPt; //pt (acceptance)\r
-  TH1F *fHistPtPions; //pt (acceptance)\r
-  TH1F *fHistPtKaons; //pt (acceptance)\r
-  TH1F *fHistPtProtons; //pt (acceptance)\r
-\r
-  //Toy model input\r
-  Double_t fTotalMultiplicityMean; //mean for the total multiplicity\r
-  Double_t fTotalMultiplicitySigma; //sigma for the total multiplicity\r
-  Double_t fNetChargeMean; //mean for the net charge\r
-  Double_t fNetChargeSigma; //sigma for the net charge\r
-  Double_t fPtMin; //pt min for acceptance\r
-  Double_t fPtMax; //pt max for acceptance\r
-  Double_t fEtaMin; //eta min for acceptance\r
-  Double_t fEtaMax; //eta max for acceptance\r
-\r
-  //Acceptance parameterization\r
-  Bool_t fUseAcceptanceParameterization; //flag acceptance parameterization\r
-  TF1 *fAcceptanceParameterization; //acceptance parameterization\r
-\r
-  //Simulate detector effects\r
-  Bool_t fSimulateDetectorEffects;//simulate detector effects in pT\r
-  Int_t fNumberOfInefficientSectors;//inefficient secotrs in phi\r
-  Double_t fInefficiencyFactorInPhi;//efficiency factor < 1\r
-  Int_t fNumberOfDeadSectors;//number of dead sectors\r
-  Bool_t fEfficiencyDropNearEtaEdges;//efficiency drop in eta edges\r
-  TH3F *fEfficiencyMatrix; //efficiency matrix in eta-pt-phi\r
-\r
-  //Kinematics\r
-  Bool_t   fUseAllCharges; //use all charges\r
-  Double_t fParticleMass; //particle mass\r
-  TF1     *fPtSpectraAllCharges; //spectra for all charges\r
-  Double_t fTemperatureAllCharges; //temperature for pt spectra\r
-  Double_t fReactionPlane; //reaction plane angle\r
-  TF1     *fAzimuthalAngleAllCharges; //azimuthal angle\r
-  Double_t fDirectedFlowAllCharges; //directed flow value\r
-  Double_t fEllipticFlowAllCharges; //elliptic flow value\r
-  Double_t fTriangularFlowAllCharges; //triangular flow value\r
-  Double_t fQuandrangularFlowAllCharges; //quadrangular flow value\r
-  Double_t fPentangularFlowAllCharges; //pentangular flow value\r
-\r
-  Double_t fPionPercentage; //percentage of pions\r
-  Double_t fPionMass; //pion mass\r
-  TF1     *fPtSpectraPions; //spectra for pions\r
-  Double_t fTemperaturePions; //temperature for pt spectra\r
-  TF1     *fAzimuthalAnglePions; //azimuthal angle for pions\r
-  Double_t fDirectedFlowPions; //directed flow value\r
-  Double_t fEllipticFlowPions; //elliptic flow value\r
-  Double_t fTriangularFlowPions; //triangular flow value\r
-  Double_t fQuandrangularFlowPions; //quadrangular flow value\r
-  Double_t fPentangularFlowPions; //pentangular flow value\r
-\r
-  Double_t fKaonPercentage; //percentage of kaons\r
-  Double_t fKaonMass; //kaon mass\r
-  TF1     *fPtSpectraKaons; //spectra for kaons\r
-  Double_t fTemperatureKaons; //temperature for pt spectra\r
-  TF1     *fAzimuthalAngleKaons; //azimuthal angle for kaons\r
-  Double_t fDirectedFlowKaons; //directed flow value\r
-  Double_t fEllipticFlowKaons; //elliptic flow value\r
-  Double_t fTriangularFlowKaons; //triangular flow value\r
-  Double_t fQuandrangularFlowKaons; //quadrangular flow value\r
-  Double_t fPentangularFlowKaons; //pentangular flow value\r
-\r
-  Double_t fProtonPercentage; //percentage of protons\r
-  Double_t fProtonMass; //proton mass\r
-  TF1     *fPtSpectraProtons; //spectra for protons\r
-  Double_t fTemperatureProtons; //temperature for pt spectra\r
-  TF1     *fAzimuthalAngleProtons; //azimuthal angle for protons\r
-  Double_t fDirectedFlowProtons; //directed flow value\r
-  Double_t fEllipticFlowProtons; //elliptic flow value\r
-  Double_t fTriangularFlowProtons; //triangular flow value\r
-  Double_t fQuandrangularFlowProtons; //quadrangular flow value\r
-  Double_t fPentangularFlowProtons; //pentangular flow value\r
-\r
-  Bool_t fUseDynamicalCorrelations; //Usage of dynamical correlations\r
-  Double_t fDynamicalCorrelationsPercentage; //Percentage of correlations\r
-\r
-  Bool_t fUseJets;//Usage of jet-like structures\r
-  TF1 *fPtAssoc;//pt of associated\r
-\r
-  AliAnalysisTaskToyModel(const AliAnalysisTaskToyModel&); // not implemented\r
-  AliAnalysisTaskToyModel& operator=(const AliAnalysisTaskToyModel&); // not implemented\r
-  \r
-  ClassDef(AliAnalysisTaskToyModel, 1); // example of analysis\r
-};\r
-\r
-#endif\r
+#ifndef ALIANALYSISTASKTOYMODEL_CXX
+#define ALIANALYSISTASKTOYMODEL_CXX
+
+// Analysis task for a simple toy model, currently used for the 
+// balance function
+// Authors: Panos Christakoglou@nikhef.nl
+
+class TList;
+class TH1F;
+class TH2F;
+class TH3F;
+class TF1;
+
+class AliBalancePsi;
+class AliEventPoolManager;
+
+class AliAnalysisTaskToyModel : public TObject {
+ public:
+  AliAnalysisTaskToyModel();
+  virtual ~AliAnalysisTaskToyModel(); 
+  
+  virtual void   Init();
+  virtual void   CreateOutputObjects();
+  virtual void   Run(Int_t nEvents);
+  virtual void   FinishOutput();
+  
+  void SetDebugFlag() {fUseDebug = kTRUE;}
+
+  void SetAnalysisObject(AliBalancePsi *const analysis) {
+    fBalance         = analysis;
+  }
+  void SetShufflingObject(AliBalancePsi *const analysisShuffled) {
+    fRunShuffling = kTRUE;
+    fShuffledBalance = analysisShuffled;
+  }
+  void SetMixingObject(AliBalancePsi *const analysisMixed) {
+    fRunMixing = kTRUE;
+    fMixedBalance = analysisMixed;
+  }
+
+  //============Toy model: List of setters============//
+  void SetTotalMultiplicity(Double_t mean, Double_t sigma) {
+    fTotalMultiplicityMean = mean;
+    fTotalMultiplicitySigma = sigma;}
+  void SetNetCharge(Double_t mean, Double_t sigma) {
+    fNetChargeMean = mean;
+    fNetChargeSigma = sigma;}
+
+  //Acceptance
+  void SetKinematicsCutsMC(Double_t ptmin, Double_t ptmax,
+                           Double_t etamin, Double_t etamax){
+    fPtMin  = ptmin; fPtMax  = ptmax;
+    fEtaMin = etamin; fEtaMax = etamax;
+  }
+
+  //Acceptance filter
+  void SetAcceptanceParameterization(TF1 *parameterization) {
+    fUseAcceptanceParameterization = kTRUE;
+    fAcceptanceParameterization = parameterization;}
+
+  //Acceptance - simulate detector effects/inefficiencies
+  void SimulateDetectorEffects() {fSimulateDetectorEffects = kTRUE;}
+  void SetNumberOfInefficientSectorsInPhi(Int_t numberOfInefficientSectors) {
+    fNumberOfInefficientSectors = numberOfInefficientSectors;
+    fInefficiencyFactorInPhi = 0.5;}
+  void SetInefficiencyFactor(Double_t gInefficiencyFactorInPhi) {
+    fInefficiencyFactorInPhi = gInefficiencyFactorInPhi;}
+  void SetNumberOfDeadSectorsInPhi(Int_t numberOfDeadSectors) {
+    fNumberOfDeadSectors = numberOfDeadSectors;}
+  void EnableEfficiencyDropNearEtaEdges() {
+    fEfficiencyDropNearEtaEdges = kTRUE;}
+
+  //All charges
+  void SetSpectraTemperatureForAllCharges(Double_t temperature) {
+    fUseAllCharges = kTRUE;
+    fTemperatureAllCharges = temperature;}
+  void SetDirectedFlowForAllCharges(Double_t v1) {
+    fUseAllCharges = kTRUE;
+    fDirectedFlowAllCharges = v1;}
+  void SetEllipticFlowForAllCharges(Double_t v2) {
+    fUseAllCharges = kTRUE;
+    fEllipticFlowAllCharges = v2;}
+  void SetTriangularFlowForAllCharges(Double_t v3) {
+    fUseAllCharges = kTRUE;
+    fTriangularFlowAllCharges = v3;}
+  void SetQuandrangularFlowForAllCharges(Double_t v4) {
+    fUseAllCharges = kTRUE;
+    fQuandrangularFlowAllCharges = v4;}
+  void SetPentangularFlowForAllCharges(Double_t v5) {
+    fUseAllCharges = kTRUE;
+    fPentangularFlowAllCharges = v5;}
+
+  //Pions
+  void SetPionPercentage(Double_t percentage) {
+    fPionPercentage = percentage;}
+  void SetSpectraTemperatureForPions(Double_t temperature) {
+    fTemperaturePions = temperature;}
+  void SetDirectedFlowForPions(Double_t v1) {
+    fDirectedFlowPions = v1;}
+  void SetEllipticFlowForPions(Double_t v2) {
+    fEllipticFlowPions = v2;}
+  void SetTriangularFlowForPions(Double_t v3) {
+    fTriangularFlowPions = v3;}
+  void SetQuandrangularFlowForPions(Double_t v4) {
+    fQuandrangularFlowPions = v4;}
+  void SetPentangularFlowForPions(Double_t v5) {
+    fPentangularFlowPions = v5;}
+  
+  //Kaons
+  void SetKaonPercentage(Double_t percentage) {
+    fKaonPercentage = percentage;}
+  void SetSpectraTemperatureForKaons(Double_t temperature) {
+    fTemperatureKaons = temperature;}
+  void SetDirectedFlowForKaons(Double_t v1) {
+    fDirectedFlowKaons = v1;}
+  void SetEllipticFlowForKaons(Double_t v2) {
+    fEllipticFlowKaons = v2;}
+  void SetTriangularFlowForKaons(Double_t v3) {
+    fTriangularFlowKaons = v3;}
+  void SetQuandrangularFlowForKaons(Double_t v4) {
+    fQuandrangularFlowKaons = v4;}
+  void SetPentangularFlowForKaons(Double_t v5) {
+    fPentangularFlowKaons = v5;}
+
+  //Protons
+  void SetProtonPercentage(Double_t percentage) {
+    fProtonPercentage = percentage;}
+  void SetSpectraTemperatureForProtons(Double_t temperature) {
+    fTemperatureProtons = temperature;}
+  void SetDirectedFlowForProtons(Double_t v1) {
+    fDirectedFlowProtons = v1;}
+  void SetEllipticFlowForProtons(Double_t v2) {
+    fEllipticFlowProtons = v2;}
+  void SetTriangularFlowForProtons(Double_t v3) {
+    fTriangularFlowProtons = v3;}
+  void SetQuandrangularFlowForProtons(Double_t v4) {
+    fQuandrangularFlowProtons = v4;}
+  void SetPentangularFlowForProtons(Double_t v5) {
+    fPentangularFlowProtons = v5;}
+
+  //Dynamical correlations
+  void SetCorrelationPercentage(Double_t percentage) {
+    fUseDynamicalCorrelations = kTRUE; 
+    fDynamicalCorrelationsPercentage = percentage;
+  }
+
+  //Jet-like structures
+  void SetUseJets() {fUseJets = kTRUE;}
+  //============Toy model: List of setters============//
+
+ private:
+  void SetupEfficiencyMatrix();
+
+  Bool_t fUseDebug; //Debug flag
+
+  AliBalancePsi *fBalance; //BF object
+  Bool_t fRunShuffling;//run shuffling or not
+  AliBalancePsi *fShuffledBalance; //BF object (shuffled)
+  Bool_t fRunMixing;//run mixing or not
+  AliBalancePsi *fMixedBalance; //BF object (mixed)
+  AliEventPoolManager*     fPoolMgr;         //! event pool manager
+  TList *fList; //fList object
+  TList *fListBF; //fList object
+  TList *fListBFS; //fList object (shuffling)
+  TList *fListBFM; //fList object (mixing)
+
+  TH1F *fHistEventStats; //event stats
+  TH1F *fHistNumberOfAcceptedParticles; //number of accepted particles
+  TH1F *fHistReactionPlane; //reaction plane angle
+  TH1F *fHistEtaTotal; //pseudo-rapidity (full phase space)
+  TH1F *fHistEta; //pseudo-rapidity (acceptance)
+  TH2F *fHistEtaPhiPos; //eta-phi pos
+  TH2F *fHistEtaPhiNeg; //eta-phi neg
+  TH1F *fHistRapidity; //rapidity (acceptance)
+  TH1F *fHistRapidityPions; //rapidity (acceptance)
+  TH1F *fHistRapidityKaons; //rapidity (acceptance)
+  TH1F *fHistRapidityProtons; //rapidity (acceptance)
+  TH1F *fHistPhi; //phi (acceptance)
+  TH1F *fHistPhiPions; //phi (acceptance)
+  TH1F *fHistPhiKaons; //phi (acceptance)
+  TH1F *fHistPhiProtons; //phi (acceptance)
+  TH1F *fHistPt; //pt (acceptance)
+  TH1F *fHistPtPions; //pt (acceptance)
+  TH1F *fHistPtKaons; //pt (acceptance)
+  TH1F *fHistPtProtons; //pt (acceptance)
+
+  //Toy model input
+  Double_t fTotalMultiplicityMean; //mean for the total multiplicity
+  Double_t fTotalMultiplicitySigma; //sigma for the total multiplicity
+  Double_t fNetChargeMean; //mean for the net charge
+  Double_t fNetChargeSigma; //sigma for the net charge
+  Double_t fPtMin; //pt min for acceptance
+  Double_t fPtMax; //pt max for acceptance
+  Double_t fEtaMin; //eta min for acceptance
+  Double_t fEtaMax; //eta max for acceptance
+
+  //Acceptance parameterization
+  Bool_t fUseAcceptanceParameterization; //flag acceptance parameterization
+  TF1 *fAcceptanceParameterization; //acceptance parameterization
+
+  //Simulate detector effects
+  Bool_t fSimulateDetectorEffects;//simulate detector effects in pT
+  Int_t fNumberOfInefficientSectors;//inefficient secotrs in phi
+  Double_t fInefficiencyFactorInPhi;//efficiency factor < 1
+  Int_t fNumberOfDeadSectors;//number of dead sectors
+  Bool_t fEfficiencyDropNearEtaEdges;//efficiency drop in eta edges
+  TH3F *fEfficiencyMatrix; //efficiency matrix in eta-pt-phi
+
+  //Kinematics
+  Bool_t   fUseAllCharges; //use all charges
+  Double_t fParticleMass; //particle mass
+  TF1     *fPtSpectraAllCharges; //spectra for all charges
+  Double_t fTemperatureAllCharges; //temperature for pt spectra
+  Double_t fReactionPlane; //reaction plane angle
+  TF1     *fAzimuthalAngleAllCharges; //azimuthal angle
+  Double_t fDirectedFlowAllCharges; //directed flow value
+  Double_t fEllipticFlowAllCharges; //elliptic flow value
+  Double_t fTriangularFlowAllCharges; //triangular flow value
+  Double_t fQuandrangularFlowAllCharges; //quadrangular flow value
+  Double_t fPentangularFlowAllCharges; //pentangular flow value
+
+  Double_t fPionPercentage; //percentage of pions
+  Double_t fPionMass; //pion mass
+  TF1     *fPtSpectraPions; //spectra for pions
+  Double_t fTemperaturePions; //temperature for pt spectra
+  TF1     *fAzimuthalAnglePions; //azimuthal angle for pions
+  Double_t fDirectedFlowPions; //directed flow value
+  Double_t fEllipticFlowPions; //elliptic flow value
+  Double_t fTriangularFlowPions; //triangular flow value
+  Double_t fQuandrangularFlowPions; //quadrangular flow value
+  Double_t fPentangularFlowPions; //pentangular flow value
+
+  Double_t fKaonPercentage; //percentage of kaons
+  Double_t fKaonMass; //kaon mass
+  TF1     *fPtSpectraKaons; //spectra for kaons
+  Double_t fTemperatureKaons; //temperature for pt spectra
+  TF1     *fAzimuthalAngleKaons; //azimuthal angle for kaons
+  Double_t fDirectedFlowKaons; //directed flow value
+  Double_t fEllipticFlowKaons; //elliptic flow value
+  Double_t fTriangularFlowKaons; //triangular flow value
+  Double_t fQuandrangularFlowKaons; //quadrangular flow value
+  Double_t fPentangularFlowKaons; //pentangular flow value
+
+  Double_t fProtonPercentage; //percentage of protons
+  Double_t fProtonMass; //proton mass
+  TF1     *fPtSpectraProtons; //spectra for protons
+  Double_t fTemperatureProtons; //temperature for pt spectra
+  TF1     *fAzimuthalAngleProtons; //azimuthal angle for protons
+  Double_t fDirectedFlowProtons; //directed flow value
+  Double_t fEllipticFlowProtons; //elliptic flow value
+  Double_t fTriangularFlowProtons; //triangular flow value
+  Double_t fQuandrangularFlowProtons; //quadrangular flow value
+  Double_t fPentangularFlowProtons; //pentangular flow value
+
+  Bool_t fUseDynamicalCorrelations; //Usage of dynamical correlations
+  Double_t fDynamicalCorrelationsPercentage; //Percentage of correlations
+
+  Bool_t fUseJets;//Usage of jet-like structures
+  TF1 *fPtAssoc;//pt of associated
+
+  AliAnalysisTaskToyModel(const AliAnalysisTaskToyModel&); // not implemented
+  AliAnalysisTaskToyModel& operator=(const AliAnalysisTaskToyModel&); // not implemented
+  
+  ClassDef(AliAnalysisTaskToyModel, 1); // example of analysis
+};
+
+#endif