1 #include "AliFMDCorrDoubleHit.h"
7 //____________________________________________________________________
8 AliFMDCorrDoubleHit::AliFMDCorrDoubleHit()
11 fCorrections.SetOwner(kTRUE);
12 fCorrections.SetName("doubleHit");
14 //____________________________________________________________________
15 AliFMDCorrDoubleHit::AliFMDCorrDoubleHit(const AliFMDCorrDoubleHit& o)
17 fCorrections(o.fCorrections)
20 //____________________________________________________________________
21 AliFMDCorrDoubleHit::~AliFMDCorrDoubleHit()
25 //____________________________________________________________________
27 AliFMDCorrDoubleHit::operator=(const AliFMDCorrDoubleHit& o)
29 fCorrections = o.fCorrections;
33 //____________________________________________________________________
35 AliFMDCorrDoubleHit::GetCorrection(UShort_t d, Char_t r) const
37 Int_t idx = GetRingIndex(d, r);
38 if (idx < 0) return 0;
40 TObject* o = fCorrections.At(idx);
42 AliWarning(Form("No double hit correction found for FMD%d%c", d, r));
45 return static_cast<TH1D*>(o);
47 //____________________________________________________________________
49 AliFMDCorrDoubleHit::GetRingIndex(UShort_t d, Char_t r) const
53 case 2: return (r == 'I' || r == 'i' ? 1 : 2); break;
54 case 3: return (r == 'I' || r == 'i' ? 3 : 4); break;
56 AliWarning(Form("Index for FMD%d%c not found", d, r));
59 //____________________________________________________________________
61 AliFMDCorrDoubleHit::SetCorrection(UShort_t d, Char_t r, TH1D* h)
63 Int_t idx = GetRingIndex(d, r);
64 if (idx < 0) return kFALSE;
66 h->SetName(Form("FMD%d%c", d, r));
67 h->SetTitle(Form("Double hit correction for FMD%d%c", d,r));
69 h->SetYTitle("#sum_{i} N_{i,strips hit}(#eta)/"
70 "#sum_{i} N_{i,total hits}(#eta)");
71 // h->SetFillColor(Color(d,r));
72 h->SetFillStyle(3001);
76 fCorrections.AddAtAndExpand(h, idx);
79 //____________________________________________________________________
81 AliFMDCorrDoubleHit::Browse(TBrowser* b)
83 b->Add(&fCorrections);
85 //____________________________________________________________________
87 AliFMDCorrDoubleHit::Print(Option_t* option) const
89 std::cout << "Double hit correction" << std::endl;
90 fCorrections.Print(option);
93 //____________________________________________________________________