-fix rndm RP
authorJulian Book <jbook@pcikf127.ikf.physik.uni-frankfurt.de>
Fri, 6 Dec 2013 15:04:45 +0000 (16:04 +0100)
committerJulian Book <jbook@pcikf127.ikf.physik.uni-frankfurt.de>
Fri, 6 Dec 2013 15:04:45 +0000 (16:04 +0100)
PWGDQ/dielectron/AliDielectronVarManager.cxx
PWGDQ/dielectron/AliDielectronVarManager.h

index a6097a1..ef86a30 100644 (file)
@@ -172,8 +172,8 @@ const char* AliDielectronVarManager::fgkParticleNames[AliDielectronVarManager::k
   {"PairPlaneAngle2Ran",     "#Phi_{2Ran}",                                        "(rad.)"},
   {"PairPlaneAngle3Ran",     "#Phi_{3Ran}",                                        "(rad.)"},
   {"PairPlaneAngle4Ran",     "#Phi_{4Ran}",                                        "(rad.)"},
-  {"RandomRP",               "random",                                             ""},
-  {"DeltaPhiRandomRP",       "#Phi_{RanRP}",                                       "(rad.)"},
+  {"RandomRP",               "#Phi_{RanRP}",                                       "(rad.)"},
+  {"DeltaPhiRandomRP",       "#Delta #Phi_{RanRP}",                                ""},
   {"Cos2PhiCS",              "cos(2#phi_{CS})",                                    ""},
   {"CosTilPhiCS",            "cos(#phi_{CS})",                                     ""},
   {"CosPhiH2",               "cos(2#phi)",                                         ""},
index 5eab983..70aef81 100644 (file)
@@ -216,26 +216,26 @@ public:
     kThetaSqCS,              // squared value of kThetaCS
     kPsiPair,                // phi in mother's rest frame in Collins-Soper picture
        kPhivPair,               // angle between ee plane and the magnetic field (can be useful for conversion rejection)
-       \r
-    kPairPlaneAngle1A,         // angle between ee decay plane and x'-z reaction plane by using V0-A\r
-    kPairPlaneAngle2A,         // angle between ee decay plane and (p1+p2) rot ez\r
-    kPairPlaneAngle3A,         // angle between ee decay plane and (p1+p2) rot (p1+p2)x'z\r
-    kPairPlaneAngle4A,         // angle between ee decay plane and x'-y' plane\r
-    kPairPlaneAngle1C,         // using v0-C\r
-    kPairPlaneAngle2C,\r
-    kPairPlaneAngle3C,\r
-    kPairPlaneAngle4C,\r
-    kPairPlaneAngle1AC,        // using v0-AC\r
-    kPairPlaneAngle2AC,\r
-    kPairPlaneAngle3AC,\r
-    kPairPlaneAngle4AC,\r
-    kPairPlaneAngle1Ran,       // using random reaction plane\r
-    kPairPlaneAngle2Ran,\r
-    kPairPlaneAngle3Ran,\r
-    kPairPlaneAngle4Ran,\r
-    kRandomRP,                //Random reaction plane\r
-    kDeltaPhiRandomRP,        //delta phi of the pair\r
-\r
+       
+    kPairPlaneAngle1A,         // angle between ee decay plane and x'-z reaction plane by using V0-A
+    kPairPlaneAngle2A,         // angle between ee decay plane and (p1+p2) rot ez
+    kPairPlaneAngle3A,         // angle between ee decay plane and (p1+p2) rot (p1+p2)x'z
+    kPairPlaneAngle4A,         // angle between ee decay plane and x'-y' plane
+    kPairPlaneAngle1C,         // using v0-C
+    kPairPlaneAngle2C,
+    kPairPlaneAngle3C,
+    kPairPlaneAngle4C,
+    kPairPlaneAngle1AC,        // using v0-AC
+    kPairPlaneAngle2AC,
+    kPairPlaneAngle3AC,
+    kPairPlaneAngle4AC,
+    kPairPlaneAngle1Ran,       // using random reaction plane
+    kPairPlaneAngle2Ran,
+    kPairPlaneAngle3Ran,
+    kPairPlaneAngle4Ran,
+    kRandomRP,                //Random reaction plane
+    kDeltaPhiRandomRP,        //delta phi of the pair
+
        kCos2PhiCS,              // Cosine of 2*phi in mother's rest frame in the Collins-Soper picture
     kCosTilPhiCS,            // Shifted phi depending on kThetaCS
     kCosPhiH2,               // cosine of pair phi for 2nd harmonic
@@ -1428,36 +1428,36 @@ inline void AliDielectronVarManager::FillVarDielectronPair(const AliDielectronPa
   if ( values[AliDielectronVarManager::kDeltaPhiTPCrpH2] < -1.*TMath::Pi() )
     values[AliDielectronVarManager::kDeltaPhiTPCrpH2] += TMath::TwoPi(); 
 
-  //Calculate the angle between electrons decay plane and variables 1-4\r
-  values[AliDielectronVarManager::kPairPlaneAngle1A] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ArpH2],1);\r
-  values[AliDielectronVarManager::kPairPlaneAngle2A] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ArpH2],2);\r
-  values[AliDielectronVarManager::kPairPlaneAngle3A] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ArpH2],3);\r
-  values[AliDielectronVarManager::kPairPlaneAngle4A] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ArpH2],4);\r
-\r
-  values[AliDielectronVarManager::kPairPlaneAngle1C] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0CrpH2],1);\r
-  values[AliDielectronVarManager::kPairPlaneAngle2C] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0CrpH2],2);\r
-  values[AliDielectronVarManager::kPairPlaneAngle3C] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0CrpH2],3);\r
-  values[AliDielectronVarManager::kPairPlaneAngle4C] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0CrpH2],4);\r
-\r
-  values[AliDielectronVarManager::kPairPlaneAngle1AC] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ACrpH2],1);\r
-  values[AliDielectronVarManager::kPairPlaneAngle2AC] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ACrpH2],2);\r
-  values[AliDielectronVarManager::kPairPlaneAngle3AC] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ACrpH2],3);\r
-  values[AliDielectronVarManager::kPairPlaneAngle4AC] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ACrpH2],4);\r
-\r
-  //Random reaction plane\r
-  values[AliDielectronVarManager::kRandomRP] = (TMath::Pi()/2.0)*((Double_t)rand()/RAND_MAX * 2.0 -1.0 );\r
-  //delta phi of pair fron random reaction plane\r
-  values[AliDielectronVarManager::kDeltaPhiRandomRP] = values[AliDielectronVarManager::kPhi] - values[AliDielectronVarManager::kRandomRP];\r
-  // keep the interval [-pi,+pi]\r
-  if ( values[AliDielectronVarManager::kDeltaPhiRandomRP] > TMath::Pi() )\r
-    values[AliDielectronVarManager::kDeltaPhiRandomRP] -= TMath::TwoPi();\r
-\r
-  values[AliDielectronVarManager::kPairPlaneAngle1Ran]= pair->GetPairPlaneAngle(values[AliDielectronVarManager::kRandomRP],1);\r
-  values[AliDielectronVarManager::kPairPlaneAngle2Ran]= pair->GetPairPlaneAngle(values[AliDielectronVarManager::kRandomRP],2);\r
-  values[AliDielectronVarManager::kPairPlaneAngle3Ran]= pair->GetPairPlaneAngle(values[AliDielectronVarManager::kRandomRP],3);\r
-  values[AliDielectronVarManager::kPairPlaneAngle4Ran]= pair->GetPairPlaneAngle(values[AliDielectronVarManager::kRandomRP],4);\r
-\r
-\r
+  //Calculate the angle between electrons decay plane and variables 1-4
+  values[AliDielectronVarManager::kPairPlaneAngle1A] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ArpH2],1);
+  values[AliDielectronVarManager::kPairPlaneAngle2A] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ArpH2],2);
+  values[AliDielectronVarManager::kPairPlaneAngle3A] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ArpH2],3);
+  values[AliDielectronVarManager::kPairPlaneAngle4A] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ArpH2],4);
+
+  values[AliDielectronVarManager::kPairPlaneAngle1C] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0CrpH2],1);
+  values[AliDielectronVarManager::kPairPlaneAngle2C] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0CrpH2],2);
+  values[AliDielectronVarManager::kPairPlaneAngle3C] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0CrpH2],3);
+  values[AliDielectronVarManager::kPairPlaneAngle4C] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0CrpH2],4);
+
+  values[AliDielectronVarManager::kPairPlaneAngle1AC] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ACrpH2],1);
+  values[AliDielectronVarManager::kPairPlaneAngle2AC] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ACrpH2],2);
+  values[AliDielectronVarManager::kPairPlaneAngle3AC] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ACrpH2],3);
+  values[AliDielectronVarManager::kPairPlaneAngle4AC] = pair->GetPairPlaneAngle(values[AliDielectronVarManager::kv0ACrpH2],4);
+
+  //Random reaction plane
+  values[AliDielectronVarManager::kRandomRP] = gRandom->Uniform(-TMath::Pi()/2.0,TMath::Pi()/2.0);
+  //delta phi of pair fron random reaction plane
+  values[AliDielectronVarManager::kDeltaPhiRandomRP] = values[AliDielectronVarManager::kPhi] - values[AliDielectronVarManager::kRandomRP];
+  // keep the interval [-pi,+pi]
+  if ( values[AliDielectronVarManager::kDeltaPhiRandomRP] > TMath::Pi() )
+    values[AliDielectronVarManager::kDeltaPhiRandomRP] -= TMath::TwoPi();
+
+  values[AliDielectronVarManager::kPairPlaneAngle1Ran]= pair->GetPairPlaneAngle(values[AliDielectronVarManager::kRandomRP],1);
+  values[AliDielectronVarManager::kPairPlaneAngle2Ran]= pair->GetPairPlaneAngle(values[AliDielectronVarManager::kRandomRP],2);
+  values[AliDielectronVarManager::kPairPlaneAngle3Ran]= pair->GetPairPlaneAngle(values[AliDielectronVarManager::kRandomRP],3);
+  values[AliDielectronVarManager::kPairPlaneAngle4Ran]= pair->GetPairPlaneAngle(values[AliDielectronVarManager::kRandomRP],4);
+
+
 
 
   AliDielectronMC *mc=AliDielectronMC::Instance();
@@ -2200,11 +2200,12 @@ inline Double_t AliDielectronVarManager::GetSingleLegEff(Double_t * const values
   for(Int_t idim=0; idim<dim; idim++) {
     UInt_t var = GetValueType(fgEffMap->GetAxis(idim)->GetName());
     idx[idim] = fgEffMap->GetAxis(idim)->FindBin(values[var]);
-    if(idx[idim] < 0 || idx[idim]>fgEffMap->GetAxis(idim)->GetNbins()) 
-      printf(" [E] AliDielectronVarManager::GetSingleLegEff values %f for %s not found in axis range \n",values[var],fgEffMap->GetAxis(idim)->GetName());
+    /* if(idx[idim] < 0 || idx[idim]>fgEffMap->GetAxis(idim)->GetNbins())  */
+    /*   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;
   return (fgEffMap->GetBinContent(idx));
 }