1 #ifndef ALIANALYSISTASKMUONDISTRIBUTIONS_H
2 #define ALIANALYSISTASKMUONDISTRIBUTIONS_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
9 /* Analysis Task for Muon/Dimuon distributions */
11 #include "AliAnalysisTaskSE.h"
15 class TLorentzVector ;
21 class AliAnalysisTaskMuonDistributions : public AliAnalysisTaskSE {
24 AliAnalysisTaskMuonDistributions();
25 AliAnalysisTaskMuonDistributions(const Char_t* name);
26 AliAnalysisTaskMuonDistributions& operator= (const AliAnalysisTaskMuonDistributions& c);
27 AliAnalysisTaskMuonDistributions(const AliAnalysisTaskMuonDistributions& c);
28 virtual ~AliAnalysisTaskMuonDistributions();
30 // ANALYSIS FRAMEWORK STUFF to loop on data and fill output objects
31 void UserExec(Option_t *option);
32 void Terminate(Option_t *);
33 void UserCreateOutputObjects();
35 void SetBeamEnergy(Double_t en) {fBeamEnergy=en;}
36 void SetAnalysisType(const char* type) {fkAnalysisType=type;}
37 void SetInvMassFitLimits(Double_t xmin, Double_t xmax) {fInvMassFitLimitMin=xmin; fInvMassFitLimitMax=xmax;}
38 void SetPsiFitLimits(Double_t xmin, Double_t xmax) {fPsiFitLimitMin=xmin; fPsiFitLimitMax=xmax;}
39 void SetPsiPFitLimits(Double_t xmin, Double_t xmax) {fPsiPFitLimitMin=xmin; fPsiPFitLimitMax=xmax;}
40 void SetBckFitLimits(Double_t xmin, Double_t xmax) {fBckFitLimitMin=xmin; fBckFitLimitMax=xmax;}
41 void FitInvariantMassSpectrum(Bool_t massfit=kFALSE) {fInvariantMassFit=massfit;}
45 Double_t fBeamEnergy; // Energy of the beam (required for the CS angle)
46 Double_t fInvMassFitLimitMin; // invariant mass spectrum fit lower limit
47 Double_t fInvMassFitLimitMax; // invariant mass spectrum fit upper limit
48 Double_t fPsiFitLimitMin; // psi fit lower limits
49 Double_t fPsiFitLimitMax; // psi fit upper limits
50 Double_t fPsiPFitLimitMin; // psi(2S) fit lower limits
51 Double_t fPsiPFitLimitMax; // psi(2S) fit upper limits
52 Double_t fBckFitLimitMin; // bck fit lower limits
53 Double_t fBckFitLimitMax; // bck fit upper limits
54 Bool_t fInvariantMassFit; // flag to perform or not inv. mass fit
56 const char* fkAnalysisType; //ESD or AOD based analysis
57 TList *fOutput; // output file
59 Float_t InvMass (Float_t e1, Float_t px1, Float_t py1, Float_t pz1, Float_t e2, Float_t px2, Float_t py2, Float_t pz2) const;
60 Float_t Rapidity (Float_t e, Float_t pz) const;
61 Double_t CostCS (Double_t px1, Double_t py1, Double_t pz1, Double_t e1, Double_t charge1, Double_t px2, Double_t py2, Double_t pz2, Double_t e2);
62 Double_t CostHE (Double_t px1, Double_t py1, Double_t pz1, Double_t e1, Double_t charge1, Double_t px2, Double_t py2, Double_t pz2, Double_t e2);
63 void FitInvMass(TH1D* histo);
65 ClassDef(AliAnalysisTaskMuonDistributions,1);