]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AliAnalysisTaskMuonDistributions.h
DA for calibrating energy by pi0 and MIP and related classes (Hisayuki Torii).
[u/mrichter/AliRoot.git] / PWG3 / muon / AliAnalysisTaskMuonDistributions.h
CommitLineData
e4dddba1 1#ifndef ALIANALYSISTASKMUONDISTRIBUTIONS_H
2#define ALIANALYSISTASKMUONDISTRIBUTIONS_H
3
4#include "AliAnalysisTaskSE.h"
5#include "TMath.h"
6
7class TH1D;
8class TParticle ;
9class TLorentzVector ;
10class TFile ;
11class AliStack ;
12class AliESDtrack;
13class AliVParticle;
14
15class AliAnalysisTaskMuonDistributions : public AliAnalysisTaskSE {
16 public:
17
18 AliAnalysisTaskMuonDistributions();
19 AliAnalysisTaskMuonDistributions(const Char_t* name);
20 AliAnalysisTaskMuonDistributions& operator= (const AliAnalysisTaskMuonDistributions& c);
21 AliAnalysisTaskMuonDistributions(const AliAnalysisTaskMuonDistributions& c);
22 virtual ~AliAnalysisTaskMuonDistributions();
23
24 // ANALYSIS FRAMEWORK STUFF to loop on data and fill output objects
25 void UserExec(Option_t *option);
26 void Terminate(Option_t *);
27 void UserCreateOutputObjects();
28
29 void SetBeamEnergy(Double_t en) {fBeamEnergy=en;}
30 void SetAnalysisType(const char* type) {fAnalysisType=type;}
31 void SetInvMassFitLimits(Double_t xmin, Double_t xmax) {fInvMassFitLimitMin=xmin; fInvMassFitLimitMax=xmax;}
32 void SetPsiFitLimits(Double_t xmin, Double_t xmax) {fPsiFitLimitMin=xmin; fPsiFitLimitMax=xmax;}
33 void SetBckFitLimits(Double_t xmin, Double_t xmax) {fBckFitLimitMin=xmin; fBckFitLimitMax=xmax;}
34 void FitInvariantMassSpectrum(Bool_t massfit=kFALSE) {fInvariantMassFit=massfit;}
35
36 protected:
37
38 Double_t fBeamEnergy; // Energy of the beam (required for the CS angle)
39 Double_t fInvMassFitLimitMin; // invariant mass spectrum fit limits
40 Double_t fInvMassFitLimitMax;
41 Double_t fPsiFitLimitMin; // psi fit limits
42 Double_t fPsiFitLimitMax;
43 Double_t fBckFitLimitMin; // bck fit limits
44 Double_t fBckFitLimitMax;
45 Bool_t fInvariantMassFit; // flag to perform or not inv. mass fit
46
47 const char* fAnalysisType; //ESD or AOD based analysis
48 TList *fOutput;
49
50 Float_t InvMass (Float_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t, Float_t);
51 Float_t Rapidity (Float_t, Float_t);
52 Double_t CostCS (Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t);
53 Double_t CostHE (Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t, Double_t);
54 void FitInvMass(TH1D* );
55
56 ClassDef(AliAnalysisTaskMuonDistributions,1);
57};
58
59#endif