]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIJETBKG_H | |
2 | #define ALIJETBKG_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | /* $Id$ */ | |
8 | ||
9 | //-------------------------------------------------- | |
10 | // Method implementation for background studies and background subtraction with UA1 algorithms | |
11 | // | |
12 | // Author: magali.estienne@subatech.in2p3.fr | |
13 | //------------------------------------------------- | |
14 | ||
15 | class TH1F; | |
16 | class TH2F; | |
17 | class TList; | |
18 | class AliAODJetEventBackground; | |
19 | ||
20 | class AliJetBkg : public TObject | |
21 | { | |
22 | public: | |
23 | AliJetBkg(); | |
24 | AliJetBkg(const AliJetBkg &input); | |
25 | ~AliJetBkg(); | |
26 | AliJetBkg& operator=(const AliJetBkg& source); | |
27 | void SetHeader(AliJetHeader *header) {fHeader=header;} | |
28 | void SetCalTrkEvent(AliJetCalTrkEvent *evt) {fEvent=evt;} | |
29 | Bool_t PtCutPass(Int_t id, Int_t nTracks); | |
30 | Bool_t SignalCutPass(Int_t id, Int_t nTracks); | |
31 | Float_t CalcJetAreaEtaCut(Float_t radius, const Float_t etaJet); | |
32 | void CalcJetAndBckgAreaEtaCut(Bool_t calcOutsideArea, Float_t rc, const Int_t nJ, const Float_t* etaJet, Float_t* &areaJet, Float_t &areaOut); | |
33 | ||
34 | void SubtractBackg(const Int_t& nIn, const Int_t&nJ, Float_t&EtbgTotalN, Float_t&sigmaN, | |
35 | const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, | |
36 | Float_t* etJet, const Float_t* etaJet, const Float_t* phiJet, | |
37 | Float_t* etsigJet, Int_t* multJetT, Int_t* multJetC, Int_t* multJet, | |
38 | Int_t* injet, Float_t* &areaJet); | |
39 | ||
40 | void SubtractBackgCone(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN, Float_t&sigmaN, | |
41 | const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet, | |
42 | const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet, | |
43 | Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &/*areaJet*/); | |
44 | ||
45 | void SubtractBackgRatio(const Int_t& nIn, const Int_t&nJ,Float_t& EtbgTotalN, Float_t&sigmaN, | |
46 | const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet, | |
47 | const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet, | |
48 | Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &/*areaJet*/); | |
49 | ||
50 | void SubtractBackgStat(const Int_t& nIn, const Int_t&nJ,Float_t&EtbgTotalN, Float_t&sigmaN, | |
51 | const Float_t* ptT, const Float_t* etaT, const Float_t* phiT, Float_t* etJet, | |
52 | const Float_t* etaJet, const Float_t* phiJet, Float_t* etsigJet, | |
53 | Int_t* multJetT, Int_t* multJetC, Int_t* multJet, Int_t* injet, Float_t* &areaJet); | |
54 | void SetDebug(Int_t debug){fDebug = debug;} | |
55 | ||
56 | enum {kMaxJets = 60}; | |
57 | ||
58 | private: | |
59 | // Double_t CalcRho(vector<fastjet::PseudoJet> input_particles,Double_t RparamBkg,TString method); | |
60 | ||
61 | AliJetCalTrkEvent* fEvent; //! reader | |
62 | AliJetHeader* fHeader; //! header | |
63 | Int_t fDebug; // Debug option | |
64 | ||
65 | // temporary histos for background, reset for each event, no need to stream | |
66 | TH1F* fhEtJet[kMaxJets]; //! histogram for background subtraction | |
67 | TH1F* fhAreaJet[kMaxJets]; //! histogram for background subtraction (store global not to create it with every event | |
68 | TH1F* fhEtBackg; //! histogram for background subtraction | |
69 | TH1F* fhAreaBackg; //! histogram for background subtraction | |
70 | ||
71 | ClassDef(AliJetBkg, 2) // background jet analysis | |
72 | ||
73 | }; | |
74 | ||
75 | #endif |