Removing warnings (Andrea)
[u/mrichter/AliRoot.git] / PWG3 / vertexingOld / AliBtoJPSItoEleAnalysis.h
CommitLineData
27e190fb 1#ifndef AliBtoJPSItoEleAnalysis_H
2#define AliBtoJPSItoEleAnalysis_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//-------------------------------------------------------------------------
7// Class AliBtoJPSItoEleAnalysis
8// Reconstruction and analysis B -> J/\psi + X
9// |_> e+ e-
10//
11// Origin: G.E Bruno giuseppe.bruno@ba.infn.it
12// based on Class for charm golden channel (D0->Kpi)
13//-------------------------------------------------------------------------
14
15#include <TString.h>
16#include <TNamed.h>
5e6f195c 17#include "AliESDEvent.h"
27e190fb 18#include "AliRun.h"
19
20//-----------------------------------------------------------------------------
21class AliBtoJPSItoEleAnalysis : public TNamed {
22 public:
23 //
24 AliBtoJPSItoEleAnalysis();
25 virtual ~AliBtoJPSItoEleAnalysis();
26
27 void ApplySelection(const Char_t *inName="AliBtoJPSItoEle.root",
28 const Char_t *outName="AliBtoJPSItoEle_sele.root") const;
29 void FindCandidates(Int_t evFirst=0,Int_t evLast=0,
30 const Char_t *outName="AliBtoJPSItoEle.root");
71d22fe8 31 void MakeTracksRefFile(AliRun *mygAlice,Int_t evFirst=0,Int_t evLast=0) const;
27e190fb 32 void PrintStatus() const;
33 void SetVertexOnTheFly() { fVertexOnTheFly=kTRUE; }
34 void SetSimulation() { fSim=kTRUE; }
35 void SetOnlySignal() { fOnlySignal=kTRUE; }
36 void SetOnlyPrimaryJpsi() { fOnlyPrimaryJpsi=kTRUE; }
37 void SetOnlySignalAndPrimaryJpsi() { fOnlySignal=kTRUE; fOnlyPrimaryJpsi=kTRUE; }
38 void SetPtCut(Double_t pt=0.) { fPtCut=pt; }
39 void Setd0Cut(Double_t d0=0.) { fd0Cut=d0; }
40 void SetPidCut(Double_t pid=0.) { fPidCut=pid; }
41 void SetMassCut(Double_t deltaM=1000.) { fMassCut=deltaM; }
42 void SetBCuts(Double_t cut0=1000.,Double_t cut1=100000.,
43 Double_t cut2=1.1,Double_t cut3=0.,Double_t cut4=0.,
44 Double_t cut5=100000.,Double_t cut6=100000.,
45 Double_t cut7=100000000.,Double_t cut8=-1.1);
46 void SetBCuts(const Double_t cuts[9]);
47 void SetPID(const Char_t * pid="TRDTPCparam") { fPID=pid; }
0ac6b6e8 48// void SetKFPrimVertex() { fKFPrimVertex=kTRUE; } //new setter
49 void SetKFSecondVertex() {fKFSecondVertex=kTRUE;} //new setter
50 void UnSetKFSecondVertex() {fKFSecondVertex=kFALSE;} //new setter
51// void SetKFTopConstr() { fKFTopConstr=kTRUE; } //new setter
27e190fb 52 //
53 private:
54 //
55 Bool_t fVertexOnTheFly; // flag for primary vertex reco on the fly
56 Bool_t fSim; // flag for the analysis of simulated events
57 Bool_t fOnlySignal; // write to file only signal candidates (for sim)
58 Bool_t fOnlyPrimaryJpsi;// write to file only primary Jpsi candidates (for sim)
59 TString fPID; // PID scheme
60
61 Double_t fV1[3]; // primary vertex position (in cm)
62 Double_t fPtCut; // minimum track pt (in GeV/c)
63 Double_t fd0Cut; // minimum track |rphi impact parameter| (in micron)
64 Double_t fMassCut; // maximum of |InvMass-M(J/Psi)| (in GeV)
65 Double_t fPidCut; // min. pid probability as an electron
0ac6b6e8 66 Bool_t fKFSecondVertex; // flag for Kalmann Filter reco of secondary vertex
67// Bool_t fKFTopConstr; // flag for Kalmann Filter topological constraint in primary vtx reco
68// Bool_t fKFPrimVertex; // flag for Kalmann Filter reco of primary vertex
27e190fb 69 Double_t fBCuts[9]; // cuts on b candidates (see SetBCuts())
70 // (to be passed to function AliBtoJPSItoEle::Select())
71 // 0 = inv. mass half width [GeV]
72 // 1 = dca [micron]
73 // 2 = cosThetaStar
74 // 3 = pTP [GeV/c] (positron)
75 // 4 = pTN [GeV/c] (electron)
76 // 5 = d0P [micron] upper limit!
77 // 6 = d0N [micron] upper limit!
78 // 7 = d0d0 [micron^2]
79 // 8 = cosThetaPoint
80
81 //
82 Double_t CalculateTOFmass(Double_t mom,Double_t length,Double_t time) const;
83 Bool_t SelectInvMass(const Double_t p[6]) const;
5e6f195c 84 void SelectTracks(AliESDEvent *event,
27e190fb 85 TObjArray &trksP,Int_t *trkEntryP,Int_t &nTrksP,
86 TObjArray &trksN,Int_t *trkEntryN,Int_t &nTrksN) const;
87 void SetVertex1(Double_t x=0.,Double_t y=0.,Double_t z=0.)
88 { fV1[0]=x;fV1[1]=y;fV1[2]=z; }
89 void SimulationInfo(TTree *treeBin,TTree *treeBout) const;
90 Bool_t SingleTrkCuts(const AliESDtrack& trk, Double_t b) const;
91 //
0ac6b6e8 92 ClassDef(AliBtoJPSItoEleAnalysis,2) // Reconstruction of B->JPSI-> e+e- candidates class
27e190fb 93};
94
95
96#endif
97
98