]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - CORRFW/AliCFDataGrid.cxx
disable calib for MC
[u/mrichter/AliRoot.git] / CORRFW / AliCFDataGrid.cxx
... / ...
CommitLineData
1/* $Id$ */
2/**************************************************************************
3 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * *
5 * Author: The ALICE Off-line Project. *
6 * Contributors are mentioned in the code where appropriate. *
7 * *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
16//--------------------------------------------------------------------//
17// //
18// AliCFDataGrid Class //
19// Class to handle observed data and correct them //
20// //
21// -- Author : S.Arcelli //
22// //
23// substantially modified by r. vernet //
24// //
25//--------------------------------------------------------------------//
26//
27//
28#include "TMath.h"
29#include "AliLog.h"
30#include "AliCFDataGrid.h"
31
32//____________________________________________________________________
33ClassImp(AliCFDataGrid)
34
35//____________________________________________________________________
36AliCFDataGrid::AliCFDataGrid() :
37 AliCFGridSparse(),
38 fSelData(-1),
39 fContainer(0x0)
40{
41 //
42 // default constructor
43 //
44}
45
46//____________________________________________________________________
47AliCFDataGrid::AliCFDataGrid(const Char_t* name, const Char_t* title, const Int_t nVarIn, const Int_t * nBinIn) :
48 AliCFGridSparse(name,title,nVarIn,nBinIn),
49 fSelData(-1),
50 fContainer(0x0)
51{
52 //
53 // main constructor
54 //
55 SumW2();// errors saved
56}
57
58//____________________________________________________________________
59AliCFDataGrid::AliCFDataGrid(const Char_t* name, const Char_t* title, const AliCFContainer &c, Int_t step) :
60 AliCFGridSparse(name,title),
61 fSelData(step),
62 fContainer(&c)
63{
64 //
65 // main constructor
66 // assign directly the selection step
67 //
68
69 //simply clones the container's data at specified step
70 fData = (THnSparse*) fContainer->GetGrid(fSelData)->GetGrid()->Clone();
71 SumW2();
72 AliInfo(Form("retrieving measured data from Container %s at selection step %i.",fContainer->GetName(),fSelData));
73}
74
75//____________________________________________________________________
76AliCFDataGrid::AliCFDataGrid(const AliCFDataGrid& data) :
77 AliCFGridSparse(data),
78 fSelData(-1),
79 fContainer(0x0)
80{
81 //
82 // copy constructor
83 //
84 ((AliCFDataGrid &)data).Copy(*this);
85}
86
87//____________________________________________________________________
88AliCFDataGrid::~AliCFDataGrid()
89{
90 //
91 // destructor
92 //
93}
94
95//____________________________________________________________________
96AliCFDataGrid &AliCFDataGrid::operator=(const AliCFDataGrid &c)
97{
98 //
99 // assigment operator
100 //
101 if (this != &c) c.Copy(*this);
102 return *this;
103}
104
105//____________________________________________________________________
106void AliCFDataGrid::ApplyEffCorrection(const AliCFEffGrid &c)
107{
108
109 //
110 // Apply the efficiency correction
111 //
112 if (c.GetNVar()!=GetNVar()) {
113 AliInfo("Different number of variables, cannot apply correction");
114 return;
115 }
116 Divide(&c);
117 AliInfo(Form("correction applied on data grid %s with efficiency %s.",GetName(),c.GetName()));
118}
119//____________________________________________________________________
120void AliCFDataGrid::ApplyBGCorrection(const AliCFDataGrid &c)
121{
122
123 //
124 // Apply correction for background
125 //
126 if (c.GetNVar()!=GetNVar()) {
127 AliInfo("Different number of variables, cannot apply correction");
128 return;
129 }
130 Add(&c,-1);
131 AliInfo(Form("background %s subtracted from data %s.",c.GetName(),GetName()));
132}
133
134//____________________________________________________________________
135void AliCFDataGrid::Copy(TObject& c) const
136{
137 // copy function
138 Copy(c);
139 AliCFDataGrid& target = (AliCFDataGrid &) c;
140 target.fContainer=fContainer;
141 target.fSelData=fSelData;
142}