X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONPainterDataSourceFrame.cxx;h=d4495e7a6c73264df76bd9464aac352f4cf24572;hb=8ccff992ff8b53d4087ab8242426be447e99cf10;hp=946ca673d8b95728506f55b6402b9316e38054e3;hpb=a679753ed66ef4ff8428ca5fe2faaaa117a00065;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONPainterDataSourceFrame.cxx b/MUON/AliMUONPainterDataSourceFrame.cxx index 946ca673d8b..d4495e7a6c7 100644 --- a/MUON/AliMUONPainterDataSourceFrame.cxx +++ b/MUON/AliMUONPainterDataSourceFrame.cxx @@ -19,6 +19,8 @@ #include "AliMUONPainterDataSourceFrame.h" #include "AliLog.h" +#include "AliCDBEntry.h" +#include "AliCDBManager.h" #include "AliMUONChamberPainter.h" #include "AliMUONMchViewApplication.h" #include "AliMUONPainterDataRegistry.h" @@ -68,6 +70,7 @@ AliMUONPainterDataSourceFrame::AliMUONPainterDataSourceFrame(const TGWindow* p, fRawSelector2(new TGCompositeFrame(fRawSelector,w,h,kVerticalFrame)), fRawSelector21(new TGCompositeFrame(fRawSelector2,w,h,kHorizontalFrame)), fRawSelector22(new TGCompositeFrame(fRawSelector2,w,h,kHorizontalFrame)), + fRawSelector24(new TGCompositeFrame(fRawSelector2,w,h,kHorizontalFrame)), fRawSelector23(new TGCompositeFrame(fRawSelector2,w,h,kHorizontalFrame)), fCalibrateNoGain(new TGCheckButton(fRawSelector22,"Ped sub")), fCalibrateGainConstantCapa(new TGCheckButton(fRawSelector22,"Ped sub+gain (capa cste)")), @@ -79,11 +82,11 @@ AliMUONPainterDataSourceFrame::AliMUONPainterDataSourceFrame(const TGWindow* p, fEventRangeButton(new TGCheckButton(fRawSelector23,"Event range")), fEventMin(new TGNumberEntry(fRawSelector23,-1,10)), fEventMax(new TGNumberEntry(fRawSelector23,-1,10)), - fRawOCDBPath(new TGTextEntry(fRawSelector22,"")), + fRawOCDBPath(new TGTextEntry(fRawSelector24,"alien://folder=/alice/data/2013/OCDB")), fOCDBSelector(new TGGroupFrame(this,"OCDB Path",kHorizontalFrame)), fDataReaders(new TGGroupFrame(this,"Data sources")), fFilePath(new TGTextEntry(fRawSelector21,"")), - fOCDBPath(new TGTextEntry(fOCDBSelector,"alien://folder=/alice/data/2010/OCDB")), + fOCDBPath(new TGTextEntry(fOCDBSelector,"alien://folder=/alice/data/2013/OCDB")), fRunSelector(new TGNumberEntry(fOCDBSelector,0,10)), fOCDBTypes(new TGComboBox(fOCDBSelector)), fRecentSources(new TGComboBox(fRecentSourceSelector)), @@ -138,6 +141,7 @@ AliMUONPainterDataSourceFrame::AliMUONPainterDataSourceFrame(const TGWindow* p, fRawSelector2->AddFrame(fRawSelector21, new TGLayoutHints(kLHintsExpandX,5,5,5,5)); fRawSelector2->AddFrame(fRawSelector22, new TGLayoutHints(kLHintsExpandX,5,5,5,5)); + fRawSelector2->AddFrame(fRawSelector24, new TGLayoutHints(kLHintsTop,5,5,5,5)); fRawSelector2->AddFrame(fRawSelector23, new TGLayoutHints(kLHintsExpandX,5,5,5,5)); fRawSelector21->AddFrame(openButton,new TGLayoutHints(kLHintsTop,5,5,5,5)); @@ -147,7 +151,8 @@ AliMUONPainterDataSourceFrame::AliMUONPainterDataSourceFrame(const TGWindow* p, fRawSelector22->AddFrame(fCalibrateGainConstantCapa, new TGLayoutHints(kLHintsTop,5,5,5,5)); fRawSelector22->AddFrame(fCalibrateGain, new TGLayoutHints(kLHintsTop,5,5,5,5)); fRawSelector22->AddFrame(fCalibrateEmelecGain, new TGLayoutHints(kLHintsTop,5,5,5,5)); - fRawSelector22->AddFrame(fRawOCDBPath, new TGLayoutHints(kLHintsExpandX | kLHintsTop,5,5,5,5)); + + fRawSelector24->AddFrame(fRawOCDBPath, new TGLayoutHints(kLHintsExpandX | kLHintsTop,5,5,5,5)); fRawOCDBPath->SetEnabled(kFALSE); fRawSelector23->AddFrame(fHistogramButton,new TGLayoutHints(kLHintsTop,5,5,5,5)); @@ -199,6 +204,7 @@ AliMUONPainterDataSourceFrame::AliMUONPainterDataSourceFrame(const TGWindow* p, fOCDBTypes->AddEntry("StatusMap",5); fOCDBTypes->AddEntry("Status",6); fOCDBTypes->AddEntry("Capacitances",2); + fOCDBTypes->AddEntry("RejectList",8); fOCDBTypes->Select(0); fOCDBTypes->Resize(80,20); @@ -683,6 +689,8 @@ AliMUONPainterDataSourceFrame::CreateRawDataSource(const TString& uri) emax = static_cast(a->At(7))->String(); } + delete a; + AliRawReader* rawReader = 0x0; if ( filename.Contains(TRegexp("^alien")) ) @@ -704,14 +712,20 @@ AliMUONPainterDataSourceFrame::CreateRawDataSource(const TString& uri) } /// Basic test to see if the file is correct + /// and to get run numbre + Int_t runNumber(-1); Bool_t ok = rawReader->NextEvent(); if (!ok) { - AliError(Form("File %s does not seem to be a raw data file",filename.Data())); + AliError(Form("File %s does not seem to be a raw data file",filename.Data())); fFilePath->SetText(""); return kFALSE; } - + else + { + runNumber = rawReader->GetRunNumber(); + } + rawReader->RewindEvents(); AliMUONVTrackerDataMaker* reader(0x0); @@ -721,9 +735,27 @@ AliMUONPainterDataSourceFrame::CreateRawDataSource(const TString& uri) if ( ocdbPath.Length() > 0 ) { - AliMUONRecoParam* recoParam = AliMUONRecoParam::GetCosmicParam(); + + AliMUONRecoParam* recoParam(0x0); - // FIXME: where to get the reco params from in reality ? + AliCDBEntry* e = AliCDBManager::Instance()->Get("MUON/Calib/RecoParam",runNumber); + if (e) + { + TObject* o = e->GetObject(); + if ( o->IsA() == TObjArray::Class() ) + { + TIter next(static_cast(o)); + AliMUONRecoParam* p; + while ( ( p = static_cast(next()) )) + { + if ( p->IsDefault()) recoParam = p; + } + } + else + { + recoParam = static_cast(o); + } + } reader = new AliMUONTrackerDataMaker(recoParam, rawReader, @@ -790,7 +822,7 @@ AliMUONPainterDataSourceFrame::DataMakerWasRegistered(AliMUONVTrackerDataMaker* //_____________________________________________________________________________ void -AliMUONPainterDataSourceFrame::DataMakerWasUnregistered(AliMUONVTrackerDataMaker* maker) +AliMUONPainterDataSourceFrame::DataMakerWasUnregistered(const AliMUONVTrackerDataMaker* maker) { /// Update ourselves as a data reader was deleted