43 #include "TObjArray.h" 44 #include "TObjString.h" 45 #include "TIterator.h" 79 printf(
"AliTPCPreprocessorOnline's copy constructor called, NOT WORKING!!!\n");
96 if (
this == ¶m)
return (*
this);
99 std::cout <<
"AliTPCPreprocessorOnline's assignment operator called, NOT WORKING!!!" << std::endl;
109 printf(
"AliTPCPreprocessorOnline's destructor called. \n");
110 fMap->DeleteValues();
138 TString objName = obj->GetName();
141 if (TString(obj->ClassName()) ==
"AliTPCCalPad") {
144 TObject *listObj =
fMap->GetValue(calPad->GetName());
147 fMap->Add(
new TObjString(calPad->GetName()), calPad);
151 if (TString(listObj->ClassName()) !=
"AliTPCCalPad")
152 Error(
"AddComponent",
"Mismatch in internal list: '%s' is no AliTPCCalPad. \n", listObj->ClassName());
154 listCalPad->
Add(listCalPad, -1);
155 listCalPad->Add(calPad);
159 if (TString(obj->ClassName()) ==
"AliTPCCalROC") {
161 if (! objName.Contains(
"_ROC"))
162 Warning(
"AddComponent",
"Uncomplete object name: '%s' is missing _ROC<ROC_number>\n", objName.Data());
163 TObjArray *stokens = objName.Tokenize(
"_ROC");
164 TString rocNumber(
"");
165 if (stokens->GetEntriesFast()>1) rocNumber = ((TObjString*)stokens->At(1))->GetString();
168 if (rocNumber.IsAlnum()) iroc = rocNumber.Atoi();
171 TString removeString(
"_ROC");
172 removeString += rocNumber;
173 objName.ReplaceAll(removeString,
"");
176 TObject *listObj =
fMap->GetValue(objName.Data());
178 if (iroc == -1) iroc = calROC->
GetSector();
180 Warning(
"AddComponent",
"Mismatch in ROC_number: ROC has number %i, in its name %i was specified. Treating now as %i. \n", calROC->
GetSector(), iroc, iroc);
181 calROC->SetNameTitle(objName.Data(), objName.Data());
186 fMap->Add(
new TObjString(objName.Data()), calPad);
190 if (TString(listObj->ClassName()) !=
"AliTPCCalPad")
191 Error(
"AddComponent",
"Mismatch in internal list: '%s' is no AliTPCCalPad \n", listObj->ClassName());
199 Warning(
"AddComponent",
"Unknown calibration object '%s', skipped.\n", obj->ClassName());
213 printf(
"AliTPCPreprocessorOnline::DumpToFile\n");
215 TIterator *iterator =
fMap->MakeIterator();
220 while ( ( obj = iterator->Next()) ) {
222 if (!calPad)
continue;
224 printf(
"adding the following element to the TObjList: %s \n", calPad->GetName());
225 printf(
"It's type:: %s \n", calPad->ClassName());
227 listOfCalPads->Add(calPad);
229 printf(
"writing the tree... \n");
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
AliTPCPreprocessorOnline()
void SetCalROC(AliTPCCalROC *roc, Int_t sector=-1)
TString fileName(const char *dir, int runNumber, const char *da, int i, const char *type)
TPC calibration base class for one ROC.
static void MakeTree(const char *fileName, TObjArray *array, const char *mapFileName=0, AliTPCCalPad *const outlierPad=0, Float_t ltmFraction=0.9)
AliTPCPreprocessorOnline & operator=(const AliTPCPreprocessorOnline ¶m)
virtual void Print(Option_t *option="") const
void DumpToFile(const char *fileName)
Preprocessor class for HLT and DAQ.
TMap * fMap
Map of the AliTPCCalPads.
void AddComponent(TObject *obj)
virtual ~AliTPCPreprocessorOnline()