#ifndef ALIANALYSISTASKDIMUONCFCONTAINERBUILDER_H
#define ALIANALYSISTASKDIMUONCFCONTAINERBUILDER_H
#include "AliAnalysisTaskSE.h"
#include "TString.h"
class AliCFContainer;
class AliCFManager;
class AliAnalysisTaskDimuonCFContainerBuilder : public AliAnalysisTaskSE {
public:
AliAnalysisTaskDimuonCFContainerBuilder();
AliAnalysisTaskDimuonCFContainerBuilder(const Char_t* name, Bool_t readaod, Bool_t readMC, Bool_t isaccept, Double_t beamEn);
AliAnalysisTaskDimuonCFContainerBuilder& operator= (const AliAnalysisTaskDimuonCFContainerBuilder& c);
AliAnalysisTaskDimuonCFContainerBuilder(const AliAnalysisTaskDimuonCFContainerBuilder& c);
virtual ~AliAnalysisTaskDimuonCFContainerBuilder();
void UserExec(Option_t *option);
void Terminate(Option_t *);
void UserCreateOutputObjects();
void SetCFManager(AliCFManager* const io) {fCFManager = io;}
AliCFManager * GetCFManager() const {return fCFManager;}
void SetQAList(TList* const list) {fQAHistList = list;}
Bool_t IsReadAODData () const {return fReadAODData;}
void SetReadAODData (Bool_t flag=kTRUE) {fReadAODData=flag;}
void SetReadMCinfo (Bool_t flag=kTRUE) {fReadMCInfo=flag;}
void SetIsAccProd (Bool_t flag=kTRUE) {fIsAccProduction=flag;}
void SetBeamEnergy (Double_t en) {fBeamEnergy=en;}
void SetChi2Limits (Double_t chi2track[]) {fChi2Track[0]=chi2track[0];fChi2Track[1]=chi2track[1];}
void SetChi2MatchLimits (Double_t chi2match[]) {fChi2MatchTrig[0]=chi2match[0];fChi2MatchTrig[1]=chi2match[1];}
void SetPtSingMuLimits (Double_t PtSingle[]) {fPtSingMuCut[0]=PtSingle[0];fPtSingMuCut[1]=PtSingle[1];}
void SetThetaSingMuLimits (Double_t ThetaSingle[]) {fThetaSingMuCut[0]=ThetaSingle[0];fThetaSingMuCut[1]=ThetaSingle[1];}
void SetZprimVertLimits (Double_t Zprimvtx[]) {fzPrimVertexSPD[0]=Zprimvtx[0];fzPrimVertexSPD[1]=Zprimvtx[1];}
void SetCutonZvtxSPD (Bool_t cut=kFALSE) {fCutOnzVtxSPD=cut;}
void SetNContributorsLimits (Int_t NContr[]) {fNContributors[0]=NContr[0];fNContributors[1]=NContr[1];}
void SetCutonNContributors (Bool_t cut=kFALSE) {fCutOnNContributors=cut;}
void SetDistinguishTrigClass(Bool_t dist=kFALSE) {fDistinguishTrigClass=dist;}
void SetTrigClassMuonName (TString name = "CMU") {fTrigClassMuon=name;}
void SetTrigClassInteracName(TString name = "CINT") {fTrigClassInteraction=name;}
void SetTrigClassMuonSideName(TString name[4]) {for(Int_t i=0;i<4;i++) fTrigClassMuonSide[i]=name[i];}
void SetTrigClassInteracSideName(TString name[4]) {for(Int_t i=0;i<4;i++) fTrigClassInteractionSide[i]=name[i];}
protected:
Bool_t fReadAODData ;
Bool_t fReadMCInfo ;
Bool_t fIsAccProduction ;
AliCFManager *fCFManager ;
TList *fQAHistList ;
Double_t fNevt ;
Double_t fBeamEnergy ;
TList *fOutput ;
Double_t fChi2Track[2] ;
Double_t fChi2MatchTrig[2] ;
Double_t fPtSingMuCut[2] ;
Double_t fThetaSingMuCut[2] ;
Double_t fzPrimVertexSPD[2] ;
Bool_t fCutOnzVtxSPD ;
Int_t fNContributors[2] ;
Bool_t fCutOnNContributors ;
TString fTrigClassMuon ;
TString fTrigClassInteraction ;
TString fTrigClassMuonSide[4] ;
TString fTrigClassInteractionSide[4];
Bool_t fDistinguishTrigClass ;
Double_t Imass (Double_t e1, Double_t px1, Double_t py1, Double_t pz1, Double_t e2, Double_t px2, Double_t py2, Double_t pz2) const;
Double_t Rap (Double_t e, Double_t pz) const;
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);
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);
Double_t PhiCS (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);
Double_t PhiHE (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);
ClassDef(AliAnalysisTaskDimuonCFContainerBuilder,1);
};
#endif
AliAnalysisTaskDimuonCFContainerBuilder.h:1 AliAnalysisTaskDimuonCFContainerBuilder.h:2 AliAnalysisTaskDimuonCFContainerBuilder.h:3 AliAnalysisTaskDimuonCFContainerBuilder.h:4 AliAnalysisTaskDimuonCFContainerBuilder.h:5 AliAnalysisTaskDimuonCFContainerBuilder.h:6 AliAnalysisTaskDimuonCFContainerBuilder.h:7 AliAnalysisTaskDimuonCFContainerBuilder.h:8 AliAnalysisTaskDimuonCFContainerBuilder.h:9 AliAnalysisTaskDimuonCFContainerBuilder.h:10 AliAnalysisTaskDimuonCFContainerBuilder.h:11 AliAnalysisTaskDimuonCFContainerBuilder.h:12 AliAnalysisTaskDimuonCFContainerBuilder.h:13 AliAnalysisTaskDimuonCFContainerBuilder.h:14 AliAnalysisTaskDimuonCFContainerBuilder.h:15 AliAnalysisTaskDimuonCFContainerBuilder.h:16 AliAnalysisTaskDimuonCFContainerBuilder.h:17 AliAnalysisTaskDimuonCFContainerBuilder.h:18 AliAnalysisTaskDimuonCFContainerBuilder.h:19 AliAnalysisTaskDimuonCFContainerBuilder.h:20 AliAnalysisTaskDimuonCFContainerBuilder.h:21 AliAnalysisTaskDimuonCFContainerBuilder.h:22 AliAnalysisTaskDimuonCFContainerBuilder.h:23 AliAnalysisTaskDimuonCFContainerBuilder.h:24 AliAnalysisTaskDimuonCFContainerBuilder.h:25 AliAnalysisTaskDimuonCFContainerBuilder.h:26 AliAnalysisTaskDimuonCFContainerBuilder.h:27 AliAnalysisTaskDimuonCFContainerBuilder.h:28 AliAnalysisTaskDimuonCFContainerBuilder.h:29 AliAnalysisTaskDimuonCFContainerBuilder.h:30 AliAnalysisTaskDimuonCFContainerBuilder.h:31 AliAnalysisTaskDimuonCFContainerBuilder.h:32 AliAnalysisTaskDimuonCFContainerBuilder.h:33 AliAnalysisTaskDimuonCFContainerBuilder.h:34 AliAnalysisTaskDimuonCFContainerBuilder.h:35 AliAnalysisTaskDimuonCFContainerBuilder.h:36 AliAnalysisTaskDimuonCFContainerBuilder.h:37 AliAnalysisTaskDimuonCFContainerBuilder.h:38 AliAnalysisTaskDimuonCFContainerBuilder.h:39 AliAnalysisTaskDimuonCFContainerBuilder.h:40 AliAnalysisTaskDimuonCFContainerBuilder.h:41 AliAnalysisTaskDimuonCFContainerBuilder.h:42 AliAnalysisTaskDimuonCFContainerBuilder.h:43 AliAnalysisTaskDimuonCFContainerBuilder.h:44 AliAnalysisTaskDimuonCFContainerBuilder.h:45 AliAnalysisTaskDimuonCFContainerBuilder.h:46 AliAnalysisTaskDimuonCFContainerBuilder.h:47 AliAnalysisTaskDimuonCFContainerBuilder.h:48 AliAnalysisTaskDimuonCFContainerBuilder.h:49 AliAnalysisTaskDimuonCFContainerBuilder.h:50 AliAnalysisTaskDimuonCFContainerBuilder.h:51 AliAnalysisTaskDimuonCFContainerBuilder.h:52 AliAnalysisTaskDimuonCFContainerBuilder.h:53 AliAnalysisTaskDimuonCFContainerBuilder.h:54 AliAnalysisTaskDimuonCFContainerBuilder.h:55 AliAnalysisTaskDimuonCFContainerBuilder.h:56 AliAnalysisTaskDimuonCFContainerBuilder.h:57 AliAnalysisTaskDimuonCFContainerBuilder.h:58 AliAnalysisTaskDimuonCFContainerBuilder.h:59 AliAnalysisTaskDimuonCFContainerBuilder.h:60 AliAnalysisTaskDimuonCFContainerBuilder.h:61 AliAnalysisTaskDimuonCFContainerBuilder.h:62 AliAnalysisTaskDimuonCFContainerBuilder.h:63 AliAnalysisTaskDimuonCFContainerBuilder.h:64 AliAnalysisTaskDimuonCFContainerBuilder.h:65 AliAnalysisTaskDimuonCFContainerBuilder.h:66 AliAnalysisTaskDimuonCFContainerBuilder.h:67 AliAnalysisTaskDimuonCFContainerBuilder.h:68 AliAnalysisTaskDimuonCFContainerBuilder.h:69 AliAnalysisTaskDimuonCFContainerBuilder.h:70 AliAnalysisTaskDimuonCFContainerBuilder.h:71 AliAnalysisTaskDimuonCFContainerBuilder.h:72 AliAnalysisTaskDimuonCFContainerBuilder.h:73 AliAnalysisTaskDimuonCFContainerBuilder.h:74 AliAnalysisTaskDimuonCFContainerBuilder.h:75 AliAnalysisTaskDimuonCFContainerBuilder.h:76 AliAnalysisTaskDimuonCFContainerBuilder.h:77 AliAnalysisTaskDimuonCFContainerBuilder.h:78 AliAnalysisTaskDimuonCFContainerBuilder.h:79 AliAnalysisTaskDimuonCFContainerBuilder.h:80 AliAnalysisTaskDimuonCFContainerBuilder.h:81 AliAnalysisTaskDimuonCFContainerBuilder.h:82 AliAnalysisTaskDimuonCFContainerBuilder.h:83 AliAnalysisTaskDimuonCFContainerBuilder.h:84 AliAnalysisTaskDimuonCFContainerBuilder.h:85 AliAnalysisTaskDimuonCFContainerBuilder.h:86 AliAnalysisTaskDimuonCFContainerBuilder.h:87 AliAnalysisTaskDimuonCFContainerBuilder.h:88 AliAnalysisTaskDimuonCFContainerBuilder.h:89 AliAnalysisTaskDimuonCFContainerBuilder.h:90 AliAnalysisTaskDimuonCFContainerBuilder.h:91 AliAnalysisTaskDimuonCFContainerBuilder.h:92 AliAnalysisTaskDimuonCFContainerBuilder.h:93 AliAnalysisTaskDimuonCFContainerBuilder.h:94 AliAnalysisTaskDimuonCFContainerBuilder.h:95 AliAnalysisTaskDimuonCFContainerBuilder.h:96 AliAnalysisTaskDimuonCFContainerBuilder.h:97 AliAnalysisTaskDimuonCFContainerBuilder.h:98