]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGDQ/dielectron/AliDielectronVarManager.h
including switch to set on/off iso-track core removal, cleaning and bug fix
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronVarManager.h
index 7f5f45a3e66b654d1315bd76d3e0f3ad6d165b9a..bbbd1a9333be8805656081abb0d48ae73176ed07 100644 (file)
@@ -1567,10 +1567,10 @@ inline void AliDielectronVarManager::FillVarDielectronPair(const AliDielectronPa
     values[AliDielectronVarManager::kPseudoProperTimeResolution] = -1e10;
     // values[AliDielectronVarManager::kPseudoProperTimePull] = -1e10;
     if(samemother && fgEvent) {
-      if(pair->GetFirstDaughter()->GetLabel() > 0) {
+      if(pair->GetFirstDaughterP()->GetLabel() > 0) {
         const AliVParticle *motherMC = 0x0;
-        if(fgEvent->IsA() == AliESDEvent::Class())  motherMC = (AliMCParticle*)mc->GetMCTrackMother((AliESDtrack*)pair->GetFirstDaughter());
-        else if(fgEvent->IsA() == AliAODEvent::Class())  motherMC = (AliAODMCParticle*)mc->GetMCTrackMother((AliAODTrack*)pair->GetFirstDaughter());
+        if(fgEvent->IsA() == AliESDEvent::Class())  motherMC = (AliMCParticle*)mc->GetMCTrackMother((AliESDtrack*)pair->GetFirstDaughterP());
+        else if(fgEvent->IsA() == AliAODEvent::Class())  motherMC = (AliAODMCParticle*)mc->GetMCTrackMother((AliAODTrack*)pair->GetFirstDaughterP());
         Double_t vtxX, vtxY, vtxZ;
        if(motherMC && mc->GetPrimaryVertex(vtxX,vtxY,vtxZ)) {
          Int_t motherLbl = motherMC->GetLabel();
@@ -1589,8 +1589,8 @@ inline void AliDielectronVarManager::FillVarDielectronPair(const AliDielectronPa
        if (fgTRDpidEff[0][0]){
          Double_t valuesLeg1[AliDielectronVarManager::kNMaxValues];
          Double_t valuesLeg2[AliDielectronVarManager::kNMaxValues];
-         AliVParticle* leg1 = pair->GetFirstDaughter();
-         AliVParticle* leg2 = pair->GetSecondDaughter();
+         AliVParticle* leg1 = pair->GetFirstDaughterP();
+         AliVParticle* leg2 = pair->GetSecondDaughterP();
          if (leg1 && leg2){
                Fill(leg1, valuesLeg1);
                Fill(leg2, valuesLeg2);
@@ -1601,8 +1601,8 @@ inline void AliDielectronVarManager::FillVarDielectronPair(const AliDielectronPa
 
   }//if (mc->HasMC())
 
-  AliVParticle* leg1 = pair->GetFirstDaughter();
-  AliVParticle* leg2 = pair->GetSecondDaughter();
+  AliVParticle* leg1 = pair->GetFirstDaughterP();
+  AliVParticle* leg2 = pair->GetSecondDaughterP();
   if (leg1)
     values[AliDielectronVarManager::kMomAsymDau1] = (values[AliDielectronVarManager::kP] != 0)? leg1->P()  / values[AliDielectronVarManager::kP]: 0;
   else 
@@ -1905,14 +1905,20 @@ inline void AliDielectronVarManager::FillVarVEvent(const AliVEvent *event, Doubl
   values[AliDielectronVarManager::kv0C0v0C3DiffH2] = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0C0rpH2] - 
                                                                     values[AliDielectronVarManager::kv0C3rpH2]) ); 
 
-  Double_t ZDCqvec[3][2];
-  memset(ZDCqvec, 255, sizeof(ZDCqvec));
+  Double_t ZDCqvec[3][2] = {{999., 999.}, {999., 999.}, {999., 999.} };
   GetZDCRP(event, ZDCqvec);
 
   values[AliDielectronVarManager::kZDCArpH1] = TMath::ATan2(ZDCqvec[0][1], ZDCqvec[0][0]);
   values[AliDielectronVarManager::kZDCCrpH1] = TMath::ATan2(ZDCqvec[1][1], ZDCqvec[1][0]);
   values[AliDielectronVarManager::kZDCACrpH1] = TMath::ATan2(ZDCqvec[2][1], ZDCqvec[2][0]);
 
+  if(TMath::Abs(ZDCqvec[0][0] - 999.) < 1e-10 || TMath::Abs(ZDCqvec[0][1] - 999.) < 1e-10 || TMath::Abs(ZDCqvec[1][0] - 999.) < 1e-10 || TMath::Abs(ZDCqvec[1][1] - 999.) < 1e-10){
+    values[AliDielectronVarManager::kZDCArpH1] = 999;
+    values[AliDielectronVarManager::kZDCCrpH1] = 999;
+    values[AliDielectronVarManager::kZDCACrpH1] = 999;
+  }
+
+
 
   values[AliDielectronVarManager::kv0ZDCrpRes] = cos(2*(values[AliDielectronVarManager::kZDCArpH1] - values[AliDielectronVarManager::kv0ArpH2]));
   values[AliDielectronVarManager::kZDCrpResH1] = cos(values[AliDielectronVarManager::kZDCArpH1] - values[AliDielectronVarManager::kZDCCrpH1]);
@@ -2404,15 +2410,16 @@ inline void AliDielectronVarManager::InitZDCRecenteringHistograms(Int_t runNo) {
         fgZDCRecentering[i][j] = 0x0;
       }
 
-  TFile file(fgZDCRecenteringFile.Data());
-  if (!file.IsOpen()) return;
+  TFile* file=TFile::Open(fgZDCRecenteringFile.Data());
+  if(!file) return;
+
 
-  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));
-  fgZDCRecentering[1][1] = (TProfile3D*)file.Get(Form("RUN%06d_QyC_Recent", runNo));
-  fgZDCRecentering[2][0] = (TProfile3D*)file.Get(Form("RUN%06d_QxAC_Recent", runNo));
-  fgZDCRecentering[2][1] = (TProfile3D*)file.Get(Form("RUN%06d_QyAC_Recent", runNo));
+  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));
+  fgZDCRecentering[1][1] = (TProfile3D*)file->Get(Form("RUN%06d_QyC_Recent", runNo));
+  fgZDCRecentering[2][0] = (TProfile3D*)file->Get(Form("RUN%06d_QxAC_Recent", runNo));
+  fgZDCRecentering[2][1] = (TProfile3D*)file->Get(Form("RUN%06d_QyAC_Recent", runNo));
 
 
   if (fgZDCRecentering[0][0]) fgZDCRecentering[0][0]->SetDirectory(0x0);
@@ -2422,6 +2429,8 @@ inline void AliDielectronVarManager::InitZDCRecenteringHistograms(Int_t runNo) {
   if (fgZDCRecentering[2][0]) fgZDCRecentering[2][0]->SetDirectory(0x0);
   if (fgZDCRecentering[2][1]) fgZDCRecentering[2][1]->SetDirectory(0x0);
 
+  delete file;
+
 }