]>
Commit | Line | Data |
---|---|---|
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 | ||
27de2dfb | 7 | /* $Id$ */ |
8 | ||
c5c5bf9c | 9 | /* Analysis Task for Muon/Dimuon distributions */ |
10 | ||
e4dddba1 | 11 | #include "AliAnalysisTaskSE.h" |
e4dddba1 | 12 | |
13 | class TH1D; | |
14 | class TParticle ; | |
15 | class TLorentzVector ; | |
16 | class TFile ; | |
17 | class AliStack ; | |
18 | class AliESDtrack; | |
19 | class AliVParticle; | |
20 | ||
21 | class AliAnalysisTaskMuonDistributions : public AliAnalysisTaskSE { | |
22 | public: | |
23 | ||
24 | AliAnalysisTaskMuonDistributions(); | |
25 | AliAnalysisTaskMuonDistributions(const Char_t* name); | |
26 | AliAnalysisTaskMuonDistributions& operator= (const AliAnalysisTaskMuonDistributions& c); | |
27 | AliAnalysisTaskMuonDistributions(const AliAnalysisTaskMuonDistributions& c); | |
28 | virtual ~AliAnalysisTaskMuonDistributions(); | |
29 | ||
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(); | |
34 | ||
35 | void SetBeamEnergy(Double_t en) {fBeamEnergy=en;} | |
c5c5bf9c | 36 | void SetAnalysisType(const char* type) {fkAnalysisType=type;} |
e4dddba1 | 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;} | |
f032e1ac | 39 | void SetPsiPFitLimits(Double_t xmin, Double_t xmax) {fPsiPFitLimitMin=xmin; fPsiPFitLimitMax=xmax;} |
e4dddba1 | 40 | void SetBckFitLimits(Double_t xmin, Double_t xmax) {fBckFitLimitMin=xmin; fBckFitLimitMax=xmax;} |
41 | void FitInvariantMassSpectrum(Bool_t massfit=kFALSE) {fInvariantMassFit=massfit;} | |
42 | ||
43 | protected: | |
44 | ||
45 | Double_t fBeamEnergy; // Energy of the beam (required for the CS angle) | |
c5c5bf9c | 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 | |
f032e1ac | 50 | Double_t fPsiPFitLimitMin; // psi(2S) fit lower limits |
51 | Double_t fPsiPFitLimitMax; // psi(2S) fit upper limits | |
c5c5bf9c | 52 | Double_t fBckFitLimitMin; // bck fit lower limits |
53 | Double_t fBckFitLimitMax; // bck fit upper limits | |
e4dddba1 | 54 | Bool_t fInvariantMassFit; // flag to perform or not inv. mass fit |
55 | ||
c5c5bf9c | 56 | const char* fkAnalysisType; //ESD or AOD based analysis |
57 | TList *fOutput; // output file | |
e4dddba1 | 58 | |
c5c5bf9c | 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); | |
e4dddba1 | 64 | |
65 | ClassDef(AliAnalysisTaskMuonDistributions,1); | |
66 | }; | |
67 | ||
68 | #endif |