+
+ values[AliDielectronVarManager::kRefMult] = header->GetRefMultiplicity(); // similar to Ntrk
+ values[AliDielectronVarManager::kRefMultTPConly] = header->GetTPConlyRefMultiplicity(); // similar to Nacc
+
+ ///////////////////////////////////////////
+ //////////// NANO AODs ////////////////////
+ ///////////////////////////////////////////
+
+ // (w/o AliCentrality branch), VOM centrality should be stored in the header
+ if(!header->GetCentralityP())
+ values[AliDielectronVarManager::kCentrality] = header->GetCentrality();
+ // (w/o AliEventPlane branch) tpc event plane stuff stored in the header
+ if(!header->GetEventplaneP()) {
+
+ // values[AliDielectronVarManager::kNTrk] = header->GetRefMultiplicity(); // overwritten datamembers in "our" nanoAODs
+ // values[AliDielectronVarManager::kNacc] = header->GetRefMultiplicityPos(); // overwritten datamembers in "our" nanoAODs
+
+ TVector2 qvec;
+ // TPC
+ qvec.Set(header->GetEventplaneQx(), header->GetEventplaneQy());
+ values[AliDielectronVarManager::kTPCxH2uc] = qvec.X();
+ values[AliDielectronVarManager::kTPCyH2uc] = qvec.Y();
+ values[AliDielectronVarManager::kTPCmagH2uc] = qvec.Mod();
+ values[AliDielectronVarManager::kTPCrpH2uc] = ((TMath::Abs(qvec.X())>1.0e-10) ? TMath::ATan2(qvec.Y(),qvec.X())/2.0 : 0.0);
+
+ // VZERO
+ AliEventplane ep2;
+ // get event plane corrections from the VZERO EP selection task
+ AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
+ AliVZEROEPSelectionTask *eptask = dynamic_cast<AliVZEROEPSelectionTask *>(man->GetTask("AliVZEROEPSelectionTask"));
+ if(eptask) eptask->SetEventplaneParams(&ep2,centralityF);
+ else printf("no VZERO event plane selection task added! \n");
+
+ Double_t qx = 0, qy = 0;
+ ep2.CalculateVZEROEventPlane(event,10, 2, qx, qy); qvec.Set(qx,qy);
+ values[AliDielectronVarManager::kv0ACrpH2] = ((TMath::Abs(qvec.X())>1.0e-10) ? TMath::ATan2(qvec.Y(),qvec.X())/2.0 : 0.0);
+ values[AliDielectronVarManager::kv0ACxH2] = qvec.X();
+ values[AliDielectronVarManager::kv0ACyH2] = qvec.Y();
+ values[AliDielectronVarManager::kv0ACmagH2] = qvec.Mod();
+ ep2.CalculateVZEROEventPlane(event, 8, 2, qx, qy); qvec.Set(qx,qy);
+ values[AliDielectronVarManager::kv0ArpH2] = ((TMath::Abs(qvec.X())>1.0e-10) ? TMath::ATan2(qvec.Y(),qvec.X())/2.0 : 0.0);
+ values[AliDielectronVarManager::kv0AxH2] = qvec.X();
+ values[AliDielectronVarManager::kv0AyH2] = qvec.Y();
+ values[AliDielectronVarManager::kv0AmagH2] = qvec.Mod();
+ ep2.CalculateVZEROEventPlane(event, 9, 2, qx, qy); qvec.Set(qx,qy);
+ values[AliDielectronVarManager::kv0CrpH2] = ((TMath::Abs(qvec.X())>1.0e-10) ? TMath::ATan2(qvec.Y(),qvec.X())/2.0 : 0.0);
+ values[AliDielectronVarManager::kv0CxH2] = qvec.X();
+ values[AliDielectronVarManager::kv0CyH2] = qvec.Y();
+ values[AliDielectronVarManager::kv0CmagH2] = qvec.Mod();
+ ep2.CalculateVZEROEventPlane(event, 0, 0, 2, qx, qy); qvec.Set(qx,qy);
+ values[AliDielectronVarManager::kv0C0rpH2] = ((TMath::Abs(qvec.X())>1.0e-10) ? TMath::ATan2(qvec.Y(),qvec.X())/2.0 : 0.0);
+ ep2.CalculateVZEROEventPlane(event, 3, 3, 2, qx, qy); qvec.Set(qx,qy);
+ values[AliDielectronVarManager::kv0C3rpH2] = ((TMath::Abs(qvec.X())>1.0e-10) ? TMath::ATan2(qvec.Y(),qvec.X())/2.0 : 0.0);
+ ep2.CalculateVZEROEventPlane(event, 4, 4, 2, qx, qy); qvec.Set(qx,qy);
+ values[AliDielectronVarManager::kv0A0rpH2] = ((TMath::Abs(qvec.X())>1.0e-10) ? TMath::ATan2(qvec.Y(),qvec.X())/2.0 : 0.0);
+ ep2.CalculateVZEROEventPlane(event, 7, 7, 2, qx, qy); qvec.Set(qx,qy);
+ values[AliDielectronVarManager::kv0A3rpH2] = ((TMath::Abs(qvec.X())>1.0e-10) ? TMath::ATan2(qvec.Y(),qvec.X())/2.0 : 0.0);
+
+ }
+
+ const AliAODVertex *vtxtpc = GetVertex(event, AliAODVertex::kMainTPC);
+ values[AliDielectronVarManager::kNVtxContribTPC] = (vtxtpc ? vtxtpc->GetNContributors() : 0);
+