X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGDQ%2Fdielectron%2FAliDielectronVarManager.h;h=66dff99df9dd64435361f33e9b4835c01f66cc82;hb=27f3d3cc5b57b49f105bfe58f73cc52c889534e5;hp=e7886de771aa96aafe0526ae30ff9468a973322d;hpb=950294b01177a000a8ad532b8218f14a84772381;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGDQ/dielectron/AliDielectronVarManager.h b/PWGDQ/dielectron/AliDielectronVarManager.h index e7886de771a..66dff99df9d 100644 --- a/PWGDQ/dielectron/AliDielectronVarManager.h +++ b/PWGDQ/dielectron/AliDielectronVarManager.h @@ -441,7 +441,7 @@ public: static void InitAODpidUtil(Int_t type=0); static void InitEstimatorAvg(const Char_t* filename); static void InitTRDpidEffHistograms(const Char_t* filename); - static Bool_t InitEffMap(const Char_t* filename); + static void SetLegEffMap(THnBase *map) { fgEffMap=map; } static void SetVZEROCalibrationFile(const Char_t* filename) {fgVZEROCalibrationFile = filename;} static void SetVZERORecenteringFile(const Char_t* filename) {fgVZERORecenteringFile = filename;} @@ -1553,7 +1553,7 @@ inline void AliDielectronVarManager::FillVarDielectronPair(const AliDielectronPa Fill(leg1, valuesLeg1); Fill(leg2, valuesLeg2); values[AliDielectronVarManager::kPairEff] = valuesLeg1[AliDielectronVarManager::kLegEff] *valuesLeg2[AliDielectronVarManager::kLegEff]; - values[AliDielectronVarManager::kOneOverPairEff] = (values[AliDielectronVarManager::kPairEff]>0.0 ? 1./values[AliDielectronVarManager::kPairEff] : 0.0); + values[AliDielectronVarManager::kOneOverPairEff] = (values[AliDielectronVarManager::kPairEff]>0.0 ? 1./values[AliDielectronVarManager::kPairEff] : 1.0); } values[AliDielectronVarManager::kRndmPair] = gRandom->Rndm(); @@ -1843,7 +1843,7 @@ inline void AliDielectronVarManager::FillVarVEvent(const AliVEvent *event, Doubl values[AliDielectronVarManager::kv0C3rpH2]) ); Double_t ZDCqvec[3][2]; - memset(ZDCqvec, 0, sizeof(ZDCqvec)); + memset(ZDCqvec, 999, sizeof(ZDCqvec)); GetZDCRP(event, ZDCqvec); values[AliDielectronVarManager::kZDCArpH1] = TMath::ATan2(ZDCqvec[0][1], ZDCqvec[0][0]); @@ -2219,26 +2219,6 @@ inline void AliDielectronVarManager::InitTRDpidEffHistograms(const Char_t* filen } } -inline Bool_t AliDielectronVarManager::InitEffMap(const Char_t* filename) { - // - // init an efficiency object for on-the-fly correction calculations - // - fgEffMap=0x0; - TFile* file=TFile::Open(filename); - if(!file) return 0; - THnBase *hGen = (THnBase*) file->Get("hGenerated"); - THnBase *hFnd = (THnBase*) file->Get("hFound"); - if(!hFnd || !hGen) return 0; - - fgEffMap = (THnBase*) hFnd->Clone("effMap"); - fgEffMap->Reset(); - fgEffMap->Sumw2(); - fgEffMap->Divide(hFnd, hGen);//, 1, 1, ""); //assume uncorrelated err, otherwise give option "B" - printf("[I] AliDielectronVarManager::InitEffMap efficiency maps loaded! \n"); - return 1; - -} - inline Double_t AliDielectronVarManager::GetSingleLegEff(Double_t * const values) { // // get the single leg efficiency for a given particle @@ -2250,12 +2230,13 @@ inline Double_t AliDielectronVarManager::GetSingleLegEff(Double_t * const values for(Int_t idim=0; idimGetAxis(idim)->GetName()); idx[idim] = fgEffMap->GetAxis(idim)->FindBin(values[var]); - /* if(idx[idim] < 0 || idx[idim]>fgEffMap->GetAxis(idim)->GetNbins()) */ + if(idx[idim] < 0 || idx[idim]>fgEffMap->GetAxis(idim)->GetNbins()) return 0.0; /* printf(" [E] AliDielectronVarManager::GetSingleLegEff values %f for %s not found in axis range \n",values[var],fgEffMap->GetAxis(idim)->GetName()); */ // printf(" (%d,%f,%s) \t",idx[idim],values[var],fgEffMap->GetAxis(idim)->GetName()); } // printf(" bin content %f+-%f \n",fgEffMap->GetBinContent(idx), fgEffMap->GetBinError(idx)); - if(fgEffMap->GetBinContent(idx)<0.01 || fgEffMap->GetBinError(idx)/fgEffMap->GetBinContent(idx)>0.2) return 0.0; + // if(fgEffMap->GetBinContent(idx)<0.01) return 0.0; + // if(fgEffMap->GetBinError(idx)/fgEffMap->GetBinContent(idx)>0.2) return 0.0; return (fgEffMap->GetBinContent(idx)); } @@ -2327,7 +2308,7 @@ inline void AliDielectronVarManager::InitZDCRecenteringHistograms(Int_t runNo) { TFile file(fgZDCRecenteringFile.Data()); if (!file.IsOpen()) return; - cout << fgZDCRecenteringFile << endl; + fgZDCRecentering[0][0] = (TProfile3D*)file.Get(Form("RUN%06d_QxA_Recent", runNo)); fgZDCRecentering[0][1] = (TProfile3D*)file.Get(Form("RUN%06d_QyA_Recent", runNo)); fgZDCRecentering[1][0] = (TProfile3D*)file.Get(Form("RUN%06d_QxC_Recent", runNo)); @@ -2579,6 +2560,7 @@ inline void AliDielectronVarManager::GetZDCRP(const AliVEvent* event, Double_t q { 20, 0.04, 0.08}, // vertex x nbin, min, max { 20, 0.25, 0.29} }; // vertex y nbin, min, max + if(!event->GetZDCData()) return; AliVZDC* aliZDC = event->GetZDCData(); ZDCTEnergy[Aside] = (Double_t *)aliZDC -> GetZNATowerEnergy(); ZDCTEnergy[Cside] = (Double_t *)aliZDC -> GetZNCTowerEnergy();