]>
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 | ||
7 | /* Analysis Task for Muon/Dimuon distributions */ | |
8 | ||
e4dddba1 | 9 | #include "AliAnalysisTaskSE.h" |
e4dddba1 | 10 | |
11 | class TH1D; | |
12 | class TParticle ; | |
13 | class TLorentzVector ; | |
14 | class TFile ; | |
15 | class AliStack ; | |
16 | class AliESDtrack; | |
17 | class AliVParticle; | |
18 | ||
19 | class 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 |