]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AliAnalysisTaskMuonDistributions.h
Update: removed request of 4 points in ITS (Renu)
[u/mrichter/AliRoot.git] / PWG3 / muon / AliAnalysisTaskMuonDistributions.h
CommitLineData
e4dddba1 1#ifndef ALIANALYSISTASKMUONDISTRIBUTIONS_H
2#define ALIANALYSISTASKMUONDISTRIBUTIONS_H
3
c5c5bf9c 4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7/* Analysis Task for Muon/Dimuon distributions */
8
e4dddba1 9#include "AliAnalysisTaskSE.h"
e4dddba1 10
11class TH1D;
12class TParticle ;
13class TLorentzVector ;
14class TFile ;
15class AliStack ;
16class AliESDtrack;
17class AliVParticle;
18
19class AliAnalysisTaskMuonDistributions : public AliAnalysisTaskSE {
20 public:
21
22 AliAnalysisTaskMuonDistributions();
23 AliAnalysisTaskMuonDistributions(const Char_t* name);
24 AliAnalysisTaskMuonDistributions& operator= (const AliAnalysisTaskMuonDistributions& c);
25 AliAnalysisTaskMuonDistributions(const AliAnalysisTaskMuonDistributions& c);
26 virtual ~AliAnalysisTaskMuonDistributions();
27
28 // ANALYSIS FRAMEWORK STUFF to loop on data and fill output objects
29 void UserExec(Option_t *option);
30 void Terminate(Option_t *);
31 void UserCreateOutputObjects();
32
33 void SetBeamEnergy(Double_t en) {fBeamEnergy=en;}
c5c5bf9c 34 void SetAnalysisType(const char* type) {fkAnalysisType=type;}
e4dddba1 35 void SetInvMassFitLimits(Double_t xmin, Double_t xmax) {fInvMassFitLimitMin=xmin; fInvMassFitLimitMax=xmax;}
36 void SetPsiFitLimits(Double_t xmin, Double_t xmax) {fPsiFitLimitMin=xmin; fPsiFitLimitMax=xmax;}
f032e1ac 37 void SetPsiPFitLimits(Double_t xmin, Double_t xmax) {fPsiPFitLimitMin=xmin; fPsiPFitLimitMax=xmax;}
e4dddba1 38 void SetBckFitLimits(Double_t xmin, Double_t xmax) {fBckFitLimitMin=xmin; fBckFitLimitMax=xmax;}
39 void FitInvariantMassSpectrum(Bool_t massfit=kFALSE) {fInvariantMassFit=massfit;}
40
41 protected:
42
43 Double_t fBeamEnergy; // Energy of the beam (required for the CS angle)
c5c5bf9c 44 Double_t fInvMassFitLimitMin; // invariant mass spectrum fit lower limit
45 Double_t fInvMassFitLimitMax; // invariant mass spectrum fit upper limit
46 Double_t fPsiFitLimitMin; // psi fit lower limits
47 Double_t fPsiFitLimitMax; // psi fit upper limits
f032e1ac 48 Double_t fPsiPFitLimitMin; // psi(2S) fit lower limits
49 Double_t fPsiPFitLimitMax; // psi(2S) fit upper limits
c5c5bf9c 50 Double_t fBckFitLimitMin; // bck fit lower limits
51 Double_t fBckFitLimitMax; // bck fit upper limits
e4dddba1 52 Bool_t fInvariantMassFit; // flag to perform or not inv. mass fit
53
c5c5bf9c 54 const char* fkAnalysisType; //ESD or AOD based analysis
55 TList *fOutput; // output file
e4dddba1 56
c5c5bf9c 57 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;
58 Float_t Rapidity (Float_t e, Float_t pz) const;
59 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);
60 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);
61 void FitInvMass(TH1D* histo);
e4dddba1 62
63 ClassDef(AliAnalysisTaskMuonDistributions,1);
64};
65
66#endif