ROOT logo
#ifndef ALIDIELECTRONVARMANAGER_H
#define ALIDIELECTRONVARMANAGER_H
/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//#############################################################
//#                                                           # 
//#         Class AliDielectronVarManager                     #
//#         Class for management of available variables       #
//#                                                           #
//#  Authors:                                                 #
//#   Anton     Andronic, GSI / A.Andronic@gsi.de             #
//#   Ionut C.  Arsene,   GSI / I.C.Arsene@gsi.de             #
//#   Julian    Book,     Uni Ffm / Julian.Book@cern.ch       #
//#   Markus    Köhler,   GSI / M.Koehler@gsi.de              #
//#   Frederick Kramer,   Uni Ffm / Frederick.Kramer@cern.ch  #
//#   Magnus    Mager,    CERN / Magnus.Mager@cern.ch         #
//#   WooJin J. Park,     GSI / W.J.Park@gsi.de               #
//#   Jens      Wiechula, Uni HD / Jens.Wiechula@cern.ch      #
//#                                                           #
//#############################################################

#include <TNamed.h>
#include <TProfile.h>
#include <TProfile2D.h>
#include <TProfile3D.h>
#include <TH3D.h>
#include <THnBase.h>
#include <TSpline.h>
#include <TFile.h>
#include <TDatabasePDG.h>
#include <TKey.h>
#include <TBits.h>
#include <TRandom3.h>

#include <AliVEvent.h>
#include <AliESDEvent.h>
#include <AliAODEvent.h>
#include <AliMCEvent.h>
#include <AliVVertex.h>
#include <AliESDVertex.h>
#include <AliAODVertex.h>
#include <AliEventplane.h>

#include <AliESDVZERO.h>
#include <AliAODVZERO.h>

#include <AliVParticle.h>
#include <AliESDtrack.h>
#include <AliAODTrack.h>
#include <AliAODPid.h>
#include <AliKFParticle.h>
#include <AliKFVertex.h>
#include <AliMCParticle.h>
#include <AliAODMCParticle.h>
#include <AliVTrack.h>  // ?

#include <AliExternalTrackParam.h>
#include <AliESDpid.h>
#include <AliCentrality.h>
#include <AliAODpidUtil.h>
#include <AliPID.h>
#include <AliPIDResponse.h>
#include <AliESDtrackCuts.h>

#include "AliDielectronPair.h"
#include "AliDielectronMC.h"
#include "AliDielectronPID.h"
#include "AliDielectronHelper.h"

#include "AliAnalysisManager.h"
#include "AliInputEventHandler.h"
#include "AliVZEROEPSelectionTask.h"

#include "AliAODMCHeader.h"
#include "assert.h"

class AliVEvent;

//________________________________________________________________
class AliDielectronVarManager : public TNamed {
  
public:

  // Particle specific variables
  enum ValueTypes {
    kPx = 0,                 // px
    kPy,                     // py
    kPz,                     // pz
    kPt,                     // transverse momentum
    kPtSq,                   // transverse momentum squared
    kP,                      // momentum
    kXv,                     // vertex position in x
    kYv,                     // vertex position in y
    kZv,                     // vertex position in z
    kOneOverPt,              // 1/pt
    kPhi,                    // phi angle
    kTheta,                  // theta angle
    kEta,                    // pseudo-rapidity
    kY,                      // rapidity
    kE,                      // energy
    kM,                      // mass
    kCharge,                 // charge
    kNclsITS,                // number of clusters assigned in the ITS
    kITSchi2Cl,              // chi2/cl in the ITS
    kNclsTPC,                // number of clusters assigned in the TPC
    kNclsSTPC,                // number of shared clusters assigned in the TPC
    kNclsSFracTPC,           // fraction of shared clusters assigned in the TPC
    kNclsTPCiter1,           // number of clusters assigned in the TPC after first iteration
    kNFclsTPC,               // number of findable clusters in the TPC
    kNFclsTPCr,              // number of findable clusters(crossed rows) in the TPC with more robust definition
    kNFclsTPCrFrac,          // number of found/findable clusters in the TPC with more robust definition
    kNFclsTPCfCross,         // fraction crossed rows/findable clusters in the TPC, as done in AliESDtrackCuts
    kTPCsignalN,             // number of points used for dEdx
    kTPCsignalNfrac,         // fraction of points used for dEdx / cluster used for tracking
    kTPCchi2Cl,              // chi2/cl in TPC
    kTPCclsDiff,             // TPC cluster difference
    kTPCclsSegments,         // TPC cluster segments
    kTPCclsIRO,             // TPC clusters inner read out
    kTPCclsORO,             // TPC clusters outer read out
    kTrackStatus,            // track status bits
    kFilterBit,              // AOD filter bits

    kNclsTRD,                // number of clusters assigned in the TRD
    kTRDntracklets,          // number of TRD tracklets used for tracking/PID TODO: correct getter
    kTRDpidQuality,          // number of TRD tracklets used for PID
    kTRDchi2,                // chi2 in TRD
    kTRDprobEle,             // TRD electron pid probability
    kTRDprobPio,             // TRD electron pid probability
    kTRDprob2DEle,           // TRD electron pid probability 2D LQ 
    kTRDprob2DPio,           // TRD electron pid probability 2D LQ
    kTRDphi,                 // Phi angle of the track at the entrance of the TRD
    kTRDpidEffLeg,           // TRD pid efficiency from conversion electrons
    kTRDsignal,              // TRD signal
      
    kImpactParXY,            // Impact parameter in XY plane
    kImpactParZ,             // Impact parameter in Z
    kTrackLength,            // Track length


    kPdgCode,                // PDG code
    kPdgCodeMother, 
    kPdgCodeGrandMother,     // PDG code of the grandmother
    kHasCocktailMother,      // true if particle is added via MC generator cocktail (AliDielectronSignal::kDirect)
    kHasCocktailGrandMother, // true if particle is added via MC generator cocktail (AliDielectronSignal::kDirect)
    kNumberOfDaughters,      // number of daughters
    kHaveSameMother,         // check that particles have the same mother (MC)
    kIsJpsiPrimary,          // check if the particle is primary (MC)
    kNumberOfJPsis,          // number of generated inclusive jpsis per event (MC)
    kNumberOfJPsisPrompt,    // number of generated prompt jpsis per event (MC)
    kNumberOfJPsisNPrompt,   // number of generated non-prompt jpsis per event (MC)

    kITSsignal,              // ITS dE/dx signal
    kITSsignalSSD1,          // SSD1 dE/dx signal
    kITSsignalSSD2,          // SSD2 dE/dx signal
    kITSsignalSDD1,          // SDD1 dE/dx signal
    kITSsignalSDD2,          // SDD2 dE/dx signal
    kITSclusterMap,          // ITS cluster map
    kITSLayerFirstCls,       // No of innermost ITS layer with a cluster of a track
    kITSnSigmaEle,           // number of sigmas to the dE/dx electron line in the ITS
    kITSnSigmaPio,           // number of sigmas to the dE/dx pion line in the ITS
    kITSnSigmaMuo,           // number of sigmas to the dE/dx muon line in the ITS
    kITSnSigmaKao,           // number of sigmas to the dE/dx kaon line in the ITS
    kITSnSigmaPro,           // number of sigmas to the dE/dx proton line in the ITS

    kPIn,                    // momentum at inner wall of TPC (if available), used for PID
    kPOut,                   // momentum at outer wall of TPC, used for TRD studies
    kYsignedIn,              // signed local y at inner wall of TPC
    kTPCsignal,              // TPC dE/dx signal
    
    kTOFsignal,              // TOF signal
    kTOFbeta,                // TOF beta
    kTOFPIDBit,              // TOF PID bit (1:set, 0:TOF not available)a
    kTOFmismProb, 	         // and mismatchPorbability as explain in TOF-twiki
	
    kTPCnSigmaEleRaw,        // raw number of sigmas to the dE/dx electron line in the TPC
    kTPCnSigmaEle,           // number of sigmas to the dE/dx electron line in the TPC
    kTPCnSigmaPio,           // number of sigmas to the dE/dx pion line in the TPC
    kTPCnSigmaMuo,           // number of sigmas to the dE/dx muon line in the TPC
    kTPCnSigmaKao,           // number of sigmas to the dE/dx kaon line in the TPC
    kTPCnSigmaPro,           // number of sigmas to the dE/dx proton line in the TPC
      
    kTOFnSigmaEle,           // number of sigmas to the electron line in the TOF
    kTOFnSigmaPio,           // number of sigmas to the pion line in the TOF
    kTOFnSigmaMuo,           // number of sigmas to the muon line in the TOF
    kTOFnSigmaKao,           // number of sigmas to the kaon line in the TOF
    kTOFnSigmaPro,           // number of sigmas to the proton line in the TOF

    kEMCALnSigmaEle,         // number of sigmas to the proton line in the TOF
    kEMCALEoverP,            // E over P from EMCAL
    kEMCALE,                 // E from EMCAL
    kEMCALNCells,            // NCells from EMCAL
    kEMCALM02,               // M02 showershape parameter
    kEMCALM20,               // M20 showershape parameter
    kEMCALDispersion,        // Dispersion paramter
    
    kLegEff,                 // single electron efficiency
    kOneOverLegEff,          // 1 / single electron efficiency (correction factor)
    kV0Index0,               // v0 index 0
    kKinkIndex0,             // kink index 0
      
    kParticleMax,             //
    // TODO: kRNClusters ??
    // AliDielectronPair specific variables
    kChi2NDF = kParticleMax, // Chi^2/NDF
    kDecayLength,            // decay length
    kR,                      // distance to the origin
    kOpeningAngle,           // opening angle
    kCosPointingAngle,       // cosine of the pointing angle
    kArmAlpha,               // Armenteros-Podolanski alpha
    kArmPt,                  // Armenteros-Podolanski pt
    // helicity picture: Z-axis is considered the direction of the mother's 3-momentum vector
    kThetaHE,                // theta in mother's rest frame in the helicity picture 
    kPhiHE,                  // phi in mother's rest frame in the helicity picture
    kThetaSqHE,              // squared value of kThetaHE
    kCos2PhiHE,              // Cosine of 2*phi in mother's rest frame in the helicity picture
    kCosTilPhiHE,            // Shifted phi depending on kThetaHE
    // Collins-Soper picture: Z-axis is considered the direction of the vectorial difference between 
    // the 3-mom vectors of target and projectile beams
    kThetaCS,                // theta in mother's rest frame in Collins-Soper picture
    kPhiCS,                  // phi in mother's rest frame in Collins-Soper picture
    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)
	
    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

    kPairPlaneMagInPro,     // Inner Product of strong magnetic field and ee plane
	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
    kSinPhiH2,               // sinus  of pair phi for 2nd harmonic
    kDeltaPhiV0ArpH2,        // Delta phi of the pair with respect to the 2nd order harmonic reaction plane from V0-A
    kDeltaPhiV0CrpH2,        // Delta phi of the pair with respect to the 2nd order harmonic reaction plane from V0-C
    kDeltaPhiV0ACrpH2,       // Delta phi of the pair with respect to the 2nd order harmonic reaction plane from V0-A + V0-C
    kV0ArpH2FlowV2,          // v2 coefficient with respect to the 2nd order reaction plane from V0-A
    kV0CrpH2FlowV2,          // v2 coefficient with respect to the 2nd order reaction plane from V0-C
    kV0ACrpH2FlowV2,         // v2 coefficient with respect to the 2nd order reaction plane from V0-A + V0-C
    kDeltaPhiv0ArpH2,        // Delta phi of the pair with respect to the 2nd order harmonic reaction plane from V0-A (EPtask)
    kDeltaPhiv0CrpH2,        // Delta phi of the pair with respect to the 2nd order harmonic reaction plane from V0-C
    kDeltaPhiv0ACrpH2,       // Delta phi of the pair with respect to the 2nd order harmonic reaction plane from V0-AC
    kDeltaPhiTPCrpH2,        // Delta phi of the pair with respect to the 2nd order harmonic reaction plane from TPC
    kv0ArpH2FlowV2,          // v2 coefficient with respect to the 2nd order reaction plane from V0-A (EPtask)
    kv0CrpH2FlowV2,          // v2 coefficient with respect to the 2nd order reaction plane from V0-C
    kv0ACrpH2FlowV2,         // v2 coefficient with respect to the 2nd order reaction plane from V0-A + V0-C
    kTPCrpH2FlowV2,          // v2 coefficient with respect to the 2nd order reaction plane from TPC
    kTPCrpH2FlowV2Sin,       // sinus of v2 coefficient with respect to the 2nd order reaction plane from TPC

    kLegDist,                // distance of the legs
    kLegDistXY,              // distance of the legs in XY
    kDeltaEta,         // Absolute value of Delta Eta for the legs
    kDeltaPhi,           // Absolute value of Delta Phi for the legs
    kMerr,                   // error of mass calculation
    kDCA,                    // distance of closest approach TODO: not implemented yet
    kPairType,               // type of the pair, like like sign ++ unlikesign ...
    kPseudoProperTime,       // pseudo proper time
    kPseudoProperTimeErr,    // pseudo proper time error
    kPseudoProperTimeResolution,     // resolution for pseudo proper decay time (reconstructed - MC truth)
    kPseudoProperTimePull,   // normalizd resolution for pseudo proper time = (reco - MC truth)/dReco
    kTRDpidEffPair,          // TRD pid efficieny from conversion electrons
    kMomAsymDau1,            // momentum fraction of daughter1
    kMomAsymDau2,            // momentum fraction of daughter2
    kPairEff,                // pair efficiency
    kOneOverPairEff,         // 1 / pair efficiency (correction factor)
    kOneOverPairEffSq,        // 1 / pair efficiency squared (correction factor)
    kRndmPair,               // radomly created number (used to apply special signal reduction cuts)
    kPairs,                  // number of Ev1PM pair candidates after all cuts
    kPairMax,                 //
  // Event specific variables
    kXvPrim=kPairMax,        // prim vertex
    kYvPrim,                 // prim vertex
    kZvPrim,                 // prim vertex
    kXRes,                   // primary vertex x-resolution
    kYRes,                   // primary vertex y-resolution
    kZRes,                   // primary vertex z-resolution
    kPhiMaxPt,               // phi angle of the track with maximum pt
    kMaxPt,                  // track with maximum pt

    //// v0 reaction plane quantities from AliEPSelectionTaks, angles interval [-pi/2,+pi/2]
    kv0ArpH2,                // VZERO-A reaction plane of the Q vector for 2nd harmonic
    kv0CrpH2,                //         reaction plane
    kv0ACrpH2,               // VZERO-AC reaction plane of the Q vector for 2nd harmonic
    kv0AxH2,                 // VZERO-A x-component of the Q vector for 2nd harmonic
    kv0AyH2,                 // VZERO-A y-component of the Q vector for 2nd harmonic
    kv0CxH2,                 // VZERO-C x-component of the Q vector for 2nd harmonic
    kv0CyH2,                 // VZERO-C y-component of the Q vector for 2nd harmonic
    kv0ACxH2,                // VZERO-AC x-component of the Q vector for 2nd harmonic
    kv0ACyH2,                // VZERO-AC y-component of the Q vector for 2nd harmonic
    kv0AmagH2,               // VZERO-A the Q vectors magnitude for 2nd harmonic
    kv0CmagH2,               // VZERO-A the Q vectors magnitude for 2nd harmonic
    kv0ACmagH2,              // VZERO-A the Q vectors magnitude for 2nd harmonic
    kv0A0rpH2,                 // VZERO-A 1st  ring reaction plane of the Q vector for 2nd harmonic
    kv0A3rpH2,                 // VZERO-A last ring reaction plane of the Q vector for 2nd harmonic
    kv0C0rpH2,                 // VZERO-C 1st  ring reaction plane of the Q vector for 2nd harmonic
    kv0C3rpH2,                 // VZERO-C last ring reaction plane of the Q vector for 2nd harmonic
    kv0ATPCDiffH2,             // V0A-TPC reaction plane difference for 2nd harmonic
    kv0CTPCDiffH2,             // V0C-TPC reaction plane difference for 2nd harmonic
    kv0Av0CDiffH2,             // V0A-V0C reaction plane difference for 2nd harmonic
    kv0Av0C0DiffH2,             // V0A-ring 0 ofV0C reaction plane difference for 2nd harmonic
    kv0Av0C3DiffH2,             // V0A-ring 3 ofV0C reaction plane difference for 2nd harmonic
    kv0Cv0A0DiffH2,             // V0C-ring 0 ofV0A reaction plane difference for 2nd harmonic
    kv0Cv0A3DiffH2,             // V0C-ring 3 ofV0A reaction plane difference for 2nd harmonic
    kv0A0v0A3DiffH2,             // V0C-ring 0 ofV0A reaction plane difference for 2nd harmonic
    kv0C0v0C3DiffH2,             // V0C-ring 0 ofV0A reaction plane difference for 2nd harmonic

    kMultV0A,                // VZERO multiplicity and ADC amplitudes
    kMultV0C,
    kMultV0,
    kEqMultV0A,              // equalized VZERO multiplicity
    kEqMultV0C,
    kEqMultV0,
    kAdcV0A,
    kAdcV0C,
    kAdcV0,
    kVZEROchMult,
    // VZERO reaction plane quantities
    kV0AxH2=kVZEROchMult+64,   // VZERO-A x-component of the Q vector for 2nd harmonic
    kV0AyH2,                   // VZERO-A y-component of the Q vector for 2nd harmonic
    kV0ArpH2,                  // VZERO-A reaction plane of the Q vector for 2nd harmonic
    kV0CxH2,                   // VZERO-C x-component of the Q vector for 2nd harmonic
    kV0CyH2,                   //         y-component
    kV0CrpH2,                  //         reaction plane
    kV0ACxH2,                  // VZERO-AC x-component of the Q vector for 2nd harmonic
    kV0ACyH2,                  // VZERO-AC y-component of the Q vector for 2nd harmonic
    kV0ACrpH2,                 // VZERO-AC reaction plane of the Q vector for 2nd harmonic
    kV0ArpResH2,               // 2nd harmonic reaction plane resolution for V0A
    kV0CrpResH2,               //                               V0C
    kV0ACrpResH2,              //                             V0A+V0C
    kV0XaXcH2,                 // Correlation quantities to check V0 reaction plane quality
    kV0XaYaH2,
    kV0XaYcH2,
    kV0YaXcH2,
    kV0YaYcH2,
    kV0XcYcH2,
    kV0ATPCDiffH2,             // V0A-TPC reaction plane difference for 2nd harmonic
    kV0CTPCDiffH2,             // V0C-TPC reaction plane difference for 2nd harmonic
    kV0AV0CDiffH2,             // V0A-V0C reaction plane difference for 2nd harmonic
    // TPC reaction plane quantities, angle interval [-pi/2,+pi/2]
    kTPCxH2,                  // TPC x-component of the Q vector for 2nd harmonic (corrected)
    kTPCyH2,                  // TPC y-component of the Q vector for 2nd harmonic (corrected)
    kTPCmagH2,                // TPC reaction plane the Q vectors magnitude for 2nd harmonic (corrected)
    kTPCrpH2,                 // TPC reaction plane angle of the Q vector for 2nd harmonic (corrected)
    kCosTPCrpH2,              // cosine of TPC reaction plane angle of the Q vector for 2nd harmonic (corrected)
    kSinTPCrpH2,              // sinus of TPC reaction plane angle of the Q vector for 2nd harmonic (corrected)
    kTPCsub1xH2,              // TPC x-component of the Q vector for 2nd harmonic (corrected, sub event 1) 
    kTPCsub1yH2,              // TPC y-component of the Q vector for 2nd harmonic (corrected, sub event 1)
    kTPCsub1rpH2,             // TPC reaction plane of the Q vector for 2nd harmonic (corrected, sub event 1)
    kTPCsub2xH2,              // TPC x-component of the Q vector for 2nd harmonic (corrected, sub event 2)
    kTPCsub2yH2,              // TPC y-component of the Q vector for 2nd harmonic (corrected, sub event 2)
    kTPCsub2rpH2,             // TPC reaction plane of the Q vector for 2nd harmonic (corrected, sub event 2)
    kTPCsub12DiffH2,          // TPC reaction plane difference of sub event 1,2 for 2nd harmonic
    kTPCsub12DiffH2Sin,       // TPC reaction plane difference of sub event 1,2 for 2nd harmonic, sinus term

    kTPCxH2uc,                  // TPC x-component of the Q vector for 2nd harmonic (uncorrected)
    kTPCyH2uc,                  // TPC y-component of the Q vector for 2nd harmonic (uncorrected)
    kTPCmagH2uc,                // TPC reaction plane the Q vectors magnitude for 2nd harmonic (uncorrected)
    kTPCrpH2uc,                 // TPC reaction plane angle of the Q vector for 2nd harmonic (uncorrected)
    kTPCsub1xH2uc,              // TPC x-component of the Q vector for 2nd harmonic (uncorrected, sub event 1) 
    kTPCsub1yH2uc,              // TPC y-component of the Q vector for 2nd harmonic (uncorrected, sub event 1)
    kTPCsub1rpH2uc,             // TPC reaction plane of the Q vector for 2nd harmonic (uncorrected, sub event 1)
    kTPCsub2xH2uc,              // TPC x-component of the Q vector for 2nd harmonic (uncorrected, sub event 2)
    kTPCsub2yH2uc,              // TPC y-component of the Q vector for 2nd harmonic (uncorrected, sub event 2)
    kTPCsub2rpH2uc,             // TPC reaction plane of the Q vector for 2nd harmonic (uncorrected, sub event 2)
    kTPCsub12DiffH2uc,          // TPC reaction plane difference of sub event 1,2 for 2nd harmonic (uncorrected)

    //ZDC reaction plane(v1 plane) quantities

    kZDCArpH1,                  // ZDC-A reaction plane of the Q vector for 1st harmonic
    kZDCCrpH1,                  // ZDC-C reaction plane of the Q vector for 1st harmonic
    kZDCACrpH1,                  // ZDC-AC reaction plane of the Q vector for 1st harmonic
    kZDCrpResH1,                  // 1st harmonic reaction plane resolution for ZDC
    kv0ZDCrpRes,                //ZDC reaction plane for 1st harmonic and VZERO reaction plane for 2nd harmonic correlation


    kNTrk,                   // number of tracks (or tracklets) TODO: ambiguous
    kTracks,                 // track after all cuts
    kNVtxContrib,             // number of primary vertex contibutors
    kNVtxContribTPC,         // number of TPC vertex contibutors
    kNacc,                   // Number of accepted tracks
    kMatchEffITSTPC,         // ruff estimate on the ITS-TPC matching efficiceny
    kNaccTrcklts,            // number of accepted SPD tracklets in |eta|<1.6        
    kNaccTrcklts10,          // number of accepted SPD tracklets in |eta|<1.        
    kNaccTrcklts0916,        // number of accepted SPD tracklets in 0.9<|eta|<1.6
    
    kNaccTrckltsEsd05,       // number of accepted SPD tracklets in |eta|<0.5 (AliESDEvent::EstimateMultiplicity())
    kNaccTrckltsEsd10,       // number of accepted SPD tracklets in |eta|<1.0 (AliESDEvent::EstimateMultiplicity())
    kNaccTrckltsEsd16,       // number of accepted SPD tracklets in |eta|<1.6 (AliESDEvent::EstimateMultiplicity())
    kNaccTrckltsEsd05Corr,   //
    kNaccTrckltsEsd10Corr,   //
    kNaccTrckltsEsd16Corr,   //
    kNaccItsTpcEsd05,        // ITS-TPC tracks + ITS SA complementary tracks + tracklets from unassigned tracklets in |eta|<0.5 (AliESDEvent::EstimateMultiplicity())
    kNaccItsTpcEsd10,        // ITS-TPC tracks + ITS SA complementary tracks + tracklets from unassigned tracklets in |eta|<1.0 (AliESDEvent::EstimateMultiplicity())
    kNaccItsTpcEsd16,        // ITS-TPC tracks + ITS SA complementary tracks + tracklets from unassigned tracklets in |eta|<1.6 (AliESDEvent::EstimateMultiplicity())
    kNaccItsTpcEsd05Corr,        // 
    kNaccItsTpcEsd10Corr,        // 
    kNaccItsTpcEsd16Corr,        // 
    
    kNaccItsPureEsd05,       // ITS SA tracks + tracklets from unassigned tracklets in |eta|<0.5 (AliESDEvent::EstimateMultiplicity())
    kNaccItsPureEsd10,       // ITS SA tracks + tracklets from unassigned tracklets in |eta|<1.0 (AliESDEvent::EstimateMultiplicity())
    kNaccItsPureEsd16,       // ITS SA tracks + tracklets from unassigned tracklets in |eta|<1.6 (AliESDEvent::EstimateMultiplicity())
    kNaccItsPureEsd05Corr,   // 
    kNaccItsPureEsd10Corr,   // 
    kNaccItsPureEsd16Corr,   // 
    kRefMult,                // reference multiplicity (only in AODs) should be Ntrk w/o double counts
    kRefMultTPConly,         // TPC only Reference Multiplicty (AliESDtrackCuts::GetReferenceMultiplicity(&esd, kTRUE))
    
    kNch,                    // MC true number of charged particles in |eta|<1.6
    kNch05,                  // MC true number of charged particles in |eta|<0.5
    kNch10,                  // MC true number of charged particles in |eta|<1.0

    kCentrality,             // event centrality fraction V0M
    kCentralityV0A,          // event centrality fraction V0A
    kCentralityV0C,          // event centrality fraction V0C
    kCentralityZNA,          // event centrality fraction ZNA
    kCentralitySPD,          // centrality using SPD (from second layer)
    kTriggerInclONL,         // online trigger bits fired (inclusive)
    kTriggerInclOFF,         // offline trigger bits fired (inclusive)
    kTriggerExclOFF,         // offline only this trigger bit fired (exclusive)
    kNevents,                // event counter
    kRunNumber,              // run number
    kMixingBin,
    kNMaxValues              //
    // TODO: (for A+A) ZDCEnergy, impact parameter, Iflag??
  };
  

  AliDielectronVarManager();
  AliDielectronVarManager(const char* name, const char* title);
  virtual ~AliDielectronVarManager();
  static void Fill(const TObject* particle, Double_t * const values);
  static void FillVarMCParticle2(const AliVParticle *p1, const AliVParticle *p2, Double_t * const values);
  static void FillVarVParticle(const AliVParticle *particle,         Double_t * const values);

  static void InitESDpid(Int_t type=0);
  static void InitAODpidUtil(Int_t type=0);
  static void InitEstimatorAvg(const Char_t* filename);
  static void InitTRDpidEffHistograms(const Char_t* filename);
  static void SetLegEffMap( TObject *map) { fgLegEffMap=map; }
  static void SetPairEffMap(TObject *map) { fgPairEffMap=map; }
  static void SetFillMap(   TBits   *map) { fgFillMap=map; }
  static void SetVZEROCalibrationFile(const Char_t* filename) {fgVZEROCalibrationFile = filename;}
  
  static void SetVZERORecenteringFile(const Char_t* filename) {fgVZERORecenteringFile = filename;}
  static void SetZDCRecenteringFile(const Char_t* filename) {fgZDCRecenteringFile = filename;}
  static void SetPIDResponse(AliPIDResponse *pidResponse) {fgPIDResponse=pidResponse;}
  static AliPIDResponse* GetPIDResponse() { return fgPIDResponse; }
  static void SetEvent(AliVEvent * const ev);
  static void SetEventData(const Double_t data[AliDielectronVarManager::kNMaxValues]);
  static Bool_t GetDCA(const AliAODTrack *track, Double_t d0z0[2]);
  static void SetTPCEventPlane(AliEventplane *const evplane);
  static void GetVzeroRP(const AliVEvent* event, Double_t* qvec, Int_t sideOption);      // 0- V0A; 1- V0C; 2- V0A+V0C
  static void GetZDCRP(const AliVEvent* event, Double_t qvec[][2]);
  static AliAODVertex* GetVertex(const AliAODEvent *event, AliAODVertex::AODVtx_t vtype);

  static TProfile* GetEstimatorHistogram(Int_t period, Int_t type) {return fgMultEstimatorAvg[period][type];}
  static Double_t GetTRDpidEfficiency(Int_t runNo, Double_t centrality, Double_t eta, Double_t trdPhi, Double_t pout, Double_t& effErr);
  static Double_t GetSingleLegEff(Double_t * const values);
  static Double_t GetPairEff(Double_t * const values);

  static const AliKFVertex* GetKFVertex() {return fgKFVertex;}
  
  static const char* GetValueName(Int_t i) { return (i>=0&&i<kNMaxValues)?fgkParticleNames[i][0]:""; }
  static const char* GetValueLabel(Int_t i) { return (i>=0&&i<kNMaxValues)?fgkParticleNames[i][1]:""; }
  static const char* GetValueUnit(Int_t i) { return (i>=0&&i<kNMaxValues)?fgkParticleNames[i][2]:""; }
  static UInt_t GetValueType(const char* valname);
  static const Double_t* GetData() {return fgData;}
  static AliVEvent* GetCurrentEvent() {return fgEvent;}

  static Double_t GetValue(ValueTypes var) {return fgData[var];}
  static void SetValue(ValueTypes var, Double_t val) { fgData[var]=val; }
  
private:

  static const char* fgkParticleNames[kNMaxValues][3];  //variable names

  static Bool_t Req(ValueTypes var) { return (fgFillMap ? fgFillMap->TestBitNumber(var) : kTRUE); }
  static void FillVarESDtrack(const AliESDtrack *particle,           Double_t * const values);
  static void FillVarAODTrack(const AliAODTrack *particle,           Double_t * const values);
  static void FillVarMCParticle(const AliMCParticle *particle,       Double_t * const values);
  static void FillVarAODMCParticle(const AliAODMCParticle *particle, Double_t * const values);
  static void FillVarDielectronPair(const AliDielectronPair *pair,   Double_t * const values);
  static void FillVarKFParticle(const AliKFParticle *pair,   Double_t * const values);
  
  static void FillVarVEvent(const AliVEvent *event,                  Double_t * const values);
  static void FillVarESDEvent(const AliESDEvent *event,              Double_t * const values);
  static void FillVarAODEvent(const AliAODEvent *event,              Double_t * const values);
  static void FillVarMCEvent(const AliMCEvent *event,                Double_t * const values);
  static void FillVarTPCEventPlane(const AliEventplane *evplane,     Double_t * const values);

  static void InitVZEROCalibrationHistograms(Int_t runNo);
  static void InitVZERORecenteringHistograms(Int_t runNo);
  static void InitZDCRecenteringHistograms(Int_t runNo);

  static AliPIDResponse  *fgPIDResponse;        // PID response object
  static AliVEvent       *fgEvent;              // current event pointer
  static AliEventplane   *fgTPCEventPlane;      // current event tpc plane pointer
  static AliKFVertex     *fgKFVertex;           // kf vertex
  static TProfile        *fgMultEstimatorAvg[4][9];  // multiplicity estimator averages (4 periods x 9 estimators)
  static Double_t         fgTRDpidEffCentRanges[10][4];   // centrality ranges for the TRD pid efficiency histograms
  static TH3D            *fgTRDpidEff[10][4];   // TRD pid efficiencies from conversion electrons
  static TObject         *fgLegEffMap;             // single electron efficiencies
  static TObject         *fgPairEffMap;             // pair efficiencies
  static TBits           *fgFillMap;             // map for requested variable filling
  static TString          fgVZEROCalibrationFile;  // file with VZERO channel-by-channel calibrations
  static TString          fgVZERORecenteringFile;  // file with VZERO Q-vector averages needed for event plane recentering
  static TProfile2D      *fgVZEROCalib[64];           // 1 histogram per VZERO channel
  static TProfile2D      *fgVZERORecentering[2][2];   // 2 VZERO sides x 2 Q-vector components
  static Int_t            fgCurrentRun;               // current run number
  
  static TString          fgZDCRecenteringFile; // file with ZDC Q-vector averages needed for event plane recentering
  static TProfile3D      *fgZDCRecentering[3][2];   // 2 VZERO sides x 2 Q-vector components

  static Double_t fgData[kNMaxValues];        //! data
  
  AliDielectronVarManager(const AliDielectronVarManager &c);
  AliDielectronVarManager &operator=(const AliDielectronVarManager &c);
  
  ClassDef(AliDielectronVarManager,1);
};


//Inline functions
inline void AliDielectronVarManager::Fill(const TObject* object, Double_t * const values)
{
  //
  // Main function to fill all available variables according to the type of particle
  //
  if (!object) return;
  if      (object->IsA() == AliESDtrack::Class())       FillVarESDtrack(static_cast<const AliESDtrack*>(object), values);
  else if (object->IsA() == AliAODTrack::Class())       FillVarAODTrack(static_cast<const AliAODTrack*>(object), values);
  else if (object->IsA() == AliMCParticle::Class())     FillVarMCParticle(static_cast<const AliMCParticle*>(object), values);
  else if (object->IsA() == AliAODMCParticle::Class())  FillVarAODMCParticle(static_cast<const AliAODMCParticle*>(object), values);
  else if (object->IsA() == AliDielectronPair::Class()) FillVarDielectronPair(static_cast<const AliDielectronPair*>(object), values);
  else if (object->IsA() == AliKFParticle::Class())     FillVarKFParticle(static_cast<const AliKFParticle*>(object),values);
  // Main function to fill all available variables according to the type of event
  
  else if (object->IsA() == AliVEvent::Class())         FillVarVEvent(static_cast<const AliVEvent*>(object), values);
  else if (object->IsA() == AliESDEvent::Class())       FillVarESDEvent(static_cast<const AliESDEvent*>(object), values);
  else if (object->IsA() == AliAODEvent::Class())       FillVarAODEvent(static_cast<const AliAODEvent*>(object), values);
  else if (object->IsA() == AliMCEvent::Class())        FillVarMCEvent(static_cast<const AliMCEvent*>(object), values);
  else if (object->IsA() == AliEventplane::Class())     FillVarTPCEventPlane(static_cast<const AliEventplane*>(object), values);
//   else printf(Form("AliDielectronVarManager::Fill: Type %s is not supported by AliDielectronVarManager!", object->ClassName())); //TODO: implement without object needed
}

inline void AliDielectronVarManager::FillVarVParticle(const AliVParticle *particle, Double_t * const values)
{
  //
  // Fill track information available in AliVParticle into an array
  //
  values[AliDielectronVarManager::kPx]        = particle->Px();
  values[AliDielectronVarManager::kPy]        = particle->Py();
  values[AliDielectronVarManager::kPz]        = particle->Pz();
  values[AliDielectronVarManager::kPt]        = particle->Pt();
  values[AliDielectronVarManager::kPtSq]      = particle->Pt()*particle->Pt();
  values[AliDielectronVarManager::kP]         = particle->P();

  values[AliDielectronVarManager::kXv]        = particle->Xv();
  values[AliDielectronVarManager::kYv]        = particle->Yv();
  values[AliDielectronVarManager::kZv]        = particle->Zv();

  values[AliDielectronVarManager::kOneOverPt] = (particle->Pt()>1.0e-3 ? particle->OneOverPt() : 0.0);
  values[AliDielectronVarManager::kPhi]       = TVector2::Phi_0_2pi(particle->Phi());
  values[AliDielectronVarManager::kTheta]     = particle->Theta();
  values[AliDielectronVarManager::kEta]       = particle->Eta();
  values[AliDielectronVarManager::kY]         = particle->Y();
  
  values[AliDielectronVarManager::kE]         = particle->E();
  values[AliDielectronVarManager::kM]         = particle->M();
  values[AliDielectronVarManager::kCharge]    = particle->Charge();
  
  values[AliDielectronVarManager::kPdgCode]   = particle->PdgCode();
    
//   if ( fgEvent ) AliDielectronVarManager::Fill(fgEvent, values);
  for (Int_t i=AliDielectronVarManager::kPairMax; i<AliDielectronVarManager::kNMaxValues; ++i)
    values[i]=fgData[i];
}

inline void AliDielectronVarManager::FillVarESDtrack(const AliESDtrack *particle, Double_t * const values)
{
  //
  // Fill track information available for histogramming into an array
  //

  // Fill common AliVParticle interface information
  FillVarVParticle(particle, values);

  AliESDtrack *esdTrack=0x0;
  Double_t origdEdx=particle->GetTPCsignal();
  
  // apply ETa correction, remove once this is in the tender
  esdTrack=const_cast<AliESDtrack*>(particle);
  if (!esdTrack) return;
  esdTrack->SetTPCsignal(origdEdx/AliDielectronPID::GetEtaCorr(esdTrack)/AliDielectronPID::GetCorrValdEdx(),esdTrack->GetTPCsignalSigma(),esdTrack->GetTPCsignalN());
  
  Double_t pidProbs[AliPID::kSPECIES];
  // Fill AliESDtrack interface specific information
  Double_t tpcNcls=particle->GetTPCNcls();
  Double_t tpcNclsS = particle->GetTPCnclsS(); 
  Double_t itsNcls=particle->GetNcls(0);
  Double_t tpcSignalN=particle->GetTPCsignalN();
  Double_t tpcClusFindable=particle->GetTPCNclsF();
  values[AliDielectronVarManager::kNclsITS]       = itsNcls; // TODO: get rid of the plain numbers
  values[AliDielectronVarManager::kNclsTPC]       = tpcNcls; // TODO: get rid of the plain numbers
  values[AliDielectronVarManager::kNclsSTPC]      = tpcNclsS;
  values[AliDielectronVarManager::kNclsSFracTPC]  = tpcNcls>0?tpcNclsS/tpcNcls:0;
  values[AliDielectronVarManager::kNclsTPCiter1]  = particle->GetTPCNclsIter1(); // TODO: get rid of the plain numbers
  values[AliDielectronVarManager::kNFclsTPC]       = tpcClusFindable;
  values[AliDielectronVarManager::kNFclsTPCr]      = particle->GetTPCClusterInfo(2,1);
  values[AliDielectronVarManager::kNFclsTPCrFrac]  = particle->GetTPCClusterInfo(2);
  values[AliDielectronVarManager::kNFclsTPCfCross]= (tpcClusFindable>0)?(particle->GetTPCClusterInfo(2,1)/tpcClusFindable):0;
  values[AliDielectronVarManager::kTPCsignalN]    = tpcSignalN;
  values[AliDielectronVarManager::kTPCsignalNfrac]= tpcNcls>0?tpcSignalN/tpcNcls:0;
  values[AliDielectronVarManager::kNclsTRD]       = particle->GetNcls(2); // TODO: get rid of the plain numbers
  values[AliDielectronVarManager::kTRDntracklets] = particle->GetTRDntracklets(); // TODO: GetTRDtracklets/GetTRDntracklets?
  values[AliDielectronVarManager::kTRDpidQuality] = particle->GetTRDntrackletsPID();
  values[AliDielectronVarManager::kTRDchi2]       = particle->GetTRDchi2();
  values[AliDielectronVarManager::kTRDsignal]     = particle->GetTRDsignal();
  values[AliDielectronVarManager::kTPCclsDiff]    = tpcSignalN-tpcNcls;
  values[AliDielectronVarManager::kTPCclsSegments] = 0.0;
  UChar_t threshold = 5;
  TBits tpcClusterMap = particle->GetTPCClusterMap();
  UChar_t n=0; UChar_t j=0;
  for(UChar_t i=0; i<8; ++i) {
    n=0;
    for(j=i*20; j<(i+1)*20 && j<159; ++j) n+=tpcClusterMap.TestBitNumber(j);
    if(n>=threshold) values[AliDielectronVarManager::kTPCclsSegments] += 1.0;
  }

  n=0;
  threshold=0;
  values[AliDielectronVarManager::kTPCclsIRO]=0.;
  for(j=0; j<63; ++j) n+=tpcClusterMap.TestBitNumber(j);
  if(n>=threshold) values[AliDielectronVarManager::kTPCclsIRO] = n;
  n=0;
  threshold=0;
  values[AliDielectronVarManager::kTPCclsORO]=0.;
  for(j=63; j<159; ++j) n+=tpcClusterMap.TestBitNumber(j);
  if(n>=threshold) values[AliDielectronVarManager::kTPCclsORO] = n;

  
  values[AliDielectronVarManager::kTrackStatus]   = (Double_t)particle->GetStatus();
  values[AliDielectronVarManager::kFilterBit]     = 0;
  
  values[AliDielectronVarManager::kTPCchi2Cl] = -1;
  if (tpcNcls>0) values[AliDielectronVarManager::kTPCchi2Cl] = particle->GetTPCchi2() / tpcNcls;
  values[AliDielectronVarManager::kITSchi2Cl] = -1;
  if (itsNcls>0) values[AliDielectronVarManager::kITSchi2Cl] = particle->GetITSchi2() / itsNcls;
  //TRD pidProbs
  particle->GetTRDpid(pidProbs);
  values[AliDielectronVarManager::kTRDprobEle]    = pidProbs[AliPID::kElectron];
  values[AliDielectronVarManager::kTRDprobPio]    = pidProbs[AliPID::kPion];

  values[AliDielectronVarManager::kV0Index0]      = particle->GetV0Index(0);
  values[AliDielectronVarManager::kKinkIndex0]    = particle->GetKinkIndex(0);
  
  Float_t impactParXY, impactParZ;
  particle->GetImpactParameters(impactParXY, impactParZ);
  values[AliDielectronVarManager::kImpactParXY]   = impactParXY;
  values[AliDielectronVarManager::kImpactParZ]    = impactParZ;


  values[AliDielectronVarManager::kPdgCode]=-1;
  values[AliDielectronVarManager::kPdgCodeMother]=-1;
  values[AliDielectronVarManager::kPdgCodeGrandMother]=-1;
  values[AliDielectronVarManager::kHasCocktailMother]=0;
  values[AliDielectronVarManager::kHasCocktailGrandMother]=0;
  
  values[AliDielectronVarManager::kNumberOfDaughters]=-999;
  
  AliDielectronMC *mc=AliDielectronMC::Instance();
  if (mc->HasMC()){
    if (mc->GetMCTrack(particle)) {
      Int_t trkLbl = TMath::Abs(mc->GetMCTrack(particle)->GetLabel());
      values[AliDielectronVarManager::kPdgCode]           =mc->GetMCTrack(particle)->PdgCode();
      values[AliDielectronVarManager::kHasCocktailMother] =mc->CheckParticleSource(trkLbl, AliDielectronSignalMC::kDirect);
      values[AliDielectronVarManager::kPdgCodeMother]     =mc->GetMotherPDG(particle);
      AliMCParticle *motherMC=mc->GetMCTrackMother(particle); //mother
      if(motherMC) values[AliDielectronVarManager::kPdgCodeGrandMother]=mc->GetMotherPDG(motherMC);
    }
    values[AliDielectronVarManager::kNumberOfDaughters]=mc->NumberOfDaughters(particle);
  } //if(mc->HasMC())
  

  values[AliDielectronVarManager::kITSsignal]   =   particle->GetITSsignal();
  
  Double_t itsdEdx[4];
  particle->GetITSdEdxSamples(itsdEdx);

  values[AliDielectronVarManager::kITSsignalSSD1]   =   itsdEdx[0];
  values[AliDielectronVarManager::kITSsignalSSD2]   =   itsdEdx[1];
  values[AliDielectronVarManager::kITSsignalSDD1]   =   itsdEdx[2];
  values[AliDielectronVarManager::kITSsignalSDD2]   =   itsdEdx[3];
  values[AliDielectronVarManager::kITSclusterMap]   =   particle->GetITSClusterMap();
  values[AliDielectronVarManager::kITSLayerFirstCls] = -1.;

  for (Int_t iC=0; iC<6; iC++) {
    if (((particle->GetITSClusterMap()) & (1<<(iC))) > 0) {
      values[AliDielectronVarManager::kITSLayerFirstCls] = iC;
      break;
    }
  }

  
  values[AliDielectronVarManager::kTrackLength]   = particle->GetIntegratedLength();
  //dEdx information
  Double_t mom = particle->GetP();
  const AliExternalTrackParam *in=particle->GetInnerParam();
  Double_t ysignedIn=-100;
  if (in) {
    mom = in->GetP();
    ysignedIn=particle->Charge()*in->GetY();
  }
  values[AliDielectronVarManager::kPIn]=mom;
  values[AliDielectronVarManager::kYsignedIn]=ysignedIn;
  const AliExternalTrackParam *out=particle->GetOuterParam();
  if(out) values[AliDielectronVarManager::kPOut] = out->GetP();
  else values[AliDielectronVarManager::kPOut] = mom;
  if(out && fgEvent) {
    Double_t localCoord[3]={0.0};
    Bool_t localCoordGood = out->GetXYZAt(298.0, ((AliESDEvent*)fgEvent)->GetMagneticField(), localCoord);
    values[AliDielectronVarManager::kTRDphi] = (localCoordGood && TMath::Abs(localCoord[0])>1.0e-6 && TMath::Abs(localCoord[1])>1.0e-6 ? TMath::ATan2(localCoord[1], localCoord[0]) : -999.);
  }
  if(mc->HasMC() && fgTRDpidEff[0][0]) {
    Int_t runNo = (fgEvent ? fgEvent->GetRunNumber() : -1);
    Float_t centrality=-1.0;
    AliCentrality *esdCentrality = (fgEvent ? fgEvent->GetCentrality() : 0x0);
    if(esdCentrality) centrality = esdCentrality->GetCentralityPercentile("V0M");
    Double_t effErr=0.0;
    values[kTRDpidEffLeg] = GetTRDpidEfficiency(runNo, centrality, values[AliDielectronVarManager::kEta], 
 						values[AliDielectronVarManager::kTRDphi], 
 						values[AliDielectronVarManager::kPOut], effErr);
  }
  values[AliDielectronVarManager::kTPCsignal]=particle->GetTPCsignal();
  
  values[AliDielectronVarManager::kTOFsignal]=particle->GetTOFsignal();
  
  Double_t l = particle->GetIntegratedLength();  // cm
  Double_t t = particle->GetTOFsignal();
  Double_t t0 = fgPIDResponse->GetTOFResponse().GetTimeZero(); // ps

  if( (l < 360. || l > 800.) || (t <= 0.) || (t0 >999990.0) ) {
	values[AliDielectronVarManager::kTOFbeta]=0.0;
  }
  else {
	t -= t0; // subtract the T0
	l *= 0.01;  // cm ->m
	t *= 1e-12; //ps -> s
    
	Double_t v = l / t;
	Float_t beta = v / TMath::C();
	values[AliDielectronVarManager::kTOFbeta]=beta;
  }
  values[AliDielectronVarManager::kTOFPIDBit]=(particle->GetStatus()&AliESDtrack::kTOFpid? 1: 0);

  values[AliDielectronVarManager::kTOFmismProb] = fgPIDResponse->GetTOFMismatchProbability(particle);
  
  // nsigma to Electron band
  // TODO: for the moment we set the bethe bloch parameters manually
  //       this should be changed in future!
  values[AliDielectronVarManager::kTPCnSigmaEleRaw]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kElectron);
  values[AliDielectronVarManager::kTPCnSigmaEle]=(fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kElectron)-AliDielectronPID::GetCorrVal()-AliDielectronPID::GetCntrdCorr(particle)) / AliDielectronPID::GetWdthCorr(particle);

  values[AliDielectronVarManager::kTPCnSigmaPio]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kPion);
  values[AliDielectronVarManager::kTPCnSigmaMuo]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kMuon);
  values[AliDielectronVarManager::kTPCnSigmaKao]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kKaon);
  values[AliDielectronVarManager::kTPCnSigmaPro]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kProton);

  values[AliDielectronVarManager::kITSnSigmaEle]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kElectron);
  values[AliDielectronVarManager::kITSnSigmaPio]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kPion);
  values[AliDielectronVarManager::kITSnSigmaMuo]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kMuon);
  values[AliDielectronVarManager::kITSnSigmaKao]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kKaon);
  values[AliDielectronVarManager::kITSnSigmaPro]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kProton);

  values[AliDielectronVarManager::kTOFnSigmaEle]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kElectron);
  values[AliDielectronVarManager::kTOFnSigmaPio]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kPion);
  values[AliDielectronVarManager::kTOFnSigmaMuo]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kMuon);
  values[AliDielectronVarManager::kTOFnSigmaKao]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kKaon);
  values[AliDielectronVarManager::kTOFnSigmaPro]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kProton);

  //EMCAL PID information
  Double_t eop=0;
  Double_t showershape[4]={0.,0.,0.,0.};
//   values[AliDielectronVarManager::kEMCALnSigmaEle]  = fgPIDResponse->NumberOfSigmasEMCAL(particle,AliPID::kElectron);
  values[AliDielectronVarManager::kEMCALnSigmaEle]  = fgPIDResponse->NumberOfSigmasEMCAL(particle,AliPID::kElectron,eop,showershape);
  values[AliDielectronVarManager::kEMCALEoverP]     = eop;
  values[AliDielectronVarManager::kEMCALE]          = eop*values[AliDielectronVarManager::kP];
  values[AliDielectronVarManager::kEMCALNCells]     = showershape[0];
  values[AliDielectronVarManager::kEMCALM02]        = showershape[1];
  values[AliDielectronVarManager::kEMCALM20]        = showershape[2];
  values[AliDielectronVarManager::kEMCALDispersion] = showershape[3];

  values[AliDielectronVarManager::kLegEff]        = GetSingleLegEff(values);
  values[AliDielectronVarManager::kOneOverLegEff] = (values[AliDielectronVarManager::kLegEff]>0.0 ? 1./values[AliDielectronVarManager::kLegEff] : 0.0);
  //restore TPC signal if it was changed
  if (esdTrack) esdTrack->SetTPCsignal(origdEdx,esdTrack->GetTPCsignalSigma(),esdTrack->GetTPCsignalN());
}

inline void AliDielectronVarManager::FillVarAODTrack(const AliAODTrack *particle, Double_t * const values)
{
  //
  // Fill track information available for histogramming into an array
  //

  // Fill common AliVParticle interface information
  FillVarVParticle(particle, values);
  Double_t tpcNcls=particle->GetTPCNcls();

  //GetNclsS not present in AODtrack
  //Replace with method as soon as available
  TBits tpcSharedMap = particle->GetTPCSharedMap();   
  Double_t tpcNclsS=  tpcSharedMap.CountBits(0)-tpcSharedMap.CountBits(159);

  // Reset AliESDtrack interface specific information
  if(Req(kNclsITS))      values[AliDielectronVarManager::kNclsITS]       = particle->GetITSNcls();
  if(Req(kITSchi2Cl))    values[AliDielectronVarManager::kITSchi2Cl]     = -1;
  if(Req(kNclsTPC))      values[AliDielectronVarManager::kNclsTPC]       = tpcNcls;
  if(Req(kNclsSTPC))     values[AliDielectronVarManager::kNclsSTPC]      = tpcNclsS;
  if(Req(kNclsSFracTPC)) values[AliDielectronVarManager::kNclsSFracTPC]  = tpcNcls>0?tpcNclsS/tpcNcls:0;
  if(Req(kNclsTPCiter1)) values[AliDielectronVarManager::kNclsTPCiter1]  = tpcNcls; // not really available in AOD
  if(Req(kNFclsTPC)  || Req(kNFclsTPCfCross))  values[AliDielectronVarManager::kNFclsTPC]      = particle->GetTPCNclsF();
  if(Req(kNFclsTPCr) || Req(kNFclsTPCfCross))  values[AliDielectronVarManager::kNFclsTPCr]     = particle->GetTPCClusterInfo(2,1);
  if(Req(kNFclsTPCrFrac))  values[AliDielectronVarManager::kNFclsTPCrFrac] = particle->GetTPCClusterInfo(2);
  if(Req(kNFclsTPCfCross)) values[AliDielectronVarManager::kNFclsTPCfCross]= (values[kNFclsTPC]>0)?(values[kNFclsTPCr]/values[kNFclsTPC]):0;
  if(Req(kNclsTRD))        values[AliDielectronVarManager::kNclsTRD]       = 0;
  if(Req(kTRDntracklets))  values[AliDielectronVarManager::kTRDntracklets] = 0;
  if(Req(kTRDpidQuality))  values[AliDielectronVarManager::kTRDpidQuality] = particle->GetTRDntrackletsPID();
  if(Req(kTRDchi2))        values[AliDielectronVarManager::kTRDchi2]       = (particle->GetTRDntrackletsPID()!=0.?particle->GetTRDchi2():-1);
  if(Req(kTRDsignal))      values[AliDielectronVarManager::kTRDsignal]     = particle->GetTRDsignal();


  TBits tpcClusterMap = particle->GetTPCClusterMap();
  UChar_t n=0; UChar_t j=0;
  UChar_t threshold = 5;

  values[AliDielectronVarManager::kTPCclsSegments] = 0.0;
  if(Req(kTPCclsSegments)) {
    for(UChar_t i=0; i<8; ++i) {
      n=0;
      for(j=i*20; j<(i+1)*20 && j<159; ++j) n+=tpcClusterMap.TestBitNumber(j);
      if(n>=threshold) values[AliDielectronVarManager::kTPCclsSegments] += 1.0;
    }
  }

  values[AliDielectronVarManager::kTPCclsIRO]=0.;
  if(Req(kTPCclsIRO)) {
    n=0;
    threshold=0;
    for(j=0; j<63; ++j) n+=tpcClusterMap.TestBitNumber(j);
    if(n>=threshold) values[AliDielectronVarManager::kTPCclsIRO] = n;
  }

  values[AliDielectronVarManager::kTPCclsORO]=0.;
  if(Req(kTPCclsORO)) {
    n=0;
    threshold=0;
    for(j=63; j<159; ++j) n+=tpcClusterMap.TestBitNumber(j);
    if(n>=threshold) values[AliDielectronVarManager::kTPCclsORO] = n;
  }

  // it is stored as normalized to tpcNcls-5 (see AliAnalysisTaskESDfilter)
  if(Req(kTPCchi2Cl))   values[AliDielectronVarManager::kTPCchi2Cl]     = (tpcNcls>0)?particle->Chi2perNDF()*(tpcNcls-5)/tpcNcls:-1.;
  if(Req(kTrackStatus)) values[AliDielectronVarManager::kTrackStatus]   = (Double_t)particle->GetStatus();
  if(Req(kFilterBit))   values[AliDielectronVarManager::kFilterBit]     = (Double_t)particle->GetFilterMap();

  //TRD pidProbs
  values[AliDielectronVarManager::kTRDprobEle]    = 0;
  values[AliDielectronVarManager::kTRDprobPio]    = 0;

  values[AliDielectronVarManager::kTPCsignalN]    = 0;
  values[AliDielectronVarManager::kTPCsignalNfrac]= 0;

  // Fill AliAODTrack interface information
  //
  Int_t v0Index=-1;
  Int_t kinkIndex=-1;
  if( (Req(kV0Index0) || Req(kKinkIndex0)) && particle->GetProdVertex()) {
    v0Index   = particle->GetProdVertex()->GetType()==AliAODVertex::kV0   ? 1 : 0;
    kinkIndex = particle->GetProdVertex()->GetType()==AliAODVertex::kKink ? 1 : 0;
  }
  values[AliDielectronVarManager::kV0Index0]      = v0Index;
  values[AliDielectronVarManager::kKinkIndex0]    = kinkIndex;

  Double_t d0z0[2]={-999.0,-999.0};
  if(Req(kImpactParXY) || Req(kImpactParZ)) GetDCA(particle, d0z0);
  values[AliDielectronVarManager::kImpactParXY]   = d0z0[0];
  values[AliDielectronVarManager::kImpactParZ]    = d0z0[1];

  values[AliDielectronVarManager::kPIn]            =  0.;
  values[AliDielectronVarManager::kTPCsignal]      =  0.;
  values[AliDielectronVarManager::kTPCsignalN]     = -1.;
  values[AliDielectronVarManager::kTPCsignalNfrac] = -1.;
  values[AliDielectronVarManager::kTPCclsDiff]     = -999.;
  
  values[AliDielectronVarManager::kTOFsignal]=0;
  values[AliDielectronVarManager::kTOFbeta]=0;

  values[AliDielectronVarManager::kTPCnSigmaEleRaw]=0;
  values[AliDielectronVarManager::kTPCnSigmaEle]=0;
  values[AliDielectronVarManager::kTPCnSigmaPio]=0;
  values[AliDielectronVarManager::kTPCnSigmaMuo]=0;
  values[AliDielectronVarManager::kTPCnSigmaKao]=0;
  values[AliDielectronVarManager::kTPCnSigmaPro]=0;

  values[AliDielectronVarManager::kTOFnSigmaEle]=0;
  values[AliDielectronVarManager::kTOFnSigmaPio]=0;
  values[AliDielectronVarManager::kTOFnSigmaMuo]=0;
  values[AliDielectronVarManager::kTOFnSigmaKao]=0;
  values[AliDielectronVarManager::kTOFnSigmaPro]=0;
  
  if(Req(kITSsignal))        values[AliDielectronVarManager::kITSsignal]        =   particle->GetITSsignal();
  if(Req(kITSclusterMap))    values[AliDielectronVarManager::kITSclusterMap]    =   particle->GetITSClusterMap();
  if(Req(kITSLayerFirstCls)) values[AliDielectronVarManager::kITSLayerFirstCls] = -1.;
  for (Int_t iC=0; iC<6; iC++) {
    if (((particle->GetITSClusterMap()) & (1<<(iC))) > 0) {
      if(Req(kITSLayerFirstCls)) values[AliDielectronVarManager::kITSLayerFirstCls] = iC;
      break;
    }
  }

  AliAODPid *pid=const_cast<AliAODPid*>(particle->GetDetPid());
  if (pid) {
    Double_t origdEdx=pid->GetTPCsignal();
    //overwrite signal
    pid->SetTPCsignal(origdEdx/AliDielectronPID::GetEtaCorr(particle)/AliDielectronPID::GetCorrValdEdx());

    Double_t tpcSignalN=0.0;
    if(Req(kTPCsignalN) || Req(kTPCsignalNfrac) || Req(kTPCclsDiff)) tpcSignalN = pid->GetTPCsignalN();
    values[AliDielectronVarManager::kTPCsignalN]     = tpcSignalN;
    values[AliDielectronVarManager::kTPCsignalNfrac] = tpcNcls>0?tpcSignalN/tpcNcls:0;
    values[AliDielectronVarManager::kTPCclsDiff]     = tpcSignalN-tpcNcls;

    values[AliDielectronVarManager::kPIn]         = pid->GetTPCmomentum();
    if(Req(kTPCsignal))   values[AliDielectronVarManager::kTPCsignal]   = pid->GetTPCsignal();
    if(Req(kTOFsignal))   values[AliDielectronVarManager::kTOFsignal]   = pid->GetTOFsignal();
    if(Req(kTOFmismProb)) values[AliDielectronVarManager::kTOFmismProb] = fgPIDResponse->GetTOFMismatchProbability(particle);

    // TOF beta calculation
    if(Req(kTOFbeta)) {
      Double32_t expt[5];
      particle->GetIntegratedTimes(expt);         // ps
      Double_t l  = TMath::C()* expt[0]*1e-12;    // m
      Double_t t  = pid->GetTOFsignal();          // ps start time subtracted (until v5-02-Rev09)
      AliTOFHeader* tofH=0x0;                     // from v5-02-Rev10 on subtract the start time
      if(fgEvent) tofH = (AliTOFHeader*)fgEvent->GetTOFHeader();
      if(tofH) t -= fgPIDResponse->GetTOFResponse().GetStartTime(particle->P()); // ps

    if( (l < 360.e-2 || l > 800.e-2) || (t <= 0.) ) {
      values[AliDielectronVarManager::kTOFbeta]  =0;
    }
    else {
      t *= 1e-12; //ps -> s

	Double_t v = l / t;
	Float_t beta = v / TMath::C();
	values[AliDielectronVarManager::kTOFbeta]=beta;
      }
    }

    // nsigma for various detectors
    if(Req(kTPCnSigmaEleRaw)) values[kTPCnSigmaEleRaw]= fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kElectron);
    if(Req(kTPCnSigmaEle))    values[kTPCnSigmaEle]   =(fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kElectron)
							-AliDielectronPID::GetCorrVal()-
							AliDielectronPID::GetCntrdCorr(particle)) / AliDielectronPID::GetWdthCorr(particle);

    if(Req(kTPCnSigmaPio)) values[kTPCnSigmaPio]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kPion);
    if(Req(kTPCnSigmaMuo)) values[kTPCnSigmaMuo]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kMuon);
    if(Req(kTPCnSigmaKao)) values[kTPCnSigmaKao]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kKaon);
    if(Req(kTPCnSigmaPro)) values[kTPCnSigmaPro]=fgPIDResponse->NumberOfSigmasTPC(particle,AliPID::kProton);

    if(Req(kITSnSigmaEle)) values[kITSnSigmaEle]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kElectron);
    if(Req(kITSnSigmaPio)) values[kITSnSigmaPio]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kPion);
    if(Req(kITSnSigmaMuo)) values[kITSnSigmaMuo]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kMuon);
    if(Req(kITSnSigmaKao)) values[kITSnSigmaKao]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kKaon);
    if(Req(kITSnSigmaPro)) values[kITSnSigmaPro]=fgPIDResponse->NumberOfSigmasITS(particle,AliPID::kProton);

    if(Req(kTOFnSigmaEle)) values[kTOFnSigmaEle]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kElectron);
    if(Req(kTOFnSigmaPio)) values[kTOFnSigmaPio]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kPion);
    if(Req(kTOFnSigmaMuo)) values[kTOFnSigmaMuo]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kMuon);
    if(Req(kTOFnSigmaKao)) values[kTOFnSigmaKao]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kKaon);
    if(Req(kTOFnSigmaPro)) values[kTOFnSigmaPro]=fgPIDResponse->NumberOfSigmasTOF(particle,AliPID::kProton);

    Double_t prob[AliPID::kSPECIES]={0.0};
    // switch computation off since it takes 70% of the CPU time for filling all AODtrack variables
    // TODO: find a solution when this is needed (maybe at fill time in histos, CFcontainer and cut selection)
    if( Req(kTRDprobEle) || Req(kTRDprobPio) ) fgPIDResponse->ComputeTRDProbability(particle,AliPID::kSPECIES,prob);
    values[AliDielectronVarManager::kTRDprobEle]      = prob[AliPID::kElectron];
    values[AliDielectronVarManager::kTRDprobPio]      = prob[AliPID::kPion];
    // if( Req(kTRDprob2DEle) || Req(kTRDprob2DPio) )
    //   fgPIDResponse->ComputeTRDProbability(particle,AliPID::kSPECIES,prob, AliTRDPIDResponse::kLQ2D);
    values[AliDielectronVarManager::kTRDprob2DEle]    = prob[AliPID::kElectron];
    values[AliDielectronVarManager::kTRDprob2DPio]    = prob[AliPID::kPion];

    //restore TPC signal if it was changed
    pid->SetTPCsignal(origdEdx);
  }

  //EMCAL PID information
  Double_t eop=0;
  Double_t showershape[4]={0.,0.,0.,0.};
//   if(Req()) values[AliDielectronVarManager::kEMCALnSigmaEle]  = fgPIDResponse->NumberOfSigmasEMCAL(particle,AliPID::kElectron);
  if(Req(kEMCALnSigmaEle) || Req(kEMCALE) || Req(kEMCALEoverP) || 
     Req(kEMCALNCells) || Req(kEMCALM02) || Req(kEMCALM20) || Req(kEMCALDispersion))
    values[AliDielectronVarManager::kEMCALnSigmaEle]  = fgPIDResponse->NumberOfSigmasEMCAL(particle,AliPID::kElectron,eop,showershape);
  values[AliDielectronVarManager::kEMCALEoverP]     = eop;
  values[AliDielectronVarManager::kEMCALE]          = eop*values[AliDielectronVarManager::kP];
  values[AliDielectronVarManager::kEMCALNCells]     = showershape[0];
  values[AliDielectronVarManager::kEMCALM02]        = showershape[1];
  values[AliDielectronVarManager::kEMCALM20]        = showershape[2];
  values[AliDielectronVarManager::kEMCALDispersion] = showershape[3];

  values[AliDielectronVarManager::kPdgCode]=-1;
  values[AliDielectronVarManager::kPdgCodeMother]=-1;
  values[AliDielectronVarManager::kPdgCodeGrandMother]=-1;
  values[AliDielectronVarManager::kHasCocktailMother]=0;
  values[AliDielectronVarManager::kHasCocktailGrandMother]=0;

  values[AliDielectronVarManager::kNumberOfDaughters]=-1;

  AliDielectronMC *mc=AliDielectronMC::Instance();
  if (mc->HasMC()){
    if (mc->GetMCTrack(particle)) {
      Int_t trkLbl = TMath::Abs(mc->GetMCTrack(particle)->GetLabel());
      values[AliDielectronVarManager::kPdgCode]           =mc->GetMCTrack(particle)->PdgCode();
      values[AliDielectronVarManager::kHasCocktailMother] =mc->CheckParticleSource(trkLbl, AliDielectronSignalMC::kDirect);
      values[AliDielectronVarManager::kPdgCodeMother]     =mc->GetMotherPDG(particle);
      AliAODMCParticle *motherMC=mc->GetMCTrackMother(particle); //mother
      if(motherMC) values[AliDielectronVarManager::kPdgCodeGrandMother]=mc->GetMotherPDG(motherMC);
    }
    values[AliDielectronVarManager::kNumberOfDaughters]=mc->NumberOfDaughters(particle);
  } //if(mc->HasMC())

  if(Req(kTOFPIDBit))     values[AliDielectronVarManager::kTOFPIDBit]=(particle->GetStatus()&AliESDtrack::kTOFpid? 1: 0);
  values[AliDielectronVarManager::kLegEff]=0.0;
  values[AliDielectronVarManager::kOneOverLegEff]=0.0;
  if(Req(kLegEff) || Req(kOneOverLegEff)) {
    values[AliDielectronVarManager::kLegEff] = GetSingleLegEff(values);
    values[AliDielectronVarManager::kOneOverLegEff] = (values[AliDielectronVarManager::kLegEff]>0.0 ? 1./values[AliDielectronVarManager::kLegEff] : 0.0);
  }

}

inline void AliDielectronVarManager::FillVarMCParticle(const AliMCParticle *particle, Double_t * const values)
{
  //
  // Fill track information available for histogramming into an array
  //

  values[AliDielectronVarManager::kNclsITS]       = 0;
  values[AliDielectronVarManager::kITSchi2Cl]     = 0;
  values[AliDielectronVarManager::kNclsTPC]       = 0;
  values[AliDielectronVarManager::kNclsSTPC]      = 0;
  values[AliDielectronVarManager::kNclsSFracTPC]  = 0;
  values[AliDielectronVarManager::kNclsTPCiter1]  = 0; 
  values[AliDielectronVarManager::kNFclsTPC]      = 0;
  values[AliDielectronVarManager::kNFclsTPCr]     = 0;
  values[AliDielectronVarManager::kNFclsTPCrFrac] = 0;
  values[AliDielectronVarManager::kNclsTRD]       = 0;
  values[AliDielectronVarManager::kTRDntracklets] = 0;
  values[AliDielectronVarManager::kTRDpidQuality] = 0;
  values[AliDielectronVarManager::kTPCchi2Cl]     = 0;
  values[AliDielectronVarManager::kTrackStatus]   = 0;
  values[AliDielectronVarManager::kFilterBit]     = 0;
  values[AliDielectronVarManager::kTRDprobEle]    = 0;
  values[AliDielectronVarManager::kTRDprobPio]    = 0;
  values[AliDielectronVarManager::kTPCsignalN]    = 0;
  values[AliDielectronVarManager::kTPCclsDiff]    = 0;
  values[AliDielectronVarManager::kTPCsignalNfrac]    = 0;
  values[AliDielectronVarManager::kImpactParXY]   = 0;
  values[AliDielectronVarManager::kImpactParZ]    = 0;
  values[AliDielectronVarManager::kPIn]           = 0;
  values[AliDielectronVarManager::kYsignedIn]     = 0;
  values[AliDielectronVarManager::kTPCsignal]     = 0;
  values[AliDielectronVarManager::kTOFsignal]     = 0;
  values[AliDielectronVarManager::kTOFbeta]       = 0;
  values[AliDielectronVarManager::kTPCnSigmaEleRaw]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaEle]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaPio]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaMuo]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaKao]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaPro]  = 0;
  values[AliDielectronVarManager::kITSclusterMap] = 0;
  
  values[AliDielectronVarManager::kPdgCode]       = -1;
  values[AliDielectronVarManager::kPdgCodeMother] = -1;
  values[AliDielectronVarManager::kPdgCodeGrandMother] = -1;
  values[AliDielectronVarManager::kHasCocktailMother]=0;
  values[AliDielectronVarManager::kHasCocktailGrandMother]=0;

  // Fill common AliVParticle interface information
  FillVarVParticle(particle, values);

  // Fill AliMCParticle interface specific information
  AliDielectronMC *mc=AliDielectronMC::Instance();
  Int_t trkLbl = TMath::Abs(particle->GetLabel());
  values[AliDielectronVarManager::kPdgCode]           = particle->PdgCode();
  values[AliDielectronVarManager::kHasCocktailMother] = mc->CheckParticleSource(trkLbl, AliDielectronSignalMC::kDirect);
  values[AliDielectronVarManager::kPdgCodeMother]     = mc->GetMotherPDG(particle);
  AliMCParticle *motherMC=mc->GetMCTrackMother(particle); //mother
  if(motherMC) values[AliDielectronVarManager::kPdgCodeGrandMother]=mc->GetMotherPDG(motherMC);


  values[AliDielectronVarManager::kIsJpsiPrimary] = mc->IsJpsiPrimary(particle);
  values[AliDielectronVarManager::kNumberOfDaughters]=mc->NumberOfDaughters(particle);
}


inline void AliDielectronVarManager::FillVarMCParticle2(const AliVParticle *p1, const AliVParticle *p2, Double_t * const values) {
  //
  // fill 2 track information starting from MC legs
  //

  values[AliDielectronVarManager::kNclsITS]       = 0;
  values[AliDielectronVarManager::kITSchi2Cl]     = -1;
  values[AliDielectronVarManager::kNclsTPC]       = 0;
  values[AliDielectronVarManager::kNclsSTPC]       = 0;
  values[AliDielectronVarManager::kNclsSFracTPC]  = 0;
  values[AliDielectronVarManager::kNclsTPCiter1]  = 0; 
  values[AliDielectronVarManager::kNFclsTPC]      = 0;
  values[AliDielectronVarManager::kNFclsTPCr]     = 0;
  values[AliDielectronVarManager::kNFclsTPCrFrac] = 0;
  values[AliDielectronVarManager::kNclsTRD]       = 0;
  values[AliDielectronVarManager::kTRDntracklets] = 0;
  values[AliDielectronVarManager::kTRDpidQuality] = 0;
  values[AliDielectronVarManager::kTPCchi2Cl]     = 0;
  values[AliDielectronVarManager::kTrackStatus]   = 0;
  values[AliDielectronVarManager::kFilterBit]     = 0;
  values[AliDielectronVarManager::kTRDprobEle]    = 0;
  values[AliDielectronVarManager::kTRDprobPio]    = 0;
  values[AliDielectronVarManager::kTPCsignalN]    = 0;
  values[AliDielectronVarManager::kTPCclsDiff]    = 0;
  values[AliDielectronVarManager::kTPCsignalNfrac]    = 0;
  values[AliDielectronVarManager::kImpactParXY]   = 0;
  values[AliDielectronVarManager::kImpactParZ]    = 0;
  values[AliDielectronVarManager::kPIn]           = 0;
  values[AliDielectronVarManager::kYsignedIn]     = 0;
  values[AliDielectronVarManager::kTPCsignal]     = 0;
  values[AliDielectronVarManager::kTPCnSigmaEleRaw]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaEle]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaPio]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaMuo]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaKao]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaPro]  = 0;
  values[AliDielectronVarManager::kITSclusterMap] = 0;
  
  values[AliDielectronVarManager::kPdgCode]       = -1;
  values[AliDielectronVarManager::kPdgCodeMother] = -1;
  values[AliDielectronVarManager::kHasCocktailMother]=0;

  AliDielectronMC *mc=AliDielectronMC::Instance();
  AliVParticle* mother=0x0;
  Int_t mLabel1 = mc->GetMothersLabel(p1->GetLabel());
  Int_t mLabel2 = mc->GetMothersLabel(p2->GetLabel());
  if(mLabel1==mLabel2)
    mother = mc->GetMCTrackFromMCEvent(mLabel1);

  values[AliDielectronVarManager::kPseudoProperTime] = -2e10;
  if(mother) {    // same mother
    FillVarVParticle(mother, values);
    Double_t vtxX, vtxY, vtxZ;
    mc->GetPrimaryVertex(vtxX,vtxY,vtxZ);
    Double_t lxy = ((mother->Xv()- vtxX) * mother->Px() + 
		    (mother->Yv()- vtxY) * mother->Py() )/mother->Pt();
    values[AliDielectronVarManager::kPseudoProperTime] = lxy*(TDatabasePDG::Instance()->GetParticle(443)->Mass())/mother->Pt();
  }
  // AliVParticle part
  values[AliDielectronVarManager::kPx]        = p1->Px()+p2->Px();
  values[AliDielectronVarManager::kPy]        = p1->Py()+p2->Py();
  values[AliDielectronVarManager::kPz]        = p1->Pz()+p2->Pz();
  values[AliDielectronVarManager::kPt]        = TMath::Sqrt(values[AliDielectronVarManager::kPx]*
						      values[AliDielectronVarManager::kPx]+
						      values[AliDielectronVarManager::kPy]*
						      values[AliDielectronVarManager::kPy]);
  values[AliDielectronVarManager::kPtSq]      = values[AliDielectronVarManager::kPt] * values[AliDielectronVarManager::kPt];
  values[AliDielectronVarManager::kP]         = TMath::Sqrt(values[AliDielectronVarManager::kPt]*
						      values[AliDielectronVarManager::kPt]+
						      values[AliDielectronVarManager::kPz]*
						      values[AliDielectronVarManager::kPz]);
    
  values[AliDielectronVarManager::kXv]        = 0;
  values[AliDielectronVarManager::kYv]        = 0;
  values[AliDielectronVarManager::kZv]        = 0;
    
  values[AliDielectronVarManager::kOneOverPt] = (values[AliDielectronVarManager::kPt]>1.0e-6 ? 1.0/values[AliDielectronVarManager::kPt] : 0.0);
  values[AliDielectronVarManager::kPhi]       = TVector2::Phi_0_2pi( TMath::ATan2(values[AliDielectronVarManager::kPy],values[AliDielectronVarManager::kPx]) );
  values[AliDielectronVarManager::kTheta]     = TMath::ATan2(values[AliDielectronVarManager::kPt],values[AliDielectronVarManager::kPz]);
  values[AliDielectronVarManager::kEta]       = ((values[AliDielectronVarManager::kP]-values[AliDielectronVarManager::kPz])>1.0e-6 && (values[AliDielectronVarManager::kP]+values[AliDielectronVarManager::kPz])>1.0e-6 ? 0.5*TMath::Log((values[AliDielectronVarManager::kP]+values[AliDielectronVarManager::kPz])/(values[AliDielectronVarManager::kP]-values[AliDielectronVarManager::kPz])) : -9999.);
  values[AliDielectronVarManager::kE]         = p1->E()+p2->E();
  values[AliDielectronVarManager::kY]         = ((values[AliDielectronVarManager::kE]-values[AliDielectronVarManager::kPz])>1.0e-6 && (values[AliDielectronVarManager::kE]+values[AliDielectronVarManager::kPz])>1.0e-6 ? 0.5*TMath::Log((values[AliDielectronVarManager::kE]+values[AliDielectronVarManager::kPz])/(values[AliDielectronVarManager::kE]-values[AliDielectronVarManager::kPz])) : -9999.);
  values[AliDielectronVarManager::kCharge]    = p1->Charge()+p2->Charge();

  values[AliDielectronVarManager::kM]         = p1->M()*p1->M()+p2->M()*p2->M()+
                       2.0*(p1->E()*p2->E()-p1->Px()*p2->Px()-p1->Py()*p2->Py()-p1->Pz()*p2->Pz());
  values[AliDielectronVarManager::kM]         = (values[AliDielectronVarManager::kM]>1.0e-8 ? TMath::Sqrt(values[AliDielectronVarManager::kM]) : -1.0);

  if ( fgEvent ) AliDielectronVarManager::Fill(fgEvent, values);  

  values[AliDielectronVarManager::kThetaHE]   = AliDielectronPair::ThetaPhiCM(p1,p2,kTRUE,  kTRUE);
  values[AliDielectronVarManager::kPhiHE]     = AliDielectronPair::ThetaPhiCM(p1,p2,kTRUE,  kFALSE);
  values[AliDielectronVarManager::kThetaSqHE]  = values[AliDielectronVarManager::kThetaHE] * values[AliDielectronVarManager::kThetaHE];
  values[AliDielectronVarManager::kCos2PhiHE] = TMath::Cos(2*values[AliDielectronVarManager::kPhiHE]);
  values[AliDielectronVarManager::kThetaCS]   = AliDielectronPair::ThetaPhiCM(p1,p2,kFALSE, kTRUE);
  values[AliDielectronVarManager::kPhiCS]     = AliDielectronPair::ThetaPhiCM(p1,p2,kFALSE, kFALSE);
  values[AliDielectronVarManager::kThetaSqCS]  = values[AliDielectronVarManager::kThetaCS] * values[AliDielectronVarManager::kThetaCS];
  values[AliDielectronVarManager::kCos2PhiCS] = TMath::Cos(2*values[AliDielectronVarManager::kPhiCS]);
  values[AliDielectronVarManager::kCosTilPhiHE]  = (values[AliDielectronVarManager::kThetaHE]>0)?(TMath::Cos(values[AliDielectronVarManager::kPhiHE]-TMath::Pi()/4.)):(TMath::Cos(values[AliDielectronVarManager::kPhiHE]-3*TMath::Pi()/4.));
  values[AliDielectronVarManager::kCosTilPhiCS]  = (values[AliDielectronVarManager::kThetaCS]>0)?(TMath::Cos(values[AliDielectronVarManager::kPhiCS]-TMath::Pi()/4.)):(TMath::Cos(values[AliDielectronVarManager::kPhiCS]-3*TMath::Pi()/4.));
}


inline void AliDielectronVarManager::FillVarAODMCParticle(const AliAODMCParticle *particle, Double_t * const values)
{
  //
  // Fill track information available for histogramming into an array
  //

  values[AliDielectronVarManager::kNclsITS]       = 0;
  values[AliDielectronVarManager::kITSchi2Cl]     = -1;
  values[AliDielectronVarManager::kNclsTPC]       = 0;
  values[AliDielectronVarManager::kNclsSTPC]      = 0;
  values[AliDielectronVarManager::kNclsSFracTPC]  = 0;
  values[AliDielectronVarManager::kNclsTPCiter1]  = 0;
  values[AliDielectronVarManager::kNFclsTPC]      = 0;
  values[AliDielectronVarManager::kNclsTRD]       = 0;
  values[AliDielectronVarManager::kTRDntracklets] = 0;
  values[AliDielectronVarManager::kTRDpidQuality] = 0;
  values[AliDielectronVarManager::kTPCchi2Cl]     = 0;
  values[AliDielectronVarManager::kTrackStatus]   = 0;
  values[AliDielectronVarManager::kFilterBit]     = 0;
  values[AliDielectronVarManager::kTRDprobEle]    = 0;
  values[AliDielectronVarManager::kTRDprobPio]    = 0;
  values[AliDielectronVarManager::kTPCsignalN]    = 0;
  values[AliDielectronVarManager::kTPCclsDiff]    = 0;
  values[AliDielectronVarManager::kTPCsignalNfrac]= 0;
  values[AliDielectronVarManager::kImpactParXY]   = 0;
  values[AliDielectronVarManager::kImpactParZ]    = 0;
  values[AliDielectronVarManager::kPIn]           = 0;
  values[AliDielectronVarManager::kYsignedIn]     = 0;
  values[AliDielectronVarManager::kTPCsignal]     = 0;
  values[AliDielectronVarManager::kTPCnSigmaEleRaw]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaEle]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaPio]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaMuo]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaKao]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaPro]  = 0;
  values[AliDielectronVarManager::kITSclusterMap] = 0;
  
  values[AliDielectronVarManager::kPdgCode]       = -1;
  values[AliDielectronVarManager::kPdgCodeMother] = -1;
  values[AliDielectronVarManager::kPdgCodeGrandMother] = -1;
  values[AliDielectronVarManager::kHasCocktailMother]=0;
  values[AliDielectronVarManager::kHasCocktailGrandMother]=0;

  // Fill common AliVParticle interface information
  FillVarVParticle(particle, values);

  // Fill AliAODMCParticle interface specific information
  AliDielectronMC *mc=AliDielectronMC::Instance();
  Int_t trkLbl = TMath::Abs(particle->GetLabel());
  values[AliDielectronVarManager::kPdgCode]           = particle->PdgCode();
  values[AliDielectronVarManager::kHasCocktailMother] = mc->CheckParticleSource(trkLbl, AliDielectronSignalMC::kDirect);
  values[AliDielectronVarManager::kPdgCodeMother]     = mc->GetMotherPDG(particle);
  AliAODMCParticle *motherMC=mc->GetMCTrackMother(particle); //mother
  if(motherMC) values[AliDielectronVarManager::kPdgCodeGrandMother]=mc->GetMotherPDG(motherMC);

  values[AliDielectronVarManager::kIsJpsiPrimary] = mc->IsJpsiPrimary(particle);
  values[AliDielectronVarManager::kNumberOfDaughters]=mc->NumberOfDaughters(particle);

  // using AODMCHEader information
  AliAODMCHeader *mcHeader = (AliAODMCHeader*)fgEvent->FindListObject(AliAODMCHeader::StdBranchName());
  if(mcHeader) {
    values[AliDielectronVarManager::kImpactParZ]  = mcHeader->GetVtxZ()-particle->Zv();
    values[AliDielectronVarManager::kImpactParXY] = TMath::Sqrt(TMath::Power(mcHeader->GetVtxX()-particle->Xv(),2) +
								TMath::Power(mcHeader->GetVtxY()-particle->Yv(),2));
  }

}

inline void AliDielectronVarManager::FillVarDielectronPair(const AliDielectronPair *pair, Double_t * const values)
{
  //
  // Fill pair information available for histogramming into an array
  //
  
  values[AliDielectronVarManager::kPdgCode]=-1;
  values[AliDielectronVarManager::kPdgCodeMother]=-1;
  values[AliDielectronVarManager::kPdgCodeGrandMother]=-1;
  values[AliDielectronVarManager::kHasCocktailMother]=0;
  values[AliDielectronVarManager::kHasCocktailGrandMother]=0;
  
  Double_t errPseudoProperTime2 = -1;
  // Fill common AliVParticle interface information
  FillVarVParticle(pair, values);

  // Fill AliDielectronPair specific information
  const AliKFParticle &kfPair = pair->GetKFParticle();


  values[AliDielectronVarManager::kThetaHE]      = 0.0;
  values[AliDielectronVarManager::kPhiHE]        = 0.0;
  values[AliDielectronVarManager::kThetaSqHE]    = 0.0;
  values[AliDielectronVarManager::kCos2PhiHE]    = 0.0;
  values[AliDielectronVarManager::kCosTilPhiHE]  = 0.0;

  values[AliDielectronVarManager::kThetaCS]      = 0.0;
  values[AliDielectronVarManager::kPhiCS]        = 0.0;
  values[AliDielectronVarManager::kThetaSqCS]    = 0.0;
  values[AliDielectronVarManager::kCos2PhiCS]    = 0.0;
  values[AliDielectronVarManager::kCosTilPhiCS]  = 0.0;

  Double_t thetaHE=0;
  Double_t phiHE=0;
  Double_t thetaCS=0;
  Double_t phiCS=0;
  if(Req(kThetaHE) || Req(kPhiHE) || Req(kThetaCS) || Req(kPhiCS)) {
    pair->GetThetaPhiCM(thetaHE,phiHE,thetaCS,phiCS);

    values[AliDielectronVarManager::kThetaHE]      = thetaHE;
    values[AliDielectronVarManager::kPhiHE]        = phiHE;
    values[AliDielectronVarManager::kThetaSqHE]    = thetaHE * thetaHE;
    values[AliDielectronVarManager::kCos2PhiHE]    = TMath::Cos(2.0*phiHE);
    values[AliDielectronVarManager::kCosTilPhiHE]  = (thetaHE>0)?(TMath::Cos(phiHE-TMath::Pi()/4.)):(TMath::Cos(phiHE-3*TMath::Pi()/4.));
    values[AliDielectronVarManager::kThetaCS]      = thetaCS;
    values[AliDielectronVarManager::kPhiCS]        = phiCS;
    values[AliDielectronVarManager::kThetaSqCS]    = thetaCS * thetaCS;
    values[AliDielectronVarManager::kCos2PhiCS]    = TMath::Cos(2.0*phiCS);
    values[AliDielectronVarManager::kCosTilPhiCS]  = (thetaCS>0)?(TMath::Cos(phiCS-TMath::Pi()/4.)):(TMath::Cos(phiCS-3*TMath::Pi()/4.));
  }

  if(Req(kChi2NDF))          values[AliDielectronVarManager::kChi2NDF]          = kfPair.GetChi2()/kfPair.GetNDF();
  if(Req(kDecayLength))      values[AliDielectronVarManager::kDecayLength]      = kfPair.GetDecayLength();
  if(Req(kR))                values[AliDielectronVarManager::kR]                = kfPair.GetR();
  if(Req(kOpeningAngle))     values[AliDielectronVarManager::kOpeningAngle]     = pair->OpeningAngle();
  if(Req(kCosPointingAngle)) values[AliDielectronVarManager::kCosPointingAngle] = fgEvent ? pair->GetCosPointingAngle(fgEvent->GetPrimaryVertex()) : -1;

  if(Req(kLegDist))   values[AliDielectronVarManager::kLegDist]      = pair->DistanceDaughters();
  if(Req(kLegDistXY)) values[AliDielectronVarManager::kLegDistXY]    = pair->DistanceDaughtersXY();
  if(Req(kDeltaEta))  values[AliDielectronVarManager::kDeltaEta]     = pair->DeltaEta();
  if(Req(kDeltaPhi))  values[AliDielectronVarManager::kDeltaPhi]     = pair->DeltaPhi();
  if(Req(kMerr))      values[AliDielectronVarManager::kMerr]         = kfPair.GetErrMass()>1e-30&&kfPair.GetMass()>1e-30?kfPair.GetErrMass()/kfPair.GetMass():1000000;

  values[AliDielectronVarManager::kPairType]     = pair->GetType();
  // Armenteros-Podolanski quantities
  if(Req(kArmAlpha)) values[AliDielectronVarManager::kArmAlpha]     = pair->GetArmAlpha();
  if(Req(kArmPt))    values[AliDielectronVarManager::kArmPt]        = pair->GetArmPt();

  if(Req(kPsiPair))  values[AliDielectronVarManager::kPsiPair]      = fgEvent ? pair->PsiPair(fgEvent->GetMagneticField()) : -5;
  if(Req(kPhivPair)) values[AliDielectronVarManager::kPhivPair]      = fgEvent ? pair->PhivPair(fgEvent->GetMagneticField()) : -5;
  if(Req(kPseudoProperTime) || Req(kPseudoProperTimeErr)) {
    values[AliDielectronVarManager::kPseudoProperTime] = 
      fgEvent ? kfPair.GetPseudoProperDecayTime(*(fgEvent->GetPrimaryVertex()), TDatabasePDG::Instance()->GetParticle(443)->Mass(), &errPseudoProperTime2 ) : -1e10;
  // values[AliDielectronVarManager::kPseudoProperTime] = fgEvent ? pair->GetPseudoProperTime(fgEvent->GetPrimaryVertex()): -1e10;
    values[AliDielectronVarManager::kPseudoProperTimeErr] = (errPseudoProperTime2 > 0) ? TMath::Sqrt(errPseudoProperTime2) : -1e10;
  }

  // impact parameter
  Double_t d0z0[2]={-999., -999.};
  if( (Req(kImpactParXY) || Req(kImpactParZ)) && fgEvent) pair->GetDCA(fgEvent->GetPrimaryVertex(), d0z0);
  values[AliDielectronVarManager::kImpactParXY]   = d0z0[0];
  values[AliDielectronVarManager::kImpactParZ]    = d0z0[1];

 
  if (!(pair->GetKFUsage())) {
	//if KF Pairing is not enabled, overwrite values that can be easily derived from legs
	//use the INDIVIDUAL KF particles as source, which should be a copy of the corresponding properties
	//the ESDtrack, the reference to the ESDtrack is not (always) accessible in Mixing, while KF
	//particles are copied in the Pair-Object
	static const Double_t mElectron = AliPID::ParticleMass(AliPID::kElectron); // MeV

	const AliKFParticle& fD1 = pair->GetKFFirstDaughter();
	const AliKFParticle& fD2 = pair->GetKFSecondDaughter();

	//Define local buffer variables for leg properties
	Double_t px1=-9999.,py1=-9999.,pz1=-9999.;
	Double_t px2=-9999.,py2=-9999.,pz2=-9999.;
	Double_t e1 =-9999.,e2 =-9999.;
	Double_t feta1=-9999.;//,fphi1=-9999.;
	Double_t feta2=-9999.;//,fphi2=-9999.;

	px1 = fD1.GetPx(); 
	py1 = fD1.GetPy(); 
	pz1 = fD1.GetPz(); 
	feta1 = fD1.GetEta();
	//	fphi1 = fD1.GetPhi();

	px2 = fD2.GetPx(); 
	py2 = fD2.GetPy(); 
	pz2 = fD2.GetPz(); 
	feta2 = fD2.GetEta();
	//	fphi2 = fD2.GetPhi();

	//Calculate Energy per particle by hand
	e1 = TMath::Sqrt(mElectron*mElectron+px1*px1+py1*py1+pz1*pz1);
	e2 = TMath::Sqrt(mElectron*mElectron+px2*px2+py2*py2+pz2*pz2);

	//Now Create TLorentzVector:
	TLorentzVector lv1,lv2;
	lv1.SetPxPyPzE(px1,py1,pz1,e1);
	lv2.SetPxPyPzE(px2,py2,pz2,e2);

	values[AliDielectronVarManager::kPx]        = (lv1+lv2).Px();
	values[AliDielectronVarManager::kPy]        = (lv1+lv2).Py();
	values[AliDielectronVarManager::kPz]        = (lv1+lv2).Pz();

	values[AliDielectronVarManager::kPt]        =  (lv1+lv2).Pt();
	values[AliDielectronVarManager::kPtSq]      = values[AliDielectronVarManager::kPt] * values[AliDielectronVarManager::kPt];

	values[AliDielectronVarManager::kP]         =  (lv1+lv2).P();

	//Not overwritten, could take event vertex in next iteration
	values[AliDielectronVarManager::kXv]        = (lv1+lv2).X(); 
	values[AliDielectronVarManager::kYv]        = (lv1+lv2).Y();
	values[AliDielectronVarManager::kZv]        = (lv1+lv2).Z();

	values[AliDielectronVarManager::kE]         = (lv1+lv2).E();


	values[AliDielectronVarManager::kM]         = (lv1+lv2).M();

	values[AliDielectronVarManager::kOpeningAngle] =  lv1.Angle(lv2.Vect());

	values[AliDielectronVarManager::kOneOverPt] = (values[AliDielectronVarManager::kPt]>0. ? 1./values[AliDielectronVarManager::kPt] : -9999.);
	values[AliDielectronVarManager::kPhi]       = TVector2::Phi_0_2pi( (lv1+lv2).Phi() );
	values[AliDielectronVarManager::kEta]       = (lv1+lv2).Eta();

	values[AliDielectronVarManager::kY]       = (lv1+lv2).Rapidity();

	for (Int_t i=AliDielectronVarManager::kPairMax; i<AliDielectronVarManager::kNMaxValues; ++i)
	  values[i]=fgData[i];

	// Fill AliDielectronPair specific information
	values[AliDielectronVarManager::kDeltaEta]     = TMath::Abs(feta1 -feta2 );
	values[AliDielectronVarManager::kDeltaPhi]     = lv1.DeltaPhi(lv2);
	values[AliDielectronVarManager::kPairType]     = pair->GetType();

	/*
	//Also not overwritten, still coming from KF particle
	//where needed to be replaced by independent determination
	values[AliDielectronVarManager::kCharge]    = 0.;
	values[AliDielectronVarManager::kPdgCode]   = 0.;
	values[AliDielectronVarManager::kChi2NDF]      = 0.;
	values[AliDielectronVarManager::kDecayLength]  = 0.;
	values[AliDielectronVarManager::kR]            = 0.;
	values[AliDielectronVarManager::kCosPointingAngle] = 0.;
	values[AliDielectronVarManager::kThetaHE]      = 0.;
	values[AliDielectronVarManager::kPhiHE]        = 0.;
	values[AliDielectronVarManager::kThetaSqHE]    = 0.;
	values[AliDielectronVarManager::kCos2PhiHE]    = 0.;
	values[AliDielectronVarManager::kCosTilPhiHE]  = 0.;
	values[AliDielectronVarManager::kThetaCS]      = 0.;
	values[AliDielectronVarManager::kPhiCS]        = 0.;
	values[AliDielectronVarManager::kThetaSqCS]    = 0.;
	values[AliDielectronVarManager::kCos2PhiCS]    = 0.;
	values[AliDielectronVarManager::kCosTilPhiCS]  = 0.;
	values[AliDielectronVarManager::kLegDist]      = 0.;
	values[AliDielectronVarManager::kLegDistXY]    = 0.;
	values[AliDielectronVarManager::kMerr]         = 0.;
	values[AliDielectronVarManager::kPseudoProperTime] = 0.;
	values[AliDielectronVarManager::kPseudoProperTimeErr] = 0.;
	//Fill in Taku's PhiV?
	values[AliDielectronVarManager::kPsiPair]      = 0.;

	 */
  }
  //common, regardless of calculation method 

  // Flow quantities
  Double_t phi=values[AliDielectronVarManager::kPhi];
  if(Req(kCosPhiH2)) values[AliDielectronVarManager::kCosPhiH2] = TMath::Cos(2*phi);
  if(Req(kSinPhiH2)) values[AliDielectronVarManager::kSinPhiH2] = TMath::Sin(2*phi);
  Double_t delta=0.0;
  // v2 with respect to VZERO-A event plane
  delta = TVector2::Phi_mpi_pi(phi - fgData[AliDielectronVarManager::kV0ArpH2]);
  if(Req(kV0ArpH2FlowV2))   values[AliDielectronVarManager::kV0ArpH2FlowV2] = TMath::Cos(2.0*delta);  // 2nd harmonic flow coefficient
  if(Req(kDeltaPhiV0ArpH2)) values[AliDielectronVarManager::kDeltaPhiV0ArpH2] = delta;
  // v2 with respect to VZERO-C event plane
  delta = TVector2::Phi_mpi_pi(phi - fgData[AliDielectronVarManager::kV0CrpH2]);
  if(Req(kV0CrpH2FlowV2))   values[AliDielectronVarManager::kV0CrpH2FlowV2] = TMath::Cos(2.0*delta);  // 2nd harmonic flow coefficient
  if(Req(kDeltaPhiV0CrpH2)) values[AliDielectronVarManager::kDeltaPhiV0CrpH2] = delta;
  // v2 with respect to the combined VZERO-A and VZERO-C event plane
  delta = TVector2::Phi_mpi_pi(phi - fgData[AliDielectronVarManager::kV0ACrpH2]);
  if(Req(kV0ACrpH2FlowV2))   values[AliDielectronVarManager::kV0ACrpH2FlowV2] = TMath::Cos(2.0*delta);  // 2nd harmonic flow coefficient
  if(Req(kDeltaPhiV0ACrpH2)) values[AliDielectronVarManager::kDeltaPhiV0ACrpH2] = delta;


  // quantities using the values of  AliEPSelectionTask , interval [-pi,+pi]
  values[AliDielectronVarManager::kDeltaPhiv0ArpH2]  = TVector2::Phi_mpi_pi(phi - values[AliDielectronVarManager::kv0ArpH2]);
  values[AliDielectronVarManager::kDeltaPhiv0CrpH2]  = TVector2::Phi_mpi_pi(phi - values[AliDielectronVarManager::kv0CrpH2]);
  values[AliDielectronVarManager::kDeltaPhiv0ACrpH2] = TVector2::Phi_mpi_pi(phi - values[AliDielectronVarManager::kv0ACrpH2]);
  values[AliDielectronVarManager::kDeltaPhiTPCrpH2]  = TVector2::Phi_mpi_pi(phi - values[AliDielectronVarManager::kTPCrpH2]);
  values[AliDielectronVarManager::kv0ACrpH2FlowV2]   = TMath::Cos( 2.*values[AliDielectronVarManager::kDeltaPhiv0ACrpH2] );
  values[AliDielectronVarManager::kv0ArpH2FlowV2]    = TMath::Cos( 2.*values[AliDielectronVarManager::kDeltaPhiv0ArpH2] );
  values[AliDielectronVarManager::kv0CrpH2FlowV2]    = TMath::Cos( 2.*values[AliDielectronVarManager::kDeltaPhiv0CrpH2] );
  values[AliDielectronVarManager::kTPCrpH2FlowV2]    = TMath::Cos( 2.*values[AliDielectronVarManager::kDeltaPhiTPCrpH2] );
  values[AliDielectronVarManager::kTPCrpH2FlowV2Sin] = TMath::Sin( 2.*values[AliDielectronVarManager::kDeltaPhiTPCrpH2] );

  //calculate inner product of strong Mag and ee plane 
  if(Req(kPairPlaneMagInPro)) values[AliDielectronVarManager::kPairPlaneMagInPro] = pair->PairPlaneMagInnerProduct(values[AliDielectronVarManager::kZDCACrpH1]);

  //Calculate the angle between electrons decay plane and variables 1-4
  if(Req(kPairPlaneAngle1A)) values[AliDielectronVarManager::kPairPlaneAngle1A] = pair->GetPairPlaneAngle(values[kv0ArpH2],1);
  if(Req(kPairPlaneAngle2A)) values[AliDielectronVarManager::kPairPlaneAngle2A] = pair->GetPairPlaneAngle(values[kv0ArpH2],2);
  if(Req(kPairPlaneAngle3A)) values[AliDielectronVarManager::kPairPlaneAngle3A] = pair->GetPairPlaneAngle(values[kv0ArpH2],3);
  if(Req(kPairPlaneAngle4A)) values[AliDielectronVarManager::kPairPlaneAngle4A] = pair->GetPairPlaneAngle(values[kv0ArpH2],4);

  if(Req(kPairPlaneAngle1C)) values[AliDielectronVarManager::kPairPlaneAngle1C] = pair->GetPairPlaneAngle(values[kv0CrpH2],1);
  if(Req(kPairPlaneAngle2C)) values[AliDielectronVarManager::kPairPlaneAngle2C] = pair->GetPairPlaneAngle(values[kv0CrpH2],2);
  if(Req(kPairPlaneAngle3C)) values[AliDielectronVarManager::kPairPlaneAngle3C] = pair->GetPairPlaneAngle(values[kv0CrpH2],3);
  if(Req(kPairPlaneAngle4C)) values[AliDielectronVarManager::kPairPlaneAngle4C] = pair->GetPairPlaneAngle(values[kv0CrpH2],4);

  if(Req(kPairPlaneAngle1AC)) values[AliDielectronVarManager::kPairPlaneAngle1AC] = pair->GetPairPlaneAngle(values[kv0ACrpH2],1);
  if(Req(kPairPlaneAngle2AC)) values[AliDielectronVarManager::kPairPlaneAngle2AC] = pair->GetPairPlaneAngle(values[kv0ACrpH2],2);
  if(Req(kPairPlaneAngle3AC)) values[AliDielectronVarManager::kPairPlaneAngle3AC] = pair->GetPairPlaneAngle(values[kv0ACrpH2],3);
  if(Req(kPairPlaneAngle4AC)) values[AliDielectronVarManager::kPairPlaneAngle4AC] = pair->GetPairPlaneAngle(values[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] = phi - values[kRandomRP];
  // keep the interval [-pi,+pi]
  if ( values[AliDielectronVarManager::kDeltaPhiRandomRP] > TMath::Pi() )
    values[AliDielectronVarManager::kDeltaPhiRandomRP] -= TMath::TwoPi();

  if(Req(kPairPlaneAngle1Ran)) values[AliDielectronVarManager::kPairPlaneAngle1Ran]= pair->GetPairPlaneAngle(values[kRandomRP],1);
  if(Req(kPairPlaneAngle2Ran)) values[AliDielectronVarManager::kPairPlaneAngle2Ran]= pair->GetPairPlaneAngle(values[kRandomRP],2);
  if(Req(kPairPlaneAngle3Ran)) values[AliDielectronVarManager::kPairPlaneAngle3Ran]= pair->GetPairPlaneAngle(values[kRandomRP],3);
  if(Req(kPairPlaneAngle4Ran)) values[AliDielectronVarManager::kPairPlaneAngle4Ran]= pair->GetPairPlaneAngle(values[kRandomRP],4);



  AliDielectronMC *mc=AliDielectronMC::Instance();
  
  if (mc->HasMC()){
    values[AliDielectronVarManager::kPseudoProperTimeResolution] = -10.0e+10;
    Bool_t samemother =  mc->HaveSameMother(pair);
    values[AliDielectronVarManager::kIsJpsiPrimary] = mc->IsJpsiPrimary(pair);
    values[AliDielectronVarManager::kHaveSameMother] = samemother ;

    // fill kPseudoProperTimeResolution
    values[AliDielectronVarManager::kPseudoProperTimeResolution] = -1e10;
    // values[AliDielectronVarManager::kPseudoProperTimePull] = -1e10;
    if(samemother && fgEvent) {
      if(pair->GetFirstDaughterP()->GetLabel() > 0) {
        const AliVParticle *motherMC = 0x0;
        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();
	  values[AliDielectronVarManager::kHasCocktailMother]=mc->CheckParticleSource(motherLbl, AliDielectronSignalMC::kDirect);
      	  const Double_t lxyMC = ( (motherMC->Xv() - vtxX) * motherMC->Px() +
                                   (motherMC->Yv() - vtxY) * motherMC->Py()   ) / motherMC->Pt();
	  const Double_t pseudoMC = lxyMC * (TDatabasePDG::Instance()->GetParticle(443)->Mass())/motherMC->Pt();
	  values[AliDielectronVarManager::kPseudoProperTimeResolution] = values[AliDielectronVarManager::kPseudoProperTime] - pseudoMC;
          if (errPseudoProperTime2 > 0)
            values[AliDielectronVarManager::kPseudoProperTimePull] = values[AliDielectronVarManager::kPseudoProperTimeResolution]/sqrt(errPseudoProperTime2);
      }
      }
    }
    
	values[AliDielectronVarManager::kTRDpidEffPair] = 0.;
	if (fgTRDpidEff[0][0]){
	  Double_t valuesLeg1[AliDielectronVarManager::kNMaxValues];
	  Double_t valuesLeg2[AliDielectronVarManager::kNMaxValues];
	  AliVParticle* leg1 = pair->GetFirstDaughterP();
	  AliVParticle* leg2 = pair->GetSecondDaughterP();
	  if (leg1 && leg2){
		Fill(leg1, valuesLeg1);
		Fill(leg2, valuesLeg2);
		values[AliDielectronVarManager::kTRDpidEffPair] = valuesLeg1[AliDielectronVarManager::kTRDpidEffLeg]*valuesLeg2[AliDielectronVarManager::kTRDpidEffLeg];
	  }
	}


  }//if (mc->HasMC())

  AliVParticle* leg1 = pair->GetFirstDaughterP();
  AliVParticle* leg2 = pair->GetSecondDaughterP();
  if (leg1)
    values[AliDielectronVarManager::kMomAsymDau1] = (values[AliDielectronVarManager::kP] != 0)? leg1->P()  / values[AliDielectronVarManager::kP]: 0;
  else 
    values[AliDielectronVarManager::kMomAsymDau1] = -9999.;
  if (leg2)
    values[AliDielectronVarManager::kMomAsymDau2] = (values[AliDielectronVarManager::kP] != 0)? leg2->P()  / values[AliDielectronVarManager::kP]: 0;
  else 
    values[AliDielectronVarManager::kMomAsymDau2] = -9999.;

  Double_t valuesLeg1[AliDielectronVarManager::kNMaxValues];
  Double_t valuesLeg2[AliDielectronVarManager::kNMaxValues];
  values[AliDielectronVarManager::kPairEff]=0.0;
  values[AliDielectronVarManager::kOneOverPairEff]=0.0;
  values[AliDielectronVarManager::kOneOverPairEffSq]=0.0;
  if (leg1 && leg2 && fgLegEffMap) {
    Fill(leg1, valuesLeg1);
    Fill(leg2, valuesLeg2);
    values[AliDielectronVarManager::kPairEff] = valuesLeg1[AliDielectronVarManager::kLegEff] *valuesLeg2[AliDielectronVarManager::kLegEff];
  }
  else if(fgPairEffMap) {
    values[AliDielectronVarManager::kPairEff] = GetPairEff(values);
  }
  if(fgLegEffMap || fgPairEffMap) {
    values[AliDielectronVarManager::kOneOverPairEff] = (values[AliDielectronVarManager::kPairEff]>0.0 ? 1./values[AliDielectronVarManager::kPairEff] : 1.0);
    values[AliDielectronVarManager::kOneOverPairEffSq] = (values[AliDielectronVarManager::kPairEff]>0.0 ? 1./values[AliDielectronVarManager::kPairEff]/values[AliDielectronVarManager::kPairEff] : 1.0);
  }

  if(kRndmPair) values[AliDielectronVarManager::kRndmPair] = gRandom->Rndm();
}

inline void AliDielectronVarManager::FillVarKFParticle(const AliKFParticle *particle, Double_t * const values)
{
  //
  // Fill track information available in AliVParticle into an array
  //
  values[AliDielectronVarManager::kPx]        = particle->GetPx();
  values[AliDielectronVarManager::kPy]        = particle->GetPy();
  values[AliDielectronVarManager::kPz]        = particle->GetPz();
  values[AliDielectronVarManager::kPt]        = particle->GetPt();
  values[AliDielectronVarManager::kPtSq]      = particle->GetPt() * particle->GetPt();
  values[AliDielectronVarManager::kP]         = particle->GetP();
  
  values[AliDielectronVarManager::kXv]        = particle->GetX();
  values[AliDielectronVarManager::kYv]        = particle->GetY();
  values[AliDielectronVarManager::kZv]        = particle->GetZ();
  
  values[AliDielectronVarManager::kOneOverPt] = 0;
  values[AliDielectronVarManager::kPhi]       = TVector2::Phi_0_2pi(particle->GetPhi()); // interval [0,+2pi]
  values[AliDielectronVarManager::kTheta]     = 0.;
  values[AliDielectronVarManager::kEta]       = particle->GetEta();
  values[AliDielectronVarManager::kY]         = ((particle->GetE()*particle->GetE()-particle->GetPx()*particle->GetPx()-particle->GetPy()*particle->GetPy()-particle->GetPz()*particle->GetPz())>0.) ? TLorentzVector(particle->GetPx(),particle->GetPy(),particle->GetPz(),particle->GetE()).Rapidity() : -1111.;
  
  values[AliDielectronVarManager::kE]         = particle->GetE();
  values[AliDielectronVarManager::kM]         = particle->GetMass();
  values[AliDielectronVarManager::kCharge]    = particle->GetQ();
  
  values[AliDielectronVarManager::kNclsITS]       = 0;
  values[AliDielectronVarManager::kITSchi2Cl]     = -1;
  values[AliDielectronVarManager::kNclsTPC]       = 0;
  values[AliDielectronVarManager::kNclsSTPC]      = 0;
  values[AliDielectronVarManager::kNclsSFracTPC]  = 0;
  values[AliDielectronVarManager::kNclsTPCiter1]  = 0;
  values[AliDielectronVarManager::kNFclsTPC]      = 0;
  values[AliDielectronVarManager::kNclsTRD]       = 0;
  values[AliDielectronVarManager::kTRDntracklets] = 0;
  values[AliDielectronVarManager::kTRDpidQuality] = 0;
  values[AliDielectronVarManager::kTPCchi2Cl]     = 0;
  values[AliDielectronVarManager::kTrackStatus]   = 0;
  values[AliDielectronVarManager::kFilterBit]     = 0;
  values[AliDielectronVarManager::kTRDprobEle]    = 0;
  values[AliDielectronVarManager::kTRDprobPio]    = 0;
  values[AliDielectronVarManager::kTPCsignalN]    = 0;
  values[AliDielectronVarManager::kTPCclsDiff]    = 0;
  values[AliDielectronVarManager::kTPCsignalNfrac]= 0;
  values[AliDielectronVarManager::kImpactParXY]   = 0;
  values[AliDielectronVarManager::kImpactParZ]    = 0;
  values[AliDielectronVarManager::kPIn]           = 0;
  values[AliDielectronVarManager::kYsignedIn]     = 0;
  values[AliDielectronVarManager::kTPCsignal]     = 0;
  values[AliDielectronVarManager::kTOFsignal]     = 0;
  values[AliDielectronVarManager::kTOFbeta]       = 0;
  values[AliDielectronVarManager::kTPCnSigmaEleRaw]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaEle]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaPio]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaMuo]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaKao]  = 0;
  values[AliDielectronVarManager::kTPCnSigmaPro]  = 0;
  values[AliDielectronVarManager::kITSclusterMap] = 0;
  
  values[AliDielectronVarManager::kPdgCode]       = -1;
  values[AliDielectronVarManager::kPdgCodeMother] = -1;
  values[AliDielectronVarManager::kPdgCodeGrandMother] = -1;
  values[AliDielectronVarManager::kHasCocktailMother]=0;
  values[AliDielectronVarManager::kHasCocktailGrandMother]=0;
  
//   if ( fgEvent ) AliDielectronVarManager::Fill(fgEvent, values);
  for (Int_t i=AliDielectronVarManager::kPairMax; i<AliDielectronVarManager::kNMaxValues; ++i)
    values[i]=fgData[i];
  
}

inline void AliDielectronVarManager::FillVarVEvent(const AliVEvent *event, Double_t * const values)
{
  //
  // Fill event information available for histogramming into an array
  //
  values[AliDielectronVarManager::kRunNumber]    = event->GetRunNumber();
  if(fgCurrentRun!=event->GetRunNumber()) {
    if(fgVZEROCalibrationFile.Contains(".root")) InitVZEROCalibrationHistograms(event->GetRunNumber());
    if(fgVZERORecenteringFile.Contains(".root")) InitVZERORecenteringHistograms(event->GetRunNumber());
    if(fgZDCRecenteringFile.Contains(".root")) InitZDCRecenteringHistograms(event->GetRunNumber());
    fgCurrentRun=event->GetRunNumber();
  }
  values[AliDielectronVarManager::kMixingBin]=0;

  const AliVVertex *primVtx = event->GetPrimaryVertex();
  
  values[AliDielectronVarManager::kXvPrim]       = 0;
  values[AliDielectronVarManager::kYvPrim]       = 0;
  values[AliDielectronVarManager::kZvPrim]       = 0;
  values[AliDielectronVarManager::kNVtxContrib]  = 0;
//   values[AliDielectronVarManager::kChi2NDF]      = 0; //This is the pair value!!!

  values[AliDielectronVarManager::kNTrk]            = 0;
  values[AliDielectronVarManager::kNVtxContrib]     = 0;
  values[AliDielectronVarManager::kNacc]            = 0;
  values[AliDielectronVarManager::kMatchEffITSTPC]  = 0;
  values[AliDielectronVarManager::kNaccTrcklts]     = 0;
  values[AliDielectronVarManager::kNaccTrcklts10]   = 0;
  values[AliDielectronVarManager::kNaccTrcklts0916] = 0;
  values[AliDielectronVarManager::kNevents]         = 0; //always fill bin 0;
  values[AliDielectronVarManager::kRefMult]         = 0;
  values[AliDielectronVarManager::kRefMultTPConly]  = 0;
  
  if (primVtx){
    //    printf("prim vertex reco: %f \n",primVtx->GetX());
    values[AliDielectronVarManager::kXvPrim]       = primVtx->GetX();
    values[AliDielectronVarManager::kYvPrim]       = primVtx->GetY();
    values[AliDielectronVarManager::kZvPrim]       = primVtx->GetZ();
    values[AliDielectronVarManager::kNVtxContrib]  = primVtx->GetNContributors();
  }
  //   values[AliDielectronVarManager::kChi2NDF]      = primVtx->GetChi2perNDF(); //this is the pair value

  // online and offline trigger maps
  values[AliDielectronVarManager::kTriggerInclONL]     = event->GetTriggerMask();
  AliAnalysisManager *man=AliAnalysisManager::GetAnalysisManager();
  UInt_t maskOff = ((AliInputEventHandler*)man->GetInputEventHandler())->IsEventSelected();
  values[AliDielectronVarManager::kTriggerInclOFF]     = maskOff;
  values[AliDielectronVarManager::kTriggerExclOFF]        = -1;
  for(Int_t i=0; i<30; i++) { if(maskOff==BIT(i)) values[AliDielectronVarManager::kTriggerExclOFF]=i; }

  values[AliDielectronVarManager::kNTrk]            = event->GetNumberOfTracks();
  if(Req(kNacc))            values[AliDielectronVarManager::kNacc]            = AliDielectronHelper::GetNacc(event);
  if(Req(kMatchEffITSTPC))  values[AliDielectronVarManager::kMatchEffITSTPC]  = AliDielectronHelper::GetITSTPCMatchEff(event);
  if(Req(kNaccTrcklts))     values[AliDielectronVarManager::kNaccTrcklts]     = AliDielectronHelper::GetNaccTrcklts(event,1.6);
  if(Req(kNaccTrcklts10))   values[AliDielectronVarManager::kNaccTrcklts10]   = AliDielectronHelper::GetNaccTrcklts(event,1.0);
  if(Req(kNaccTrcklts0916)) values[AliDielectronVarManager::kNaccTrcklts0916] = AliDielectronHelper::GetNaccTrcklts(event,1.6)-AliDielectronHelper::GetNaccTrcklts(event,.9);
  //  values[AliDielectronVarManager::kNaccTrcklts05]   = AliDielectronHelper::GetNaccTrcklts(event, 0.5); // AODHeader::fRefMultComb05
  //  values[AliDielectronVarManager::kNaccTrcklts10]   = AliDielectronHelper::GetNaccTrcklts(event, 1.0);
  //  values[AliDielectronVarManager::kNaccTrckltsCorr] = AliDielectronHelper::GetNaccTrckltsCorrected(event, values[AliDielectronVarManager::kNaccTrcklts], values[AliDielectronVarManager::kZvPrim]);


  Double_t ptMaxEv    = -1., phiptMaxEv= -1.;
  if(Req(kMaxPt) || Req(kPhiMaxPt)) AliDielectronHelper::GetMaxPtAndPhi(event, ptMaxEv, phiptMaxEv);
  values[AliDielectronVarManager::kPhiMaxPt]          = phiptMaxEv;
  values[AliDielectronVarManager::kMaxPt]             = ptMaxEv;


  // event plane quantities from the AliEPSelectionTask
  for(Int_t ivar=AliDielectronVarManager::kv0ArpH2; ivar<=kv0C0v0C3DiffH2;   ivar++) values[ivar] = 0.0; // v0  variables
  for(Int_t ivar=AliDielectronVarManager::kTPCxH2;  ivar<=kTPCsub12DiffH2uc; ivar++) values[ivar] = 0.0; // tpc variables

  // ep angle interval [todo, fill]
  AliEventplane *ep = const_cast<AliVEvent*>(event)->GetEventplane();
  if(ep) {

    // TPC event plane quantities (uncorrected)
    TVector2 *qstd  = ep->GetQVector();  // This is the "standard" Q-Vector for TPC
    TVector2 *qsub1 = ep->GetQsub1();    // random subevent plane
    TVector2 *qsub2 = ep->GetQsub2();
    if(qstd && qsub1 && qsub2) {
      values[AliDielectronVarManager::kTPCxH2uc]       = qstd->X();
      values[AliDielectronVarManager::kTPCyH2uc]       = qstd->Y();
      values[AliDielectronVarManager::kTPCmagH2uc]     = qstd->Mod();
      values[AliDielectronVarManager::kTPCrpH2uc]      = TVector2::Phi_mpi_pi(qstd->Phi())/2;
      values[AliDielectronVarManager::kTPCsub1xH2uc]   = qsub1->X();
      values[AliDielectronVarManager::kTPCsub1yH2uc]   = qsub1->Y();
      values[AliDielectronVarManager::kTPCsub1rpH2uc]  = TVector2::Phi_mpi_pi(qsub1->Phi())/2;
      values[AliDielectronVarManager::kTPCsub2xH2uc]   = qsub2->X();
      values[AliDielectronVarManager::kTPCsub2yH2uc]   = qsub2->Y();
      values[AliDielectronVarManager::kTPCsub2rpH2uc]  = TVector2::Phi_mpi_pi(qsub2->Phi())/2;

      values[AliDielectronVarManager::kTPCsub12DiffH2uc] = TMath::Cos( 2.*(values[AliDielectronVarManager::kTPCsub1rpH2uc] -
									   values[AliDielectronVarManager::kTPCsub2rpH2uc]) );
    }

    // VZERO event plane
    TVector2 qvec;
    Double_t qx = 0, qy = 0;
    ep->CalculateVZEROEventPlane(event,10, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0ACrpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    values[AliDielectronVarManager::kv0ACxH2]   = qvec.X();
    values[AliDielectronVarManager::kv0ACyH2]   = qvec.Y();
    values[AliDielectronVarManager::kv0ACmagH2] = qvec.Mod();
    ep->CalculateVZEROEventPlane(event, 8, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0ArpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    values[AliDielectronVarManager::kv0AxH2]   = qvec.X();
    values[AliDielectronVarManager::kv0AyH2]   = qvec.Y();
    values[AliDielectronVarManager::kv0AmagH2] = qvec.Mod();
    ep->CalculateVZEROEventPlane(event, 9, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0CrpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    values[AliDielectronVarManager::kv0CxH2]   = qvec.X();
    values[AliDielectronVarManager::kv0CyH2]   = qvec.Y();
    values[AliDielectronVarManager::kv0CmagH2] = qvec.Mod();
    ep->CalculateVZEROEventPlane(event, 0, 0, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0C0rpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    ep->CalculateVZEROEventPlane(event, 3, 3, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0C3rpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    ep->CalculateVZEROEventPlane(event, 4, 4, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0A0rpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    ep->CalculateVZEROEventPlane(event, 7, 7, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0A3rpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
  } //if: eventplane

  // ESD VZERO information
  AliVVZERO* vzeroData = event->GetVZEROData();
  values[AliDielectronVarManager::kMultV0A] = 0.0;
  values[AliDielectronVarManager::kMultV0C] = 0.0;
  values[AliDielectronVarManager::kEqMultV0A] = 0.0;
  values[AliDielectronVarManager::kEqMultV0C] = 0.0;
  values[AliDielectronVarManager::kAdcV0A]  = 0.0;
  values[AliDielectronVarManager::kAdcV0C]  = 0.0;
  for(Int_t i=0; i<32; ++i) {
    values[AliDielectronVarManager::kVZEROchMult+i] = vzeroData->GetMultiplicity(i);
    values[AliDielectronVarManager::kVZEROchMult+32+i] = vzeroData->GetMultiplicity(i+32);
    //values[AliDielectronVarManager::kVZEROchMult+i] = event->GetVZEROEqMultiplicity(i);
    //values[AliDielectronVarManager::kVZEROchMult+32+i] = event->GetVZEROEqMultiplicity(i+32);
    values[AliDielectronVarManager::kMultV0A] += vzeroData->GetMultiplicityV0A(i);
    values[AliDielectronVarManager::kMultV0C] += vzeroData->GetMultiplicityV0C(i);
    values[AliDielectronVarManager::kEqMultV0A] += event->GetVZEROEqMultiplicity(i);
    values[AliDielectronVarManager::kEqMultV0C] += event->GetVZEROEqMultiplicity(i+32);
    //values[AliDielectronVarManager::kAdcV0A] += vzeroData->GetAdcV0A(i);
    //values[AliDielectronVarManager::kAdcV0C] += vzeroData->GetAdcV0C(i);
  }
  values[AliDielectronVarManager::kMultV0] = values[AliDielectronVarManager::kMultV0A] + values[AliDielectronVarManager::kMultV0C];
  values[AliDielectronVarManager::kEqMultV0] = values[AliDielectronVarManager::kEqMultV0A] + values[AliDielectronVarManager::kEqMultV0C];
  values[AliDielectronVarManager::kAdcV0] = values[AliDielectronVarManager::kAdcV0A] + values[AliDielectronVarManager::kAdcV0C];
  // VZERO event plane quantities
  Double_t qvec[3]={0.0};
  GetVzeroRP(event, qvec,0);      // V0-A
  values[AliDielectronVarManager::kV0AxH2] = qvec[0]; values[AliDielectronVarManager::kV0AyH2] = qvec[1]; 
  values[AliDielectronVarManager::kV0ArpH2] = qvec[2];
  qvec[0]=0.0; qvec[1]=0.0; qvec[2]=0.0;
  GetVzeroRP(event, qvec,1);      // V0-C
  values[AliDielectronVarManager::kV0CxH2] = qvec[0]; values[AliDielectronVarManager::kV0CyH2] = qvec[1]; 
  values[AliDielectronVarManager::kV0CrpH2] = qvec[2];
  qvec[0]=0.0; qvec[1]=0.0; qvec[2]=0.0;
  GetVzeroRP(event, qvec,2);      // V0-A and V0-C combined
  values[AliDielectronVarManager::kV0ACxH2] = qvec[0]; values[AliDielectronVarManager::kV0ACyH2] = qvec[1]; 
  values[AliDielectronVarManager::kV0ACrpH2] = qvec[2];
  // VZERO event plane resolution
  values[AliDielectronVarManager::kV0ArpResH2] = 1.0;
  values[AliDielectronVarManager::kV0CrpResH2] = 1.0;
  values[AliDielectronVarManager::kV0ACrpResH2] = 1.0;
  // Q vector components correlations  
  values[AliDielectronVarManager::kV0XaXcH2] = values[AliDielectronVarManager::kV0AxH2]*values[AliDielectronVarManager::kV0CxH2];
  values[AliDielectronVarManager::kV0XaYaH2] = values[AliDielectronVarManager::kV0AxH2]*values[AliDielectronVarManager::kV0AyH2];
  values[AliDielectronVarManager::kV0XaYcH2] = values[AliDielectronVarManager::kV0AxH2]*values[AliDielectronVarManager::kV0CyH2];
  values[AliDielectronVarManager::kV0YaXcH2] = values[AliDielectronVarManager::kV0AyH2]*values[AliDielectronVarManager::kV0CxH2];
  values[AliDielectronVarManager::kV0YaYcH2] = values[AliDielectronVarManager::kV0AyH2]*values[AliDielectronVarManager::kV0CyH2];
  values[AliDielectronVarManager::kV0XcYcH2] = values[AliDielectronVarManager::kV0CxH2]*values[AliDielectronVarManager::kV0CyH2];


  // event plane differences used for EP resolution calculation
  values[AliDielectronVarManager::kV0ATPCDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kV0ArpH2] - 
								     values[AliDielectronVarManager::kTPCrpH2]) ); 
  
  values[AliDielectronVarManager::kV0CTPCDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kV0CrpH2] - 
								     values[AliDielectronVarManager::kTPCrpH2]) ); 
  
  values[AliDielectronVarManager::kV0AV0CDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kV0ArpH2] - 
								     values[AliDielectronVarManager::kV0CrpH2]) ); 

  values[AliDielectronVarManager::kv0ATPCDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0ArpH2] - 
								     values[AliDielectronVarManager::kTPCrpH2]) ); 

  values[AliDielectronVarManager::kv0CTPCDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0CrpH2] - 
								     values[AliDielectronVarManager::kTPCrpH2]) ); 
  
  values[AliDielectronVarManager::kv0Av0CDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0ArpH2] - 
								     values[AliDielectronVarManager::kv0CrpH2]) ); 

  values[AliDielectronVarManager::kv0Av0C0DiffH2]  = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0ArpH2] - 
								     values[AliDielectronVarManager::kv0C0rpH2]) ); 

  values[AliDielectronVarManager::kv0Av0C3DiffH2]  = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0ArpH2] - 
								     values[AliDielectronVarManager::kv0C3rpH2]) ); 

  values[AliDielectronVarManager::kv0Cv0A0DiffH2]  = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0CrpH2] - 
								     values[AliDielectronVarManager::kv0A0rpH2]) ); 

  values[AliDielectronVarManager::kv0Cv0A3DiffH2]  = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0CrpH2] - 
								     values[AliDielectronVarManager::kv0A3rpH2]) ); 

  values[AliDielectronVarManager::kv0A0v0A3DiffH2] = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0A0rpH2] - 
								     values[AliDielectronVarManager::kv0A3rpH2]) ); 

  values[AliDielectronVarManager::kv0C0v0C3DiffH2] = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0C0rpH2] - 
								     values[AliDielectronVarManager::kv0C3rpH2]) ); 

  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]);


}

inline void AliDielectronVarManager::FillVarESDEvent(const AliESDEvent *event, Double_t * const values)
{
  //
  // Fill event information available for histogramming into an array
  // 
  
  // Fill common AliVEvent interface information
  FillVarVEvent(event, values);

  Double_t centralityF=-1; 
  Double_t centralitySPD=-1; 
  Double_t centralityV0A = -1; 
  Double_t centralityV0C = -1;
  Double_t centralityZNA = -1;
  AliCentrality *esdCentrality = const_cast<AliESDEvent*>(event)->GetCentrality();
  if (esdCentrality) centralityF = esdCentrality->GetCentralityPercentile("V0M");
  if (esdCentrality) centralitySPD = esdCentrality->GetCentralityPercentile("CL1");
  if (esdCentrality) centralityV0A = esdCentrality->GetCentralityPercentile("V0A");
  if (esdCentrality) centralityV0C = esdCentrality->GetCentralityPercentile("V0C");
  if (esdCentrality) centralityZNA = esdCentrality->GetCentralityPercentile("ZNA");
  
  // Fill AliESDEvent interface specific information
  const AliESDVertex *primVtx = event->GetPrimaryVertex();
  values[AliDielectronVarManager::kXRes]       = primVtx->GetXRes();
  values[AliDielectronVarManager::kYRes]       = primVtx->GetYRes();
  values[AliDielectronVarManager::kZRes]       = primVtx->GetZRes();
  values[AliDielectronVarManager::kCentrality] = centralityF;
  values[AliDielectronVarManager::kCentralitySPD] = centralitySPD;
  values[AliDielectronVarManager::kCentralityV0A] = centralityV0A;
  values[AliDielectronVarManager::kCentralityV0C] = centralityV0C;
  values[AliDielectronVarManager::kCentralityZNA] = centralityZNA;
  

  const AliESDVertex *vtxTPC = event->GetPrimaryVertexTPC(); 
  values[AliDielectronVarManager::kNVtxContribTPC] = (vtxTPC ? vtxTPC->GetNContributors() : 0);

  // Event multiplicity estimators
  Int_t nTrSPD05=0; Int_t nTrITSTPC05=0; Int_t nTrITSSA05=0;
  nTrSPD05    = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTracklets, 0.5);
  nTrITSTPC05 = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTrackletsITSTPC, 0.5);
  nTrITSSA05  = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTrackletsITSSA, 0.5);
  values[AliDielectronVarManager::kNaccTrckltsEsd05] = nTrSPD05;
  values[AliDielectronVarManager::kNaccItsTpcEsd05] = nTrITSTPC05;
  values[AliDielectronVarManager::kNaccItsPureEsd05] = nTrITSSA05;
  values[AliDielectronVarManager::kNaccTrckltsEsd05Corr] = 
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrSPD05),values[AliDielectronVarManager::kZvPrim],0);
  values[AliDielectronVarManager::kNaccItsTpcEsd05Corr] = 
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrITSTPC05),values[AliDielectronVarManager::kZvPrim],3);
  values[AliDielectronVarManager::kNaccItsPureEsd05Corr] = 
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrITSSA05),values[AliDielectronVarManager::kZvPrim],6);
  
  Int_t nTrSPD10=0; Int_t nTrITSTPC10=0; Int_t nTrITSSA10=0;
  nTrSPD10    = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTracklets, 1.0);
  nTrITSTPC10 = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTrackletsITSTPC, 1.0);
  nTrITSSA10  = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTrackletsITSSA, 1.0);
  values[AliDielectronVarManager::kNaccTrckltsEsd10] = nTrSPD10;
  values[AliDielectronVarManager::kNaccItsTpcEsd10] = nTrITSTPC10;
  values[AliDielectronVarManager::kNaccItsPureEsd10] = nTrITSSA10;
  values[AliDielectronVarManager::kNaccTrckltsEsd10Corr] =
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrSPD10),values[AliDielectronVarManager::kZvPrim],1);
  values[AliDielectronVarManager::kNaccItsTpcEsd10Corr] =
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrITSTPC10),values[AliDielectronVarManager::kZvPrim],4);
  values[AliDielectronVarManager::kNaccItsPureEsd10Corr] =
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrITSSA10),values[AliDielectronVarManager::kZvPrim],7); 

  Int_t nTrSPD16=0; Int_t nTrITSTPC16=0; Int_t nTrITSSA16=0;
  nTrSPD16    = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTracklets, 1.6);
  nTrITSTPC16 = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTrackletsITSTPC, 1.6);
  nTrITSSA16  = AliESDtrackCuts::GetReferenceMultiplicity(event, AliESDtrackCuts::kTrackletsITSSA, 1.6);
  values[AliDielectronVarManager::kNaccTrckltsEsd16] = nTrSPD16;
  values[AliDielectronVarManager::kNaccItsTpcEsd16] = nTrITSTPC16;
  values[AliDielectronVarManager::kNaccItsPureEsd16] = nTrITSSA16;
  values[AliDielectronVarManager::kNaccTrckltsEsd16Corr] =
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrSPD16),values[AliDielectronVarManager::kZvPrim],2);
  values[AliDielectronVarManager::kNaccItsTpcEsd16Corr] =
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrITSTPC16),values[AliDielectronVarManager::kZvPrim],5);
  values[AliDielectronVarManager::kNaccItsPureEsd16Corr] =
    AliDielectronHelper::GetNaccTrckltsCorrected(event,Double_t(nTrITSSA16),values[AliDielectronVarManager::kZvPrim],8);
 
}

inline void AliDielectronVarManager::FillVarAODEvent(const AliAODEvent *event, Double_t * const values)
{
  //
  // Fill event information available for histogramming into an array
  //

  // Fill common AliVEvent interface information
  FillVarVEvent(event, values);

  // Fill AliAODEvent interface specific information
  AliAODHeader *header = dynamic_cast<AliAODHeader*>(event->GetHeader());
  assert(header&&"Not a standard AOD");

  Double_t centralityF=-1; 
  Double_t centralitySPD=-1; 
  Double_t centralityV0A = -1; 
  Double_t centralityV0C = -1;
  Double_t centralityZNA = -1;
  AliCentrality *aodCentrality = header->GetCentralityP();
  if (aodCentrality) centralityF = aodCentrality->GetCentralityPercentile("V0M");
  if (aodCentrality) centralitySPD = aodCentrality->GetCentralityPercentile("CL1");
  if (aodCentrality) centralityV0A = aodCentrality->GetCentralityPercentile("V0A");
  if (aodCentrality) centralityV0C = aodCentrality->GetCentralityPercentile("V0C");
  if (aodCentrality) centralityZNA = aodCentrality->GetCentralityPercentile("ZNA");
  values[AliDielectronVarManager::kCentrality] = centralityF;
  values[AliDielectronVarManager::kCentralitySPD] = centralitySPD;
  values[AliDielectronVarManager::kCentralityV0A] = centralityV0A;
  values[AliDielectronVarManager::kCentralityV0C] = centralityV0C;
  values[AliDielectronVarManager::kCentralityZNA] = centralityZNA;

  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]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;

    // 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]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    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]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    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]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    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]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    ep2.CalculateVZEROEventPlane(event, 3, 3, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0C3rpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    ep2.CalculateVZEROEventPlane(event, 4, 4, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0A0rpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;
    ep2.CalculateVZEROEventPlane(event, 7, 7, 2, qx, qy);    qvec.Set(qx,qy);
    values[AliDielectronVarManager::kv0A3rpH2]  = TVector2::Phi_mpi_pi(qvec.Phi())/2;

  }

  const AliAODVertex *vtxtpc = GetVertex(event, AliAODVertex::kMainTPC);
  values[AliDielectronVarManager::kNVtxContribTPC] = (vtxtpc ? vtxtpc->GetNContributors() : 0);

}
  
inline void AliDielectronVarManager::FillVarMCEvent(const AliMCEvent *event, Double_t * const values)
{
  //
  // Fill event information available for histogramming into an array
  //

  // Fill common AliVEvent interface information
  //  FillVarVEvent(event, values);
  const AliVVertex* vtx = event->GetPrimaryVertex();
  values[AliDielectronVarManager::kXvPrim]       = (vtx ? vtx->GetX() : 0.0);
  values[AliDielectronVarManager::kYvPrim]       = (vtx ? vtx->GetY() : 0.0);
  values[AliDielectronVarManager::kZvPrim]       = (vtx ? vtx->GetZ() : 0.0);
  // Fill AliMCEvent interface specific information
  values[AliDielectronVarManager::kNch]   = AliDielectronHelper::GetNch(event, 1.6);
  values[AliDielectronVarManager::kNch05] = AliDielectronHelper::GetNch(event, 0.5);
  values[AliDielectronVarManager::kNch10] = AliDielectronHelper::GetNch(event, 1.0);
  
  values[AliDielectronVarManager::kNumberOfJPsis] = AliDielectronHelper::GetNMothers(event, 0.9, 443, 11);
  values[AliDielectronVarManager::kNumberOfJPsisPrompt]  = AliDielectronHelper::GetNMothers(event, 0.9, 443, 11, 1);
  values[AliDielectronVarManager::kNumberOfJPsisNPrompt] = AliDielectronHelper::GetNMothers(event, 0.9, 443, 11, 0);
}

inline void AliDielectronVarManager::FillVarTPCEventPlane(const AliEventplane *evplane, Double_t * const values)
{
  //
  // Fill TPC event plane information after correction
  //
  if(evplane) {
    TVector2 *qcorr  = const_cast<AliEventplane *>(evplane)->GetQVector();  // This is the "corrected" Q-Vector
    TVector2 *qcsub1 = const_cast<AliEventplane *>(evplane)->GetQsub1();
    TVector2 *qcsub2 = const_cast<AliEventplane *>(evplane)->GetQsub2();
    if(qcorr) {
      values[AliDielectronVarManager::kTPCxH2]   = qcorr->X();
      values[AliDielectronVarManager::kTPCyH2]   = qcorr->Y();
      values[AliDielectronVarManager::kTPCmagH2] = qcorr->Mod();
      values[AliDielectronVarManager::kTPCrpH2]  = TVector2::Phi_mpi_pi(qcorr->Phi())/2;
      // detector effects
      values[AliDielectronVarManager::kCosTPCrpH2]     = TMath::Cos( 2.* values[AliDielectronVarManager::kTPCrpH2] );
      values[AliDielectronVarManager::kSinTPCrpH2]     = TMath::Sin( 2.* values[AliDielectronVarManager::kTPCrpH2] );

      // correlations for event plane resoultion
      values[AliDielectronVarManager::kv0ATPCDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0ArpH2] - 
									 values[AliDielectronVarManager::kTPCrpH2]) ); 
      values[AliDielectronVarManager::kv0CTPCDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0CrpH2] - 
									 values[AliDielectronVarManager::kTPCrpH2]) ); 
      values[AliDielectronVarManager::kv0Av0CDiffH2]   = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0ArpH2] - 
									 values[AliDielectronVarManager::kv0CrpH2]) ); 
      values[AliDielectronVarManager::kv0Av0C0DiffH2]  = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0ArpH2] - 
									 values[AliDielectronVarManager::kv0C0rpH2]) ); 
      values[AliDielectronVarManager::kv0Av0C3DiffH2]  = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0ArpH2] - 
									 values[AliDielectronVarManager::kv0C3rpH2]) ); 
      values[AliDielectronVarManager::kv0Cv0A0DiffH2]  = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0CrpH2] - 
									 values[AliDielectronVarManager::kv0A0rpH2]) ); 
      values[AliDielectronVarManager::kv0Cv0A3DiffH2]  = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0CrpH2] - 
									 values[AliDielectronVarManager::kv0A3rpH2]) ); 
      values[AliDielectronVarManager::kv0A0v0A3DiffH2] = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0A0rpH2] - 
									 values[AliDielectronVarManager::kv0A3rpH2]) ); 
      values[AliDielectronVarManager::kv0C0v0C3DiffH2] = TMath::Cos( 2.*(values[AliDielectronVarManager::kv0C0rpH2] - 
									 values[AliDielectronVarManager::kv0C3rpH2]) ); 
    }
    if(qcsub1 && qcsub2) {
      values[AliDielectronVarManager::kTPCsub1xH2]   = qcsub1->X();
      values[AliDielectronVarManager::kTPCsub1yH2]   = qcsub1->Y();
      values[AliDielectronVarManager::kTPCsub1rpH2]  = TVector2::Phi_mpi_pi(qcsub1->Phi())/2;

      values[AliDielectronVarManager::kTPCsub2xH2]   = qcsub2->X();
      values[AliDielectronVarManager::kTPCsub2yH2]   = qcsub2->Y();
      values[AliDielectronVarManager::kTPCsub2rpH2]  = TVector2::Phi_mpi_pi(qcsub2->Phi())/2;

      values[AliDielectronVarManager::kTPCsub12DiffH2] = TMath::Cos( 2.*(values[AliDielectronVarManager::kTPCsub1rpH2] -
									 values[AliDielectronVarManager::kTPCsub2rpH2]) );
      values[AliDielectronVarManager::kTPCsub12DiffH2Sin] = TMath::Sin( 2.*(values[AliDielectronVarManager::kTPCsub1rpH2] -
									    values[AliDielectronVarManager::kTPCsub2rpH2]) );
    }
  }
}

inline void AliDielectronVarManager::InitESDpid(Int_t type)
{
  //
  // initialize PID parameters
  // type=0 is simulation
  // type=1 is data

  if (!fgPIDResponse) fgPIDResponse=new AliESDpid((Bool_t)(type==0));
  Double_t alephParameters[5];
  // simulation
  alephParameters[0] = 2.15898e+00/50.;
  alephParameters[1] = 1.75295e+01;
  alephParameters[2] = 3.40030e-09;
  alephParameters[3] = 1.96178e+00;
  alephParameters[4] = 3.91720e+00;
  fgPIDResponse->GetTOFResponse().SetTimeResolution(80.);
  
  // data
  if (type==1){    
    alephParameters[0] = 0.0283086/0.97;
    alephParameters[1] = 2.63394e+01;
    alephParameters[2] = 5.04114e-11;
    alephParameters[3] = 2.12543e+00;
    alephParameters[4] = 4.88663e+00;
    fgPIDResponse->GetTOFResponse().SetTimeResolution(130.);
    fgPIDResponse->GetTPCResponse().SetMip(50.);
  }

  fgPIDResponse->GetTPCResponse().SetBetheBlochParameters(
    alephParameters[0],alephParameters[1],alephParameters[2],
    alephParameters[3],alephParameters[4]);
  
  fgPIDResponse->GetTPCResponse().SetSigma(3.79301e-03, 2.21280e+04);
}

inline void AliDielectronVarManager::InitAODpidUtil(Int_t type)
{
  if (!fgPIDResponse) fgPIDResponse=new AliAODpidUtil;
  Double_t alephParameters[5];
  // simulation
  alephParameters[0] = 2.15898e+00/50.;
  alephParameters[1] = 1.75295e+01;
  alephParameters[2] = 3.40030e-09;
  alephParameters[3] = 1.96178e+00;
  alephParameters[4] = 3.91720e+00;
  fgPIDResponse->GetTOFResponse().SetTimeResolution(80.);
  
  // data
  if (type==1){
    alephParameters[0] = 0.0283086/0.97;
    alephParameters[1] = 2.63394e+01;
    alephParameters[2] = 5.04114e-11;
    alephParameters[3] = 2.12543e+00;
    alephParameters[4] = 4.88663e+00;
    fgPIDResponse->GetTOFResponse().SetTimeResolution(130.);
    fgPIDResponse->GetTPCResponse().SetMip(50.);
  }
  
  fgPIDResponse->GetTPCResponse().SetBetheBlochParameters(
    alephParameters[0],alephParameters[1],alephParameters[2],
    alephParameters[3],alephParameters[4]);
  
  fgPIDResponse->GetTPCResponse().SetSigma(3.79301e-03, 2.21280e+04);
}


inline void AliDielectronVarManager::InitEstimatorAvg(const Char_t* filename)
{
  //
  // initialize the profile histograms neccessary for the correction of the multiplicity estimators in pp collisions
  //
  
  const Char_t* estimatorNames[9] = {"SPDmult05","SPDmult10","SPDmult16",
				     "ITSTPC05", "ITSTPC10", "ITSTPC16", 
				     "ITSSA05",  "ITSSA10",  "ITSSA16"};
  const Char_t* periodNames[4] = {"LHC10b", "LHC10c", "LHC10d", "LHC10e"};
  TFile* file=TFile::Open(filename);
  if(!file) return;
  
  for(Int_t ip=0; ip<4; ++ip) {
    for(Int_t ie=0; ie<9; ++ie) {
      fgMultEstimatorAvg[ip][ie] = (TProfile*)(file->Get(Form("%s_%s",estimatorNames[ie],periodNames[ip]))->Clone(Form("%s_%s_clone",estimatorNames[ie],periodNames[ip])));
    }
  }
}


inline void AliDielectronVarManager::InitTRDpidEffHistograms(const Char_t* filename)
{
  //
  // initialize the 3D histograms with the TRD pid efficiency histograms
  //
  
  // reset the centrality ranges and the efficiency histograms
  for(Int_t i=0; i<10; ++i) {         // centrality ranges
    for(Int_t j=0; j<4; ++j) fgTRDpidEffCentRanges[i][j] = -1.;
    if(fgTRDpidEff[i][0]) {
      delete fgTRDpidEff[i][0];
      fgTRDpidEff[i][0] = 0x0;
    }
    if(fgTRDpidEff[i][1]) {
      delete fgTRDpidEff[i][1];
      fgTRDpidEff[i][1] = 0x0;
    }
  }
  
  TFile* file=TFile::Open(filename);
  TList* keys=file->GetListOfKeys();
  Int_t idxp=0; Int_t idxn=0;
  for(Int_t i=0; i<keys->GetEntries(); ++i) {
    if(idxp>=10) continue;
    if(idxn>=10) continue;
    TString name=((TKey*)keys->At(i))->ReadObj()->GetName();    
    // Name of histograms should be in the format:
    // TRDeff<field>_cent_<centLow>_<centHigh>
    // <field> is either "BPLUS" or "BMINUS"
    if(!(name.Contains("BPLUS") || name.Contains("BMINUS"))) continue;
    TObjArray* arr = name.Tokenize("_");
    Bool_t isBplus = kTRUE;
    if(name.Contains("BMINUS")) isBplus = kFALSE;
    TString centMinStr = arr->At(2)->GetName();
    TString centMaxStr = arr->At(3)->GetName();
    delete arr;
    if(isBplus) {
      fgTRDpidEffCentRanges[idxp][2] = centMinStr.Atof();
      fgTRDpidEffCentRanges[idxp][3] = centMaxStr.Atof();
      fgTRDpidEff[idxp][1] = (TH3D*)(file->Get(name.Data())->Clone(Form("%s_clone",name.Data())));
      ++idxp;
    }
    else {
      fgTRDpidEffCentRanges[idxn][0] = centMinStr.Atof();
      fgTRDpidEffCentRanges[idxn][1] = centMaxStr.Atof();
      fgTRDpidEff[idxn][0] = (TH3D*)(file->Get(name.Data())->Clone(Form("%s_clone",name.Data())));
      ++idxn;
    }
  }
}

inline Double_t AliDielectronVarManager::GetSingleLegEff(Double_t * const values) {
  //
  // get the single leg efficiency for a given particle
  //
  if(!fgLegEffMap) return -1.;

  if(fgLegEffMap->IsA()== THnBase::Class()) {
    THnBase *eff = static_cast<THnBase*>(fgLegEffMap);
    Int_t dim=eff->GetNdimensions();
    Int_t idx[dim];
    for(Int_t idim=0; idim<dim; idim++) {
      UInt_t var = GetValueType(eff->GetAxis(idim)->GetName());
    idx[idim] = eff->GetAxis(idim)->FindBin(values[var]);
    if(idx[idim] < 0 || idx[idim]>eff->GetAxis(idim)->GetNbins()) return 0.0;
    }
    //  printf(" bin content %f+-%f \n",eff->GetBinContent(idx), eff->GetBinError(idx));
    return (eff->GetBinContent(idx));
  }
  return -1.;
}

inline Double_t AliDielectronVarManager::GetPairEff(Double_t * const values) {
  //
  // get the pair efficiency for given pair kinematics
  //
  if(!fgPairEffMap) return -1.;

  if(fgPairEffMap->IsA()== THnBase::Class()) {
    THnBase *eff = static_cast<THnBase*>(fgPairEffMap);
    Int_t dim=eff->GetNdimensions();
    Int_t idx[dim];
    for(Int_t idim=0; idim<dim; idim++) {
      UInt_t var = GetValueType(eff->GetAxis(idim)->GetName());
    idx[idim] = eff->GetAxis(idim)->FindBin(values[var]);
    if(idx[idim] < 0 || idx[idim]>eff->GetAxis(idim)->GetNbins()) return 0.0;
    }
    //  printf(" bin content %f+-%f \n",eff->GetBinContent(idx), eff->GetBinError(idx));
    return (eff->GetBinContent(idx));
  }
  if(fgPairEffMap->IsA()== TSpline3::Class()) {
    TSpline3 *eff = static_cast<TSpline3*>(fgPairEffMap);
    if(!eff->GetHistogram()) { printf("no histogram added to the spline\n"); return -1.;}
    UInt_t var = GetValueType(eff->GetHistogram()->GetXaxis()->GetName());
    //printf(" bin content %f \n",eff->Eval(values[var]) );
    return (eff->Eval(values[var]));
  }

  return -1.;
}


inline void AliDielectronVarManager::InitVZEROCalibrationHistograms(Int_t runNo) {
  //
  // Initialize the VZERO channel-by-channel calibration histograms
  //

  //initialize only once
  if(fgVZEROCalib[0]) return;
  
  for(Int_t i=0; i<64; ++i) 
    if(fgVZEROCalib[i]) {
      delete fgVZEROCalib[i];
      fgVZEROCalib[i] = 0x0;
    }
  
  TFile file(fgVZEROCalibrationFile.Data());
  
  for(Int_t i=0; i<64; ++i){
    fgVZEROCalib[i] = (TProfile2D*)(file.Get(Form("RUN%d_ch%d_VtxCent", runNo, i)));
    if (fgVZEROCalib[i]) fgVZEROCalib[i]->SetDirectory(0x0);
  }
}


inline void AliDielectronVarManager::InitVZERORecenteringHistograms(Int_t runNo) {
  //
  // Initialize the VZERO event plane recentering histograms
  //

  //initialize only once
  if(fgVZERORecentering[0][0]) return;
  
  for(Int_t i=0; i<2; ++i)
    for(Int_t j=0; j<2; ++j)
      if(fgVZERORecentering[i][j]) {
        delete fgVZERORecentering[i][j];
        fgVZERORecentering[i][j] = 0x0;
      }
  
  TFile file(fgVZERORecenteringFile.Data());
  if (!file.IsOpen()) return;
  
  fgVZERORecentering[0][0] = (TProfile2D*)(file.Get(Form("RUN%d_QxA_CentVtx", runNo)));
  fgVZERORecentering[0][1] = (TProfile2D*)(file.Get(Form("RUN%d_QyA_CentVtx", runNo)));
  fgVZERORecentering[1][0] = (TProfile2D*)(file.Get(Form("RUN%d_QxC_CentVtx", runNo)));
  fgVZERORecentering[1][1] = (TProfile2D*)(file.Get(Form("RUN%d_QyC_CentVtx", runNo)));

  if (fgVZERORecentering[0][0]) fgVZERORecentering[0][0]->SetDirectory(0x0);
  if (fgVZERORecentering[0][1]) fgVZERORecentering[0][1]->SetDirectory(0x0);
  if (fgVZERORecentering[1][0]) fgVZERORecentering[1][0]->SetDirectory(0x0);
  if (fgVZERORecentering[1][1]) fgVZERORecentering[1][1]->SetDirectory(0x0);
  
}

inline void AliDielectronVarManager::InitZDCRecenteringHistograms(Int_t runNo) {

  //initialize only once
  if(fgZDCRecentering[0][0]) return;

  for(Int_t i=0; i<2; ++i)
    for(Int_t j=0; j<2; ++j)
      if(fgZDCRecentering[i][j]) {
        delete fgZDCRecentering[i][j];
        fgZDCRecentering[i][j] = 0x0;
      }

  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));


  if (fgZDCRecentering[0][0]) fgZDCRecentering[0][0]->SetDirectory(0x0);
  if (fgZDCRecentering[0][1]) fgZDCRecentering[0][1]->SetDirectory(0x0);
  if (fgZDCRecentering[1][0]) fgZDCRecentering[1][0]->SetDirectory(0x0);
  if (fgZDCRecentering[1][1]) fgZDCRecentering[1][1]->SetDirectory(0x0);
  if (fgZDCRecentering[2][0]) fgZDCRecentering[2][0]->SetDirectory(0x0);
  if (fgZDCRecentering[2][1]) fgZDCRecentering[2][1]->SetDirectory(0x0);

  delete file;

}


inline Double_t AliDielectronVarManager::GetTRDpidEfficiency(Int_t runNo, Double_t centrality, 
 				                             Double_t eta, Double_t trdPhi, Double_t pout,
 				                             Double_t& effErr) {
  //
  // return the efficiency in the given phase space cell
  //
  // LHC10h data----------------------------------------------
  Bool_t isBplus = kTRUE;
  if(runNo<=138275) isBplus = kFALSE;
  // TODO: check magnetic polarity for runs in 2011 data
  // ---------------------------------------------------------
  Int_t centIdx = -1;
  for(Int_t icent=0; icent<10; ++icent) {
    if(isBplus) {
      if(centrality>=fgTRDpidEffCentRanges[icent][2] && centrality<fgTRDpidEffCentRanges[icent][3]) {
 	centIdx = icent;
 	break;
      }
    }
    else {
      if(centrality>=fgTRDpidEffCentRanges[icent][0] && centrality<fgTRDpidEffCentRanges[icent][1]) {
 	centIdx = icent;
 	break;
      }
    }
  }
  //TODO: chek logick
  if (centIdx<0) return 1;
  
  TH3D* effH = fgTRDpidEff[centIdx][(isBplus ? 1 : 0)];
  if(!effH) {effErr=0x0; return 1.0;}
  Int_t etaBin = effH->GetXaxis()->FindBin(eta);
  if(eta<effH->GetXaxis()->GetXmin()) etaBin=1;
  if(eta>effH->GetXaxis()->GetXmax()) etaBin=effH->GetXaxis()->GetNbins();
  Int_t phiBin = effH->GetYaxis()->FindBin(trdPhi);
  if(trdPhi<effH->GetYaxis()->GetXmin()) phiBin=1;
  if(trdPhi>effH->GetYaxis()->GetXmax()) phiBin=effH->GetYaxis()->GetNbins();
  Int_t poutBin = effH->GetZaxis()->FindBin(pout);
  if(pout<effH->GetZaxis()->GetXmin()) poutBin=1;
  if(pout>effH->GetZaxis()->GetXmax()) poutBin=effH->GetZaxis()->GetNbins();
  Double_t eff = effH->GetBinContent(etaBin, phiBin, poutBin);
  effErr = effH->GetBinError(etaBin, phiBin, poutBin);
  if(eff<-0.0001) {
    effErr = 0.0;
    eff = 1.0;
  }
  return eff;
}


inline void AliDielectronVarManager::SetEvent(AliVEvent * const ev)
{
  
  fgEvent = ev;
  if (fgKFVertex) delete fgKFVertex;
  fgKFVertex=0x0;
  if (!ev) return;
  if (ev->GetPrimaryVertex()) fgKFVertex=new AliKFVertex(*ev->GetPrimaryVertex());

  for (Int_t i=0; i<AliDielectronVarManager::kNMaxValues;++i) fgData[i]=0.;
  AliDielectronVarManager::Fill(fgEvent, fgData);
}

inline void AliDielectronVarManager::SetEventData(const Double_t data[AliDielectronVarManager::kNMaxValues])
{
  for (Int_t i=0; i<kNMaxValues;++i) fgData[i]=0.;
  for (Int_t i=kPairMax; i<kNMaxValues;++i) fgData[i]=data[i];
}


inline Bool_t AliDielectronVarManager::GetDCA(const AliAODTrack *track, Double_t d0z0[2])
{
  if(track->TestBit(AliAODTrack::kIsDCA)){
    d0z0[0]=track->DCA();
    d0z0[1]=track->ZAtDCA();
    return kTRUE;
  }
  
  Bool_t ok=kFALSE;
  if(fgEvent) {
    Double_t covd0z0[3];
    //AliAODTrack copy(*track);
    AliExternalTrackParam etp; etp.CopyFromVTrack(track);

    Float_t xstart = etp.GetX();
    if(xstart>3.) {
    d0z0[0]=-999.;
    d0z0[1]=-999.;
    //printf("This method can be used only for propagation inside the beam pipe \n");
    return kFALSE;
    }


    AliAODVertex *vtx =(AliAODVertex*)(fgEvent->GetPrimaryVertex());
    Double_t fBzkG = fgEvent->GetMagneticField(); // z componenent of field in kG
    ok = etp.PropagateToDCA(vtx,fBzkG,kVeryBig,d0z0,covd0z0);
    //ok = copy.PropagateToDCA(vtx,fBzkG,kVeryBig,d0z0,covd0z0);
  }
  if(!ok){
    d0z0[0]=-999.;
    d0z0[1]=-999.;
  }
  return ok;
}

inline void AliDielectronVarManager::SetTPCEventPlane(AliEventplane *const evplane)
{
  
  fgTPCEventPlane = evplane;
  FillVarTPCEventPlane(evplane,fgData);
  //  for (Int_t i=0; i<AliDielectronVarManager::kNMaxValues;++i) fgData[i]=0.;
  //  AliDielectronVarManager::Fill(fgEvent, fgData);
}


//_________________________________________________________________
inline void AliDielectronVarManager::GetVzeroRP(const AliVEvent* event, Double_t* qvec, Int_t sideOption) {
  //
  // Get the reaction plane from the VZERO detector for a given harmonic
  //
  // sideOption = 0- V0A, 1- V0C, 2-both
  //  Q{x,y} = SUM_i mult(i) * {cos(n*phi_i), sin(n*phi_i)} 
  //  phi_i - phi angle of the VZERO sector i
  //          Each sector covers 45 degrees(8 sectors per ring). Middle of sector 0 is at 45/2
  //        channel 0: 22.5
  //                1: 22.5+45
  //                2: 22.5+45*2
  //               ...
  //        at the next ring continues the same
  //        channel 8: 22.5
  //        channel 9: 22.5 + 45
  //               ... 
  const Double_t kX[8] = {0.92388, 0.38268, -0.38268, -0.92388, -0.92388, -0.38268, 0.38268, 0.92388};    // cosines of the angles of the VZERO sectors (8 per ring)
  const Double_t kY[8] = {0.38268, 0.92388, 0.92388, 0.38268, -0.38268, -0.92388, -0.92388, -0.38268};    // sines     -- " --
  Int_t phi;
  Float_t mult;
  
  // get centrality and vertex for this event
  Double_t centralitySPD = -1; Double_t vtxZ = -999.;
  if(event->IsA() == AliESDEvent::Class()) {
    const AliESDEvent* esdEv = static_cast<const AliESDEvent*>(event);
    AliCentrality *esdCentrality = const_cast<AliESDEvent*>(esdEv)->GetCentrality();
    if(esdCentrality) centralitySPD = esdCentrality->GetCentralityPercentile("CL1");
  }
  if(event->IsA() == AliAODEvent::Class()) {
    const AliAODEvent* aodEv = static_cast<const AliAODEvent*>(event);
    AliAODHeader *header = dynamic_cast<AliAODHeader*>(aodEv->GetHeader());
    assert(header&&"Not a standard AOD");
    AliCentrality *aodCentrality = header->GetCentralityP();
    if(aodCentrality) centralitySPD = aodCentrality->GetCentralityPercentile("CL1");
  }
  const AliVVertex *primVtx = event->GetPrimaryVertex();
  if(!primVtx) return;
  vtxZ = primVtx->GetZ();
  if(TMath::Abs(vtxZ)>10.) return;
  if(centralitySPD<0. || centralitySPD>80.) return;
  
  Int_t binCent = -1; Int_t binVtx = -1;
  if(fgVZEROCalib[0]) {
    binVtx = fgVZEROCalib[0]->GetXaxis()->FindBin(vtxZ);
    binCent = fgVZEROCalib[0]->GetYaxis()->FindBin(centralitySPD);
  }
  
  AliVVZERO* vzero = event->GetVZEROData();
  Double_t average = 0.0;
  for(Int_t iChannel=0; iChannel<64; ++iChannel) {
    if(iChannel<32 && sideOption==0) continue;
    if(iChannel>=32 && sideOption==1) continue;
    phi=iChannel%8;
    mult = vzero->GetMultiplicity(iChannel);
    if(fgVZEROCalib[iChannel])
      average = fgVZEROCalib[iChannel]->GetBinContent(binVtx, binCent);
    if(average>1.0e-10 && mult>0.5) 
      mult /= average;
    else
      mult = 0.0;
    //  2nd harmonic
    qvec[0] += mult*(2.0*TMath::Power(kX[phi],2.0)-1);
    qvec[1] += mult*(2.0*kX[phi]*kY[phi]);
  }    // end loop over channels 
  
  // do recentering
  if(fgVZERORecentering[0][0]) {
//     printf("vzero: %p\n",fgVZERORecentering[0][0]);
    Int_t binCentRecenter = -1; Int_t binVtxRecenter = -1;
    binCentRecenter = fgVZERORecentering[0][0]->GetXaxis()->FindBin(centralitySPD);
    binVtxRecenter = fgVZERORecentering[0][0]->GetYaxis()->FindBin(vtxZ);
    if(sideOption==0) {  // side A
      qvec[0] -= fgVZERORecentering[0][0]->GetBinContent(binCentRecenter, binVtxRecenter);
      qvec[1] -= fgVZERORecentering[0][1]->GetBinContent(binCentRecenter, binVtxRecenter);
    }
    if(sideOption==1) {  // side C
      qvec[0] -= fgVZERORecentering[1][0]->GetBinContent(binCentRecenter, binVtxRecenter);
      qvec[1] -= fgVZERORecentering[1][1]->GetBinContent(binCentRecenter, binVtxRecenter);
    }
    if(sideOption==2) {  // side A and C together
      qvec[0] -= fgVZERORecentering[0][0]->GetBinContent(binCentRecenter, binVtxRecenter);
      qvec[0] -= fgVZERORecentering[1][0]->GetBinContent(binCentRecenter, binVtxRecenter);
      qvec[1] -= fgVZERORecentering[0][1]->GetBinContent(binCentRecenter, binVtxRecenter);
      qvec[1] -= fgVZERORecentering[1][1]->GetBinContent(binCentRecenter, binVtxRecenter);
    }
  }
  
  // calculate the reaction plane
  if(TMath::Abs(qvec[0])>1.0e-10)
    qvec[2] = TMath::ATan2(qvec[1],qvec[0])/2.0;
}
inline void AliDielectronVarManager::GetZDCRP(const AliVEvent* event, Double_t qvec[][2]) {

  //
  // Get the reaction plane from the ZDC detector for first harmonic
  //
  //  Q{x,y} = SUM{ri(x,y)*Ei} / SUM{Ei}
  //

  const Int_t   nZDCSides  = 2;
  const Int_t   nZDCplanes = 3;
  const Int_t   Aside = 0, Cside = 1, ACside = 2;
  const Int_t   nZDCTowers = 4;// number of ZDCtowers
  const Double_t ZDCTowerCenters[nZDCTowers][2] = { {-1.75, -1.75}, { 1.75, -1.75},
                                                    {-1.75,  1.75}, { 1.75,  1.75} };

  Double_t   *ZDCTEnergy[nZDCSides]; //reco E in 5 ZDC sectors - high gain chain
  Double_t    qvecNUM[nZDCplanes][2];
  Double_t    qvecDEN[nZDCplanes];
  memset(   qvecNUM,    0,     sizeof(qvecNUM));  //format
  memset(qvecDEN,     0,     sizeof(qvecDEN));  //format

  Double_t TPCRefMulti = 999, vtxX = 999, vtxY = 999;
  Int_t multiBin = 0, vtxXBin = 0, vtxYBin = 0;
  Double_t recentdim[3][3] = { { 50, 0, 2500},   //multiplicity nbin, min, max
                               { 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();

  for(int j = 0;  j < nZDCSides   ; j++){
    for(int k = 0;   k < nZDCTowers ; k++){
      qvecNUM[j][0] += ZDCTowerCenters[k][0]*ZDCTEnergy[j][k+1]; //    zdcQ += xE
      qvecNUM[j][1] += ZDCTowerCenters[k][1]*ZDCTEnergy[j][k+1]; //    zdcQ += yE
      qvecDEN[j]    += ZDCTEnergy[j][k+1];                   // zdcQsum +=  E

    }
    if(j == Aside){
      qvecNUM[j][0] = -qvecNUM[j][0];
    }

    if(j == Cside){
      qvecNUM[j][0] = -qvecNUM[j][0];
      qvecNUM[j][1] = -qvecNUM[j][1];
    }


    qvecNUM[ACside][0] += qvecNUM[j][0];
    qvecNUM[ACside][1] += qvecNUM[j][1];
    qvecDEN[ACside] += qvecDEN[j];

  }

  for(int j = 0; j < nZDCplanes; j++){
    if(qvecDEN[j] != 0){
      qvec[j][0] = (qvecNUM[j][0] / qvecDEN[j]);
      qvec[j][1] = (qvecNUM[j][1] / qvecDEN[j]);
    }
    else if(qvecDEN[j] == 0) {
      qvec[j][0] = 999;
      qvec[j][1] = 999;
    }

  }

  if(fgZDCRecentering[0][0]){
    const AliAODEvent* aodEv = static_cast<const AliAODEvent*>(event);
    AliAODHeader *header = dynamic_cast<AliAODHeader*>(aodEv->GetHeader());
    if(!header) return;
    TPCRefMulti = header -> GetTPConlyRefMultiplicity();

    const AliVVertex *primVtx = event->GetPrimaryVertex();
    if(!primVtx) return;
    vtxX = primVtx->GetX();
    vtxY = primVtx->GetY();

    multiBin = (Int_t)((TPCRefMulti-recentdim[0][1])*recentdim[0][0] / (recentdim[0][2] - recentdim[0][1])) + 1;
    vtxXBin  = (Int_t)((vtxX-recentdim[1][1])*recentdim[1][0] / (recentdim[1][2] - recentdim[1][1])) + 1;
    vtxYBin  = (Int_t)((vtxY-recentdim[2][1])*recentdim[2][0] / (recentdim[2][2] - recentdim[2][1])) + 1;

    for(int j = 0; j < nZDCplanes; j++)
      if(qvecDEN[j] != 0){
        qvec[j][0] -= fgZDCRecentering[j][0] -> GetBinContent(multiBin, vtxXBin, vtxYBin);
        qvec[j][1] -= fgZDCRecentering[j][1] -> GetBinContent(multiBin, vtxXBin, vtxYBin);
      }
  }

}



//______________________________________________________________________________                                                                                                                                                                                     
inline AliAODVertex* AliDielectronVarManager::GetVertex(const AliAODEvent* event, AliAODVertex::AODVtx_t vtype) {
  // Get vertex
  Int_t nVertices=event->GetNumberOfVertices();
  for(Int_t iVert=0; iVert<nVertices; iVert++){
    AliAODVertex *v=event->GetVertex(iVert);
    //    printf(" vtx %d  contrib %d  daughters %d \n ",v->GetType(),v->GetNContributors(), v->GetNDaughters());
    if(v->GetType()==vtype) return v;
  }
  return 0;
}

/*
inline void AliDielectronVarManager::FillValues(const TParticle *particle, Double_t *values)
{
  //
  // Fill track information available for histogramming into an array
  //

  // Fill TParticle interface information
  values[AliDielectronVarManager::kPx]     = particle->Px();
  values[AliDielectronVarManager::kPy]     = particle->Py();
  values[AliDielectronVarManager::kPz]     = particle->Pz();
  values[AliDielectronVarManager::kPt]     = particle->Pt();
  values[AliDielectronVarManager::kP]      = particle->P();

  values[AliDielectronVarManager::kXv]     = particle->Vx();
  values[AliDielectronVarManager::kYv]     = particle->Vy();
  values[AliDielectronVarManager::kZv]     = particle->Vz();

  values[AliDielectronVarManager::kOneOverPt] = 1./particle->Pt();
  values[AliDielectronVarManager::kPhi]    = particle->Phi();
  values[AliDielectronVarManager::kTheta]  = 
  values[AliDielectronVarManager::kEta]    = particle->Eta();
  values[AliDielectronVarManager::kY]      = 

  values[AliDielectronVarManager::kE]      = particle->Energy();
  values[AliDielectronVarManager::kM]      = particle->GetMass();

  values[AliDielectronVarManager::kCharge] = particle->GetPDG()->Charge()/3; // uggly

}*/

#endif

 AliDielectronVarManager.h:1
 AliDielectronVarManager.h:2
 AliDielectronVarManager.h:3
 AliDielectronVarManager.h:4
 AliDielectronVarManager.h:5
 AliDielectronVarManager.h:6
 AliDielectronVarManager.h:7
 AliDielectronVarManager.h:8
 AliDielectronVarManager.h:9
 AliDielectronVarManager.h:10
 AliDielectronVarManager.h:11
 AliDielectronVarManager.h:12
 AliDielectronVarManager.h:13
 AliDielectronVarManager.h:14
 AliDielectronVarManager.h:15
 AliDielectronVarManager.h:16
 AliDielectronVarManager.h:17
 AliDielectronVarManager.h:18
 AliDielectronVarManager.h:19
 AliDielectronVarManager.h:20
 AliDielectronVarManager.h:21
 AliDielectronVarManager.h:22
 AliDielectronVarManager.h:23
 AliDielectronVarManager.h:24
 AliDielectronVarManager.h:25
 AliDielectronVarManager.h:26
 AliDielectronVarManager.h:27
 AliDielectronVarManager.h:28
 AliDielectronVarManager.h:29
 AliDielectronVarManager.h:30
 AliDielectronVarManager.h:31
 AliDielectronVarManager.h:32
 AliDielectronVarManager.h:33
 AliDielectronVarManager.h:34
 AliDielectronVarManager.h:35
 AliDielectronVarManager.h:36
 AliDielectronVarManager.h:37
 AliDielectronVarManager.h:38
 AliDielectronVarManager.h:39
 AliDielectronVarManager.h:40
 AliDielectronVarManager.h:41
 AliDielectronVarManager.h:42
 AliDielectronVarManager.h:43
 AliDielectronVarManager.h:44
 AliDielectronVarManager.h:45
 AliDielectronVarManager.h:46
 AliDielectronVarManager.h:47
 AliDielectronVarManager.h:48
 AliDielectronVarManager.h:49
 AliDielectronVarManager.h:50
 AliDielectronVarManager.h:51
 AliDielectronVarManager.h:52
 AliDielectronVarManager.h:53
 AliDielectronVarManager.h:54
 AliDielectronVarManager.h:55
 AliDielectronVarManager.h:56
 AliDielectronVarManager.h:57
 AliDielectronVarManager.h:58
 AliDielectronVarManager.h:59
 AliDielectronVarManager.h:60
 AliDielectronVarManager.h:61
 AliDielectronVarManager.h:62
 AliDielectronVarManager.h:63
 AliDielectronVarManager.h:64
 AliDielectronVarManager.h:65
 AliDielectronVarManager.h:66
 AliDielectronVarManager.h:67
 AliDielectronVarManager.h:68
 AliDielectronVarManager.h:69
 AliDielectronVarManager.h:70
 AliDielectronVarManager.h:71
 AliDielectronVarManager.h:72
 AliDielectronVarManager.h:73
 AliDielectronVarManager.h:74
 AliDielectronVarManager.h:75
 AliDielectronVarManager.h:76
 AliDielectronVarManager.h:77
 AliDielectronVarManager.h:78
 AliDielectronVarManager.h:79
 AliDielectronVarManager.h:80
 AliDielectronVarManager.h:81
 AliDielectronVarManager.h:82
 AliDielectronVarManager.h:83
 AliDielectronVarManager.h:84
 AliDielectronVarManager.h:85
 AliDielectronVarManager.h:86
 AliDielectronVarManager.h:87
 AliDielectronVarManager.h:88
 AliDielectronVarManager.h:89
 AliDielectronVarManager.h:90
 AliDielectronVarManager.h:91
 AliDielectronVarManager.h:92
 AliDielectronVarManager.h:93
 AliDielectronVarManager.h:94
 AliDielectronVarManager.h:95
 AliDielectronVarManager.h:96
 AliDielectronVarManager.h:97
 AliDielectronVarManager.h:98
 AliDielectronVarManager.h:99
 AliDielectronVarManager.h:100
 AliDielectronVarManager.h:101
 AliDielectronVarManager.h:102
 AliDielectronVarManager.h:103
 AliDielectronVarManager.h:104
 AliDielectronVarManager.h:105
 AliDielectronVarManager.h:106
 AliDielectronVarManager.h:107
 AliDielectronVarManager.h:108
 AliDielectronVarManager.h:109
 AliDielectronVarManager.h:110
 AliDielectronVarManager.h:111
 AliDielectronVarManager.h:112
 AliDielectronVarManager.h:113
 AliDielectronVarManager.h:114
 AliDielectronVarManager.h:115
 AliDielectronVarManager.h:116
 AliDielectronVarManager.h:117
 AliDielectronVarManager.h:118
 AliDielectronVarManager.h:119
 AliDielectronVarManager.h:120
 AliDielectronVarManager.h:121
 AliDielectronVarManager.h:122
 AliDielectronVarManager.h:123
 AliDielectronVarManager.h:124
 AliDielectronVarManager.h:125
 AliDielectronVarManager.h:126
 AliDielectronVarManager.h:127
 AliDielectronVarManager.h:128
 AliDielectronVarManager.h:129
 AliDielectronVarManager.h:130
 AliDielectronVarManager.h:131
 AliDielectronVarManager.h:132
 AliDielectronVarManager.h:133
 AliDielectronVarManager.h:134
 AliDielectronVarManager.h:135
 AliDielectronVarManager.h:136
 AliDielectronVarManager.h:137
 AliDielectronVarManager.h:138
 AliDielectronVarManager.h:139
 AliDielectronVarManager.h:140
 AliDielectronVarManager.h:141
 AliDielectronVarManager.h:142
 AliDielectronVarManager.h:143
 AliDielectronVarManager.h:144
 AliDielectronVarManager.h:145
 AliDielectronVarManager.h:146
 AliDielectronVarManager.h:147
 AliDielectronVarManager.h:148
 AliDielectronVarManager.h:149
 AliDielectronVarManager.h:150
 AliDielectronVarManager.h:151
 AliDielectronVarManager.h:152
 AliDielectronVarManager.h:153
 AliDielectronVarManager.h:154
 AliDielectronVarManager.h:155
 AliDielectronVarManager.h:156
 AliDielectronVarManager.h:157
 AliDielectronVarManager.h:158
 AliDielectronVarManager.h:159
 AliDielectronVarManager.h:160
 AliDielectronVarManager.h:161
 AliDielectronVarManager.h:162
 AliDielectronVarManager.h:163
 AliDielectronVarManager.h:164
 AliDielectronVarManager.h:165
 AliDielectronVarManager.h:166
 AliDielectronVarManager.h:167
 AliDielectronVarManager.h:168
 AliDielectronVarManager.h:169
 AliDielectronVarManager.h:170
 AliDielectronVarManager.h:171
 AliDielectronVarManager.h:172
 AliDielectronVarManager.h:173
 AliDielectronVarManager.h:174
 AliDielectronVarManager.h:175
 AliDielectronVarManager.h:176
 AliDielectronVarManager.h:177
 AliDielectronVarManager.h:178
 AliDielectronVarManager.h:179
 AliDielectronVarManager.h:180
 AliDielectronVarManager.h:181
 AliDielectronVarManager.h:182
 AliDielectronVarManager.h:183
 AliDielectronVarManager.h:184
 AliDielectronVarManager.h:185
 AliDielectronVarManager.h:186
 AliDielectronVarManager.h:187
 AliDielectronVarManager.h:188
 AliDielectronVarManager.h:189
 AliDielectronVarManager.h:190
 AliDielectronVarManager.h:191
 AliDielectronVarManager.h:192
 AliDielectronVarManager.h:193
 AliDielectronVarManager.h:194
 AliDielectronVarManager.h:195
 AliDielectronVarManager.h:196
 AliDielectronVarManager.h:197
 AliDielectronVarManager.h:198
 AliDielectronVarManager.h:199
 AliDielectronVarManager.h:200
 AliDielectronVarManager.h:201
 AliDielectronVarManager.h:202
 AliDielectronVarManager.h:203
 AliDielectronVarManager.h:204
 AliDielectronVarManager.h:205
 AliDielectronVarManager.h:206
 AliDielectronVarManager.h:207
 AliDielectronVarManager.h:208
 AliDielectronVarManager.h:209
 AliDielectronVarManager.h:210
 AliDielectronVarManager.h:211
 AliDielectronVarManager.h:212
 AliDielectronVarManager.h:213
 AliDielectronVarManager.h:214
 AliDielectronVarManager.h:215
 AliDielectronVarManager.h:216
 AliDielectronVarManager.h:217
 AliDielectronVarManager.h:218
 AliDielectronVarManager.h:219
 AliDielectronVarManager.h:220
 AliDielectronVarManager.h:221
 AliDielectronVarManager.h:222
 AliDielectronVarManager.h:223
 AliDielectronVarManager.h:224
 AliDielectronVarManager.h:225
 AliDielectronVarManager.h:226
 AliDielectronVarManager.h:227
 AliDielectronVarManager.h:228
 AliDielectronVarManager.h:229
 AliDielectronVarManager.h:230
 AliDielectronVarManager.h:231
 AliDielectronVarManager.h:232
 AliDielectronVarManager.h:233
 AliDielectronVarManager.h:234
 AliDielectronVarManager.h:235
 AliDielectronVarManager.h:236
 AliDielectronVarManager.h:237
 AliDielectronVarManager.h:238
 AliDielectronVarManager.h:239
 AliDielectronVarManager.h:240
 AliDielectronVarManager.h:241
 AliDielectronVarManager.h:242
 AliDielectronVarManager.h:243
 AliDielectronVarManager.h:244
 AliDielectronVarManager.h:245
 AliDielectronVarManager.h:246
 AliDielectronVarManager.h:247
 AliDielectronVarManager.h:248
 AliDielectronVarManager.h:249
 AliDielectronVarManager.h:250
 AliDielectronVarManager.h:251
 AliDielectronVarManager.h:252
 AliDielectronVarManager.h:253
 AliDielectronVarManager.h:254
 AliDielectronVarManager.h:255
 AliDielectronVarManager.h:256
 AliDielectronVarManager.h:257
 AliDielectronVarManager.h:258
 AliDielectronVarManager.h:259
 AliDielectronVarManager.h:260
 AliDielectronVarManager.h:261
 AliDielectronVarManager.h:262
 AliDielectronVarManager.h:263
 AliDielectronVarManager.h:264
 AliDielectronVarManager.h:265
 AliDielectronVarManager.h:266
 AliDielectronVarManager.h:267
 AliDielectronVarManager.h:268
 AliDielectronVarManager.h:269
 AliDielectronVarManager.h:270
 AliDielectronVarManager.h:271
 AliDielectronVarManager.h:272
 AliDielectronVarManager.h:273
 AliDielectronVarManager.h:274
 AliDielectronVarManager.h:275
 AliDielectronVarManager.h:276
 AliDielectronVarManager.h:277
 AliDielectronVarManager.h:278
 AliDielectronVarManager.h:279
 AliDielectronVarManager.h:280
 AliDielectronVarManager.h:281
 AliDielectronVarManager.h:282
 AliDielectronVarManager.h:283
 AliDielectronVarManager.h:284
 AliDielectronVarManager.h:285
 AliDielectronVarManager.h:286
 AliDielectronVarManager.h:287
 AliDielectronVarManager.h:288
 AliDielectronVarManager.h:289
 AliDielectronVarManager.h:290
 AliDielectronVarManager.h:291
 AliDielectronVarManager.h:292
 AliDielectronVarManager.h:293
 AliDielectronVarManager.h:294
 AliDielectronVarManager.h:295
 AliDielectronVarManager.h:296
 AliDielectronVarManager.h:297
 AliDielectronVarManager.h:298
 AliDielectronVarManager.h:299
 AliDielectronVarManager.h:300
 AliDielectronVarManager.h:301
 AliDielectronVarManager.h:302
 AliDielectronVarManager.h:303
 AliDielectronVarManager.h:304
 AliDielectronVarManager.h:305
 AliDielectronVarManager.h:306
 AliDielectronVarManager.h:307
 AliDielectronVarManager.h:308
 AliDielectronVarManager.h:309
 AliDielectronVarManager.h:310
 AliDielectronVarManager.h:311
 AliDielectronVarManager.h:312
 AliDielectronVarManager.h:313
 AliDielectronVarManager.h:314
 AliDielectronVarManager.h:315
 AliDielectronVarManager.h:316
 AliDielectronVarManager.h:317
 AliDielectronVarManager.h:318
 AliDielectronVarManager.h:319
 AliDielectronVarManager.h:320
 AliDielectronVarManager.h:321
 AliDielectronVarManager.h:322
 AliDielectronVarManager.h:323
 AliDielectronVarManager.h:324
 AliDielectronVarManager.h:325
 AliDielectronVarManager.h:326
 AliDielectronVarManager.h:327
 AliDielectronVarManager.h:328
 AliDielectronVarManager.h:329
 AliDielectronVarManager.h:330
 AliDielectronVarManager.h:331
 AliDielectronVarManager.h:332
 AliDielectronVarManager.h:333
 AliDielectronVarManager.h:334
 AliDielectronVarManager.h:335
 AliDielectronVarManager.h:336
 AliDielectronVarManager.h:337
 AliDielectronVarManager.h:338
 AliDielectronVarManager.h:339
 AliDielectronVarManager.h:340
 AliDielectronVarManager.h:341
 AliDielectronVarManager.h:342
 AliDielectronVarManager.h:343
 AliDielectronVarManager.h:344
 AliDielectronVarManager.h:345
 AliDielectronVarManager.h:346
 AliDielectronVarManager.h:347
 AliDielectronVarManager.h:348
 AliDielectronVarManager.h:349
 AliDielectronVarManager.h:350
 AliDielectronVarManager.h:351
 AliDielectronVarManager.h:352
 AliDielectronVarManager.h:353
 AliDielectronVarManager.h:354
 AliDielectronVarManager.h:355
 AliDielectronVarManager.h:356
 AliDielectronVarManager.h:357
 AliDielectronVarManager.h:358
 AliDielectronVarManager.h:359
 AliDielectronVarManager.h:360
 AliDielectronVarManager.h:361
 AliDielectronVarManager.h:362
 AliDielectronVarManager.h:363
 AliDielectronVarManager.h:364
 AliDielectronVarManager.h:365
 AliDielectronVarManager.h:366
 AliDielectronVarManager.h:367
 AliDielectronVarManager.h:368
 AliDielectronVarManager.h:369
 AliDielectronVarManager.h:370
 AliDielectronVarManager.h:371
 AliDielectronVarManager.h:372
 AliDielectronVarManager.h:373
 AliDielectronVarManager.h:374
 AliDielectronVarManager.h:375
 AliDielectronVarManager.h:376
 AliDielectronVarManager.h:377
 AliDielectronVarManager.h:378
 AliDielectronVarManager.h:379
 AliDielectronVarManager.h:380
 AliDielectronVarManager.h:381
 AliDielectronVarManager.h:382
 AliDielectronVarManager.h:383
 AliDielectronVarManager.h:384
 AliDielectronVarManager.h:385
 AliDielectronVarManager.h:386
 AliDielectronVarManager.h:387
 AliDielectronVarManager.h:388
 AliDielectronVarManager.h:389
 AliDielectronVarManager.h:390
 AliDielectronVarManager.h:391
 AliDielectronVarManager.h:392
 AliDielectronVarManager.h:393
 AliDielectronVarManager.h:394
 AliDielectronVarManager.h:395
 AliDielectronVarManager.h:396
 AliDielectronVarManager.h:397
 AliDielectronVarManager.h:398
 AliDielectronVarManager.h:399
 AliDielectronVarManager.h:400
 AliDielectronVarManager.h:401
 AliDielectronVarManager.h:402
 AliDielectronVarManager.h:403
 AliDielectronVarManager.h:404
 AliDielectronVarManager.h:405
 AliDielectronVarManager.h:406
 AliDielectronVarManager.h:407
 AliDielectronVarManager.h:408
 AliDielectronVarManager.h:409
 AliDielectronVarManager.h:410
 AliDielectronVarManager.h:411
 AliDielectronVarManager.h:412
 AliDielectronVarManager.h:413
 AliDielectronVarManager.h:414
 AliDielectronVarManager.h:415
 AliDielectronVarManager.h:416
 AliDielectronVarManager.h:417
 AliDielectronVarManager.h:418
 AliDielectronVarManager.h:419
 AliDielectronVarManager.h:420
 AliDielectronVarManager.h:421
 AliDielectronVarManager.h:422
 AliDielectronVarManager.h:423
 AliDielectronVarManager.h:424
 AliDielectronVarManager.h:425
 AliDielectronVarManager.h:426
 AliDielectronVarManager.h:427
 AliDielectronVarManager.h:428
 AliDielectronVarManager.h:429
 AliDielectronVarManager.h:430
 AliDielectronVarManager.h:431
 AliDielectronVarManager.h:432
 AliDielectronVarManager.h:433
 AliDielectronVarManager.h:434
 AliDielectronVarManager.h:435
 AliDielectronVarManager.h:436
 AliDielectronVarManager.h:437
 AliDielectronVarManager.h:438
 AliDielectronVarManager.h:439
 AliDielectronVarManager.h:440
 AliDielectronVarManager.h:441
 AliDielectronVarManager.h:442
 AliDielectronVarManager.h:443
 AliDielectronVarManager.h:444
 AliDielectronVarManager.h:445
 AliDielectronVarManager.h:446
 AliDielectronVarManager.h:447
 AliDielectronVarManager.h:448
 AliDielectronVarManager.h:449
 AliDielectronVarManager.h:450
 AliDielectronVarManager.h:451
 AliDielectronVarManager.h:452
 AliDielectronVarManager.h:453
 AliDielectronVarManager.h:454
 AliDielectronVarManager.h:455
 AliDielectronVarManager.h:456
 AliDielectronVarManager.h:457
 AliDielectronVarManager.h:458
 AliDielectronVarManager.h:459
 AliDielectronVarManager.h:460
 AliDielectronVarManager.h:461
 AliDielectronVarManager.h:462
 AliDielectronVarManager.h:463
 AliDielectronVarManager.h:464
 AliDielectronVarManager.h:465
 AliDielectronVarManager.h:466
 AliDielectronVarManager.h:467
 AliDielectronVarManager.h:468
 AliDielectronVarManager.h:469
 AliDielectronVarManager.h:470
 AliDielectronVarManager.h:471
 AliDielectronVarManager.h:472
 AliDielectronVarManager.h:473
 AliDielectronVarManager.h:474
 AliDielectronVarManager.h:475
 AliDielectronVarManager.h:476
 AliDielectronVarManager.h:477
 AliDielectronVarManager.h:478
 AliDielectronVarManager.h:479
 AliDielectronVarManager.h:480
 AliDielectronVarManager.h:481
 AliDielectronVarManager.h:482
 AliDielectronVarManager.h:483
 AliDielectronVarManager.h:484
 AliDielectronVarManager.h:485
 AliDielectronVarManager.h:486
 AliDielectronVarManager.h:487
 AliDielectronVarManager.h:488
 AliDielectronVarManager.h:489
 AliDielectronVarManager.h:490
 AliDielectronVarManager.h:491
 AliDielectronVarManager.h:492
 AliDielectronVarManager.h:493
 AliDielectronVarManager.h:494
 AliDielectronVarManager.h:495
 AliDielectronVarManager.h:496
 AliDielectronVarManager.h:497
 AliDielectronVarManager.h:498
 AliDielectronVarManager.h:499
 AliDielectronVarManager.h:500
 AliDielectronVarManager.h:501
 AliDielectronVarManager.h:502
 AliDielectronVarManager.h:503
 AliDielectronVarManager.h:504
 AliDielectronVarManager.h:505
 AliDielectronVarManager.h:506
 AliDielectronVarManager.h:507
 AliDielectronVarManager.h:508
 AliDielectronVarManager.h:509
 AliDielectronVarManager.h:510
 AliDielectronVarManager.h:511
 AliDielectronVarManager.h:512
 AliDielectronVarManager.h:513
 AliDielectronVarManager.h:514
 AliDielectronVarManager.h:515
 AliDielectronVarManager.h:516
 AliDielectronVarManager.h:517
 AliDielectronVarManager.h:518
 AliDielectronVarManager.h:519
 AliDielectronVarManager.h:520
 AliDielectronVarManager.h:521
 AliDielectronVarManager.h:522
 AliDielectronVarManager.h:523
 AliDielectronVarManager.h:524
 AliDielectronVarManager.h:525
 AliDielectronVarManager.h:526
 AliDielectronVarManager.h:527
 AliDielectronVarManager.h:528
 AliDielectronVarManager.h:529
 AliDielectronVarManager.h:530
 AliDielectronVarManager.h:531
 AliDielectronVarManager.h:532
 AliDielectronVarManager.h:533
 AliDielectronVarManager.h:534
 AliDielectronVarManager.h:535
 AliDielectronVarManager.h:536
 AliDielectronVarManager.h:537
 AliDielectronVarManager.h:538
 AliDielectronVarManager.h:539
 AliDielectronVarManager.h:540
 AliDielectronVarManager.h:541
 AliDielectronVarManager.h:542
 AliDielectronVarManager.h:543
 AliDielectronVarManager.h:544
 AliDielectronVarManager.h:545
 AliDielectronVarManager.h:546
 AliDielectronVarManager.h:547
 AliDielectronVarManager.h:548
 AliDielectronVarManager.h:549
 AliDielectronVarManager.h:550
 AliDielectronVarManager.h:551
 AliDielectronVarManager.h:552
 AliDielectronVarManager.h:553
 AliDielectronVarManager.h:554
 AliDielectronVarManager.h:555
 AliDielectronVarManager.h:556
 AliDielectronVarManager.h:557
 AliDielectronVarManager.h:558
 AliDielectronVarManager.h:559
 AliDielectronVarManager.h:560
 AliDielectronVarManager.h:561
 AliDielectronVarManager.h:562
 AliDielectronVarManager.h:563
 AliDielectronVarManager.h:564
 AliDielectronVarManager.h:565
 AliDielectronVarManager.h:566
 AliDielectronVarManager.h:567
 AliDielectronVarManager.h:568
 AliDielectronVarManager.h:569
 AliDielectronVarManager.h:570
 AliDielectronVarManager.h:571
 AliDielectronVarManager.h:572
 AliDielectronVarManager.h:573
 AliDielectronVarManager.h:574
 AliDielectronVarManager.h:575
 AliDielectronVarManager.h:576
 AliDielectronVarManager.h:577
 AliDielectronVarManager.h:578
 AliDielectronVarManager.h:579
 AliDielectronVarManager.h:580
 AliDielectronVarManager.h:581
 AliDielectronVarManager.h:582
 AliDielectronVarManager.h:583
 AliDielectronVarManager.h:584
 AliDielectronVarManager.h:585
 AliDielectronVarManager.h:586
 AliDielectronVarManager.h:587
 AliDielectronVarManager.h:588
 AliDielectronVarManager.h:589
 AliDielectronVarManager.h:590
 AliDielectronVarManager.h:591
 AliDielectronVarManager.h:592
 AliDielectronVarManager.h:593
 AliDielectronVarManager.h:594
 AliDielectronVarManager.h:595
 AliDielectronVarManager.h:596
 AliDielectronVarManager.h:597
 AliDielectronVarManager.h:598
 AliDielectronVarManager.h:599
 AliDielectronVarManager.h:600
 AliDielectronVarManager.h:601
 AliDielectronVarManager.h:602
 AliDielectronVarManager.h:603
 AliDielectronVarManager.h:604
 AliDielectronVarManager.h:605
 AliDielectronVarManager.h:606
 AliDielectronVarManager.h:607
 AliDielectronVarManager.h:608
 AliDielectronVarManager.h:609
 AliDielectronVarManager.h:610
 AliDielectronVarManager.h:611
 AliDielectronVarManager.h:612
 AliDielectronVarManager.h:613
 AliDielectronVarManager.h:614
 AliDielectronVarManager.h:615
 AliDielectronVarManager.h:616
 AliDielectronVarManager.h:617
 AliDielectronVarManager.h:618
 AliDielectronVarManager.h:619
 AliDielectronVarManager.h:620
 AliDielectronVarManager.h:621
 AliDielectronVarManager.h:622
 AliDielectronVarManager.h:623
 AliDielectronVarManager.h:624
 AliDielectronVarManager.h:625
 AliDielectronVarManager.h:626
 AliDielectronVarManager.h:627
 AliDielectronVarManager.h:628
 AliDielectronVarManager.h:629
 AliDielectronVarManager.h:630
 AliDielectronVarManager.h:631
 AliDielectronVarManager.h:632
 AliDielectronVarManager.h:633
 AliDielectronVarManager.h:634
 AliDielectronVarManager.h:635
 AliDielectronVarManager.h:636
 AliDielectronVarManager.h:637
 AliDielectronVarManager.h:638
 AliDielectronVarManager.h:639
 AliDielectronVarManager.h:640
 AliDielectronVarManager.h:641
 AliDielectronVarManager.h:642
 AliDielectronVarManager.h:643
 AliDielectronVarManager.h:644
 AliDielectronVarManager.h:645
 AliDielectronVarManager.h:646
 AliDielectronVarManager.h:647
 AliDielectronVarManager.h:648
 AliDielectronVarManager.h:649
 AliDielectronVarManager.h:650
 AliDielectronVarManager.h:651
 AliDielectronVarManager.h:652
 AliDielectronVarManager.h:653
 AliDielectronVarManager.h:654
 AliDielectronVarManager.h:655
 AliDielectronVarManager.h:656
 AliDielectronVarManager.h:657
 AliDielectronVarManager.h:658
 AliDielectronVarManager.h:659
 AliDielectronVarManager.h:660
 AliDielectronVarManager.h:661
 AliDielectronVarManager.h:662
 AliDielectronVarManager.h:663
 AliDielectronVarManager.h:664
 AliDielectronVarManager.h:665
 AliDielectronVarManager.h:666
 AliDielectronVarManager.h:667
 AliDielectronVarManager.h:668
 AliDielectronVarManager.h:669
 AliDielectronVarManager.h:670
 AliDielectronVarManager.h:671
 AliDielectronVarManager.h:672
 AliDielectronVarManager.h:673
 AliDielectronVarManager.h:674
 AliDielectronVarManager.h:675
 AliDielectronVarManager.h:676
 AliDielectronVarManager.h:677
 AliDielectronVarManager.h:678
 AliDielectronVarManager.h:679
 AliDielectronVarManager.h:680
 AliDielectronVarManager.h:681
 AliDielectronVarManager.h:682
 AliDielectronVarManager.h:683
 AliDielectronVarManager.h:684
 AliDielectronVarManager.h:685
 AliDielectronVarManager.h:686
 AliDielectronVarManager.h:687
 AliDielectronVarManager.h:688
 AliDielectronVarManager.h:689
 AliDielectronVarManager.h:690
 AliDielectronVarManager.h:691
 AliDielectronVarManager.h:692
 AliDielectronVarManager.h:693
 AliDielectronVarManager.h:694
 AliDielectronVarManager.h:695
 AliDielectronVarManager.h:696
 AliDielectronVarManager.h:697
 AliDielectronVarManager.h:698
 AliDielectronVarManager.h:699
 AliDielectronVarManager.h:700
 AliDielectronVarManager.h:701
 AliDielectronVarManager.h:702
 AliDielectronVarManager.h:703
 AliDielectronVarManager.h:704
 AliDielectronVarManager.h:705
 AliDielectronVarManager.h:706
 AliDielectronVarManager.h:707
 AliDielectronVarManager.h:708
 AliDielectronVarManager.h:709
 AliDielectronVarManager.h:710
 AliDielectronVarManager.h:711
 AliDielectronVarManager.h:712
 AliDielectronVarManager.h:713
 AliDielectronVarManager.h:714
 AliDielectronVarManager.h:715
 AliDielectronVarManager.h:716
 AliDielectronVarManager.h:717
 AliDielectronVarManager.h:718
 AliDielectronVarManager.h:719
 AliDielectronVarManager.h:720
 AliDielectronVarManager.h:721
 AliDielectronVarManager.h:722
 AliDielectronVarManager.h:723
 AliDielectronVarManager.h:724
 AliDielectronVarManager.h:725
 AliDielectronVarManager.h:726
 AliDielectronVarManager.h:727
 AliDielectronVarManager.h:728
 AliDielectronVarManager.h:729
 AliDielectronVarManager.h:730
 AliDielectronVarManager.h:731
 AliDielectronVarManager.h:732
 AliDielectronVarManager.h:733
 AliDielectronVarManager.h:734
 AliDielectronVarManager.h:735
 AliDielectronVarManager.h:736
 AliDielectronVarManager.h:737
 AliDielectronVarManager.h:738
 AliDielectronVarManager.h:739
 AliDielectronVarManager.h:740
 AliDielectronVarManager.h:741
 AliDielectronVarManager.h:742
 AliDielectronVarManager.h:743
 AliDielectronVarManager.h:744
 AliDielectronVarManager.h:745
 AliDielectronVarManager.h:746
 AliDielectronVarManager.h:747
 AliDielectronVarManager.h:748
 AliDielectronVarManager.h:749
 AliDielectronVarManager.h:750
 AliDielectronVarManager.h:751
 AliDielectronVarManager.h:752
 AliDielectronVarManager.h:753
 AliDielectronVarManager.h:754
 AliDielectronVarManager.h:755
 AliDielectronVarManager.h:756
 AliDielectronVarManager.h:757
 AliDielectronVarManager.h:758
 AliDielectronVarManager.h:759
 AliDielectronVarManager.h:760
 AliDielectronVarManager.h:761
 AliDielectronVarManager.h:762
 AliDielectronVarManager.h:763
 AliDielectronVarManager.h:764
 AliDielectronVarManager.h:765
 AliDielectronVarManager.h:766
 AliDielectronVarManager.h:767
 AliDielectronVarManager.h:768
 AliDielectronVarManager.h:769
 AliDielectronVarManager.h:770
 AliDielectronVarManager.h:771
 AliDielectronVarManager.h:772
 AliDielectronVarManager.h:773
 AliDielectronVarManager.h:774
 AliDielectronVarManager.h:775
 AliDielectronVarManager.h:776
 AliDielectronVarManager.h:777
 AliDielectronVarManager.h:778
 AliDielectronVarManager.h:779
 AliDielectronVarManager.h:780
 AliDielectronVarManager.h:781
 AliDielectronVarManager.h:782
 AliDielectronVarManager.h:783
 AliDielectronVarManager.h:784
 AliDielectronVarManager.h:785
 AliDielectronVarManager.h:786
 AliDielectronVarManager.h:787
 AliDielectronVarManager.h:788
 AliDielectronVarManager.h:789
 AliDielectronVarManager.h:790
 AliDielectronVarManager.h:791
 AliDielectronVarManager.h:792
 AliDielectronVarManager.h:793
 AliDielectronVarManager.h:794
 AliDielectronVarManager.h:795
 AliDielectronVarManager.h:796
 AliDielectronVarManager.h:797
 AliDielectronVarManager.h:798
 AliDielectronVarManager.h:799
 AliDielectronVarManager.h:800
 AliDielectronVarManager.h:801
 AliDielectronVarManager.h:802
 AliDielectronVarManager.h:803
 AliDielectronVarManager.h:804
 AliDielectronVarManager.h:805
 AliDielectronVarManager.h:806
 AliDielectronVarManager.h:807
 AliDielectronVarManager.h:808
 AliDielectronVarManager.h:809
 AliDielectronVarManager.h:810
 AliDielectronVarManager.h:811
 AliDielectronVarManager.h:812
 AliDielectronVarManager.h:813
 AliDielectronVarManager.h:814
 AliDielectronVarManager.h:815
 AliDielectronVarManager.h:816
 AliDielectronVarManager.h:817
 AliDielectronVarManager.h:818
 AliDielectronVarManager.h:819
 AliDielectronVarManager.h:820
 AliDielectronVarManager.h:821
 AliDielectronVarManager.h:822
 AliDielectronVarManager.h:823
 AliDielectronVarManager.h:824
 AliDielectronVarManager.h:825
 AliDielectronVarManager.h:826
 AliDielectronVarManager.h:827
 AliDielectronVarManager.h:828
 AliDielectronVarManager.h:829
 AliDielectronVarManager.h:830
 AliDielectronVarManager.h:831
 AliDielectronVarManager.h:832
 AliDielectronVarManager.h:833
 AliDielectronVarManager.h:834
 AliDielectronVarManager.h:835
 AliDielectronVarManager.h:836
 AliDielectronVarManager.h:837
 AliDielectronVarManager.h:838
 AliDielectronVarManager.h:839
 AliDielectronVarManager.h:840
 AliDielectronVarManager.h:841
 AliDielectronVarManager.h:842
 AliDielectronVarManager.h:843
 AliDielectronVarManager.h:844
 AliDielectronVarManager.h:845
 AliDielectronVarManager.h:846
 AliDielectronVarManager.h:847
 AliDielectronVarManager.h:848
 AliDielectronVarManager.h:849
 AliDielectronVarManager.h:850
 AliDielectronVarManager.h:851
 AliDielectronVarManager.h:852
 AliDielectronVarManager.h:853
 AliDielectronVarManager.h:854
 AliDielectronVarManager.h:855
 AliDielectronVarManager.h:856
 AliDielectronVarManager.h:857
 AliDielectronVarManager.h:858
 AliDielectronVarManager.h:859
 AliDielectronVarManager.h:860
 AliDielectronVarManager.h:861
 AliDielectronVarManager.h:862
 AliDielectronVarManager.h:863
 AliDielectronVarManager.h:864
 AliDielectronVarManager.h:865
 AliDielectronVarManager.h:866
 AliDielectronVarManager.h:867
 AliDielectronVarManager.h:868
 AliDielectronVarManager.h:869
 AliDielectronVarManager.h:870
 AliDielectronVarManager.h:871
 AliDielectronVarManager.h:872
 AliDielectronVarManager.h:873
 AliDielectronVarManager.h:874
 AliDielectronVarManager.h:875
 AliDielectronVarManager.h:876
 AliDielectronVarManager.h:877
 AliDielectronVarManager.h:878
 AliDielectronVarManager.h:879
 AliDielectronVarManager.h:880
 AliDielectronVarManager.h:881
 AliDielectronVarManager.h:882
 AliDielectronVarManager.h:883
 AliDielectronVarManager.h:884
 AliDielectronVarManager.h:885
 AliDielectronVarManager.h:886
 AliDielectronVarManager.h:887
 AliDielectronVarManager.h:888
 AliDielectronVarManager.h:889
 AliDielectronVarManager.h:890
 AliDielectronVarManager.h:891
 AliDielectronVarManager.h:892
 AliDielectronVarManager.h:893
 AliDielectronVarManager.h:894
 AliDielectronVarManager.h:895
 AliDielectronVarManager.h:896
 AliDielectronVarManager.h:897
 AliDielectronVarManager.h:898
 AliDielectronVarManager.h:899
 AliDielectronVarManager.h:900
 AliDielectronVarManager.h:901
 AliDielectronVarManager.h:902
 AliDielectronVarManager.h:903
 AliDielectronVarManager.h:904
 AliDielectronVarManager.h:905
 AliDielectronVarManager.h:906
 AliDielectronVarManager.h:907
 AliDielectronVarManager.h:908
 AliDielectronVarManager.h:909
 AliDielectronVarManager.h:910
 AliDielectronVarManager.h:911
 AliDielectronVarManager.h:912
 AliDielectronVarManager.h:913
 AliDielectronVarManager.h:914
 AliDielectronVarManager.h:915
 AliDielectronVarManager.h:916
 AliDielectronVarManager.h:917
 AliDielectronVarManager.h:918
 AliDielectronVarManager.h:919
 AliDielectronVarManager.h:920
 AliDielectronVarManager.h:921
 AliDielectronVarManager.h:922
 AliDielectronVarManager.h:923
 AliDielectronVarManager.h:924
 AliDielectronVarManager.h:925
 AliDielectronVarManager.h:926
 AliDielectronVarManager.h:927
 AliDielectronVarManager.h:928
 AliDielectronVarManager.h:929
 AliDielectronVarManager.h:930
 AliDielectronVarManager.h:931
 AliDielectronVarManager.h:932
 AliDielectronVarManager.h:933
 AliDielectronVarManager.h:934
 AliDielectronVarManager.h:935
 AliDielectronVarManager.h:936
 AliDielectronVarManager.h:937
 AliDielectronVarManager.h:938
 AliDielectronVarManager.h:939
 AliDielectronVarManager.h:940
 AliDielectronVarManager.h:941
 AliDielectronVarManager.h:942
 AliDielectronVarManager.h:943
 AliDielectronVarManager.h:944
 AliDielectronVarManager.h:945
 AliDielectronVarManager.h:946
 AliDielectronVarManager.h:947
 AliDielectronVarManager.h:948
 AliDielectronVarManager.h:949
 AliDielectronVarManager.h:950
 AliDielectronVarManager.h:951
 AliDielectronVarManager.h:952
 AliDielectronVarManager.h:953
 AliDielectronVarManager.h:954
 AliDielectronVarManager.h:955
 AliDielectronVarManager.h:956
 AliDielectronVarManager.h:957
 AliDielectronVarManager.h:958
 AliDielectronVarManager.h:959
 AliDielectronVarManager.h:960
 AliDielectronVarManager.h:961
 AliDielectronVarManager.h:962
 AliDielectronVarManager.h:963
 AliDielectronVarManager.h:964
 AliDielectronVarManager.h:965
 AliDielectronVarManager.h:966
 AliDielectronVarManager.h:967
 AliDielectronVarManager.h:968
 AliDielectronVarManager.h:969
 AliDielectronVarManager.h:970
 AliDielectronVarManager.h:971
 AliDielectronVarManager.h:972
 AliDielectronVarManager.h:973
 AliDielectronVarManager.h:974
 AliDielectronVarManager.h:975
 AliDielectronVarManager.h:976
 AliDielectronVarManager.h:977
 AliDielectronVarManager.h:978
 AliDielectronVarManager.h:979
 AliDielectronVarManager.h:980
 AliDielectronVarManager.h:981
 AliDielectronVarManager.h:982
 AliDielectronVarManager.h:983
 AliDielectronVarManager.h:984
 AliDielectronVarManager.h:985
 AliDielectronVarManager.h:986
 AliDielectronVarManager.h:987
 AliDielectronVarManager.h:988
 AliDielectronVarManager.h:989
 AliDielectronVarManager.h:990
 AliDielectronVarManager.h:991
 AliDielectronVarManager.h:992
 AliDielectronVarManager.h:993
 AliDielectronVarManager.h:994
 AliDielectronVarManager.h:995
 AliDielectronVarManager.h:996
 AliDielectronVarManager.h:997
 AliDielectronVarManager.h:998
 AliDielectronVarManager.h:999
 AliDielectronVarManager.h:1000
 AliDielectronVarManager.h:1001
 AliDielectronVarManager.h:1002
 AliDielectronVarManager.h:1003
 AliDielectronVarManager.h:1004
 AliDielectronVarManager.h:1005
 AliDielectronVarManager.h:1006
 AliDielectronVarManager.h:1007
 AliDielectronVarManager.h:1008
 AliDielectronVarManager.h:1009
 AliDielectronVarManager.h:1010
 AliDielectronVarManager.h:1011
 AliDielectronVarManager.h:1012
 AliDielectronVarManager.h:1013
 AliDielectronVarManager.h:1014
 AliDielectronVarManager.h:1015
 AliDielectronVarManager.h:1016
 AliDielectronVarManager.h:1017
 AliDielectronVarManager.h:1018
 AliDielectronVarManager.h:1019
 AliDielectronVarManager.h:1020
 AliDielectronVarManager.h:1021
 AliDielectronVarManager.h:1022
 AliDielectronVarManager.h:1023
 AliDielectronVarManager.h:1024
 AliDielectronVarManager.h:1025
 AliDielectronVarManager.h:1026
 AliDielectronVarManager.h:1027
 AliDielectronVarManager.h:1028
 AliDielectronVarManager.h:1029
 AliDielectronVarManager.h:1030
 AliDielectronVarManager.h:1031
 AliDielectronVarManager.h:1032
 AliDielectronVarManager.h:1033
 AliDielectronVarManager.h:1034
 AliDielectronVarManager.h:1035
 AliDielectronVarManager.h:1036
 AliDielectronVarManager.h:1037
 AliDielectronVarManager.h:1038
 AliDielectronVarManager.h:1039
 AliDielectronVarManager.h:1040
 AliDielectronVarManager.h:1041
 AliDielectronVarManager.h:1042
 AliDielectronVarManager.h:1043
 AliDielectronVarManager.h:1044
 AliDielectronVarManager.h:1045
 AliDielectronVarManager.h:1046
 AliDielectronVarManager.h:1047
 AliDielectronVarManager.h:1048
 AliDielectronVarManager.h:1049
 AliDielectronVarManager.h:1050
 AliDielectronVarManager.h:1051
 AliDielectronVarManager.h:1052
 AliDielectronVarManager.h:1053
 AliDielectronVarManager.h:1054
 AliDielectronVarManager.h:1055
 AliDielectronVarManager.h:1056
 AliDielectronVarManager.h:1057
 AliDielectronVarManager.h:1058
 AliDielectronVarManager.h:1059
 AliDielectronVarManager.h:1060
 AliDielectronVarManager.h:1061
 AliDielectronVarManager.h:1062
 AliDielectronVarManager.h:1063
 AliDielectronVarManager.h:1064
 AliDielectronVarManager.h:1065
 AliDielectronVarManager.h:1066
 AliDielectronVarManager.h:1067
 AliDielectronVarManager.h:1068
 AliDielectronVarManager.h:1069
 AliDielectronVarManager.h:1070
 AliDielectronVarManager.h:1071
 AliDielectronVarManager.h:1072
 AliDielectronVarManager.h:1073
 AliDielectronVarManager.h:1074
 AliDielectronVarManager.h:1075
 AliDielectronVarManager.h:1076
 AliDielectronVarManager.h:1077
 AliDielectronVarManager.h:1078
 AliDielectronVarManager.h:1079
 AliDielectronVarManager.h:1080
 AliDielectronVarManager.h:1081
 AliDielectronVarManager.h:1082
 AliDielectronVarManager.h:1083
 AliDielectronVarManager.h:1084
 AliDielectronVarManager.h:1085
 AliDielectronVarManager.h:1086
 AliDielectronVarManager.h:1087
 AliDielectronVarManager.h:1088
 AliDielectronVarManager.h:1089
 AliDielectronVarManager.h:1090
 AliDielectronVarManager.h:1091
 AliDielectronVarManager.h:1092
 AliDielectronVarManager.h:1093
 AliDielectronVarManager.h:1094
 AliDielectronVarManager.h:1095
 AliDielectronVarManager.h:1096
 AliDielectronVarManager.h:1097
 AliDielectronVarManager.h:1098
 AliDielectronVarManager.h:1099
 AliDielectronVarManager.h:1100
 AliDielectronVarManager.h:1101
 AliDielectronVarManager.h:1102
 AliDielectronVarManager.h:1103
 AliDielectronVarManager.h:1104
 AliDielectronVarManager.h:1105
 AliDielectronVarManager.h:1106
 AliDielectronVarManager.h:1107
 AliDielectronVarManager.h:1108
 AliDielectronVarManager.h:1109
 AliDielectronVarManager.h:1110
 AliDielectronVarManager.h:1111
 AliDielectronVarManager.h:1112
 AliDielectronVarManager.h:1113
 AliDielectronVarManager.h:1114
 AliDielectronVarManager.h:1115
 AliDielectronVarManager.h:1116
 AliDielectronVarManager.h:1117
 AliDielectronVarManager.h:1118
 AliDielectronVarManager.h:1119
 AliDielectronVarManager.h:1120
 AliDielectronVarManager.h:1121
 AliDielectronVarManager.h:1122
 AliDielectronVarManager.h:1123
 AliDielectronVarManager.h:1124
 AliDielectronVarManager.h:1125
 AliDielectronVarManager.h:1126
 AliDielectronVarManager.h:1127
 AliDielectronVarManager.h:1128
 AliDielectronVarManager.h:1129
 AliDielectronVarManager.h:1130
 AliDielectronVarManager.h:1131
 AliDielectronVarManager.h:1132
 AliDielectronVarManager.h:1133
 AliDielectronVarManager.h:1134
 AliDielectronVarManager.h:1135
 AliDielectronVarManager.h:1136
 AliDielectronVarManager.h:1137
 AliDielectronVarManager.h:1138
 AliDielectronVarManager.h:1139
 AliDielectronVarManager.h:1140
 AliDielectronVarManager.h:1141
 AliDielectronVarManager.h:1142
 AliDielectronVarManager.h:1143
 AliDielectronVarManager.h:1144
 AliDielectronVarManager.h:1145
 AliDielectronVarManager.h:1146
 AliDielectronVarManager.h:1147
 AliDielectronVarManager.h:1148
 AliDielectronVarManager.h:1149
 AliDielectronVarManager.h:1150
 AliDielectronVarManager.h:1151
 AliDielectronVarManager.h:1152
 AliDielectronVarManager.h:1153
 AliDielectronVarManager.h:1154
 AliDielectronVarManager.h:1155
 AliDielectronVarManager.h:1156
 AliDielectronVarManager.h:1157
 AliDielectronVarManager.h:1158
 AliDielectronVarManager.h:1159
 AliDielectronVarManager.h:1160
 AliDielectronVarManager.h:1161
 AliDielectronVarManager.h:1162
 AliDielectronVarManager.h:1163
 AliDielectronVarManager.h:1164
 AliDielectronVarManager.h:1165
 AliDielectronVarManager.h:1166
 AliDielectronVarManager.h:1167
 AliDielectronVarManager.h:1168
 AliDielectronVarManager.h:1169
 AliDielectronVarManager.h:1170
 AliDielectronVarManager.h:1171
 AliDielectronVarManager.h:1172
 AliDielectronVarManager.h:1173
 AliDielectronVarManager.h:1174
 AliDielectronVarManager.h:1175
 AliDielectronVarManager.h:1176
 AliDielectronVarManager.h:1177
 AliDielectronVarManager.h:1178
 AliDielectronVarManager.h:1179
 AliDielectronVarManager.h:1180
 AliDielectronVarManager.h:1181
 AliDielectronVarManager.h:1182
 AliDielectronVarManager.h:1183
 AliDielectronVarManager.h:1184
 AliDielectronVarManager.h:1185
 AliDielectronVarManager.h:1186
 AliDielectronVarManager.h:1187
 AliDielectronVarManager.h:1188
 AliDielectronVarManager.h:1189
 AliDielectronVarManager.h:1190
 AliDielectronVarManager.h:1191
 AliDielectronVarManager.h:1192
 AliDielectronVarManager.h:1193
 AliDielectronVarManager.h:1194
 AliDielectronVarManager.h:1195
 AliDielectronVarManager.h:1196
 AliDielectronVarManager.h:1197
 AliDielectronVarManager.h:1198
 AliDielectronVarManager.h:1199
 AliDielectronVarManager.h:1200
 AliDielectronVarManager.h:1201
 AliDielectronVarManager.h:1202
 AliDielectronVarManager.h:1203
 AliDielectronVarManager.h:1204
 AliDielectronVarManager.h:1205
 AliDielectronVarManager.h:1206
 AliDielectronVarManager.h:1207
 AliDielectronVarManager.h:1208
 AliDielectronVarManager.h:1209
 AliDielectronVarManager.h:1210
 AliDielectronVarManager.h:1211
 AliDielectronVarManager.h:1212
 AliDielectronVarManager.h:1213
 AliDielectronVarManager.h:1214
 AliDielectronVarManager.h:1215
 AliDielectronVarManager.h:1216
 AliDielectronVarManager.h:1217
 AliDielectronVarManager.h:1218
 AliDielectronVarManager.h:1219
 AliDielectronVarManager.h:1220
 AliDielectronVarManager.h:1221
 AliDielectronVarManager.h:1222
 AliDielectronVarManager.h:1223
 AliDielectronVarManager.h:1224
 AliDielectronVarManager.h:1225
 AliDielectronVarManager.h:1226
 AliDielectronVarManager.h:1227
 AliDielectronVarManager.h:1228
 AliDielectronVarManager.h:1229
 AliDielectronVarManager.h:1230
 AliDielectronVarManager.h:1231
 AliDielectronVarManager.h:1232
 AliDielectronVarManager.h:1233
 AliDielectronVarManager.h:1234
 AliDielectronVarManager.h:1235
 AliDielectronVarManager.h:1236
 AliDielectronVarManager.h:1237
 AliDielectronVarManager.h:1238
 AliDielectronVarManager.h:1239
 AliDielectronVarManager.h:1240
 AliDielectronVarManager.h:1241
 AliDielectronVarManager.h:1242
 AliDielectronVarManager.h:1243
 AliDielectronVarManager.h:1244
 AliDielectronVarManager.h:1245
 AliDielectronVarManager.h:1246
 AliDielectronVarManager.h:1247
 AliDielectronVarManager.h:1248
 AliDielectronVarManager.h:1249
 AliDielectronVarManager.h:1250
 AliDielectronVarManager.h:1251
 AliDielectronVarManager.h:1252
 AliDielectronVarManager.h:1253
 AliDielectronVarManager.h:1254
 AliDielectronVarManager.h:1255
 AliDielectronVarManager.h:1256
 AliDielectronVarManager.h:1257
 AliDielectronVarManager.h:1258
 AliDielectronVarManager.h:1259
 AliDielectronVarManager.h:1260
 AliDielectronVarManager.h:1261
 AliDielectronVarManager.h:1262
 AliDielectronVarManager.h:1263
 AliDielectronVarManager.h:1264
 AliDielectronVarManager.h:1265
 AliDielectronVarManager.h:1266
 AliDielectronVarManager.h:1267
 AliDielectronVarManager.h:1268
 AliDielectronVarManager.h:1269
 AliDielectronVarManager.h:1270
 AliDielectronVarManager.h:1271
 AliDielectronVarManager.h:1272
 AliDielectronVarManager.h:1273
 AliDielectronVarManager.h:1274
 AliDielectronVarManager.h:1275
 AliDielectronVarManager.h:1276
 AliDielectronVarManager.h:1277
 AliDielectronVarManager.h:1278
 AliDielectronVarManager.h:1279
 AliDielectronVarManager.h:1280
 AliDielectronVarManager.h:1281
 AliDielectronVarManager.h:1282
 AliDielectronVarManager.h:1283
 AliDielectronVarManager.h:1284
 AliDielectronVarManager.h:1285
 AliDielectronVarManager.h:1286
 AliDielectronVarManager.h:1287
 AliDielectronVarManager.h:1288
 AliDielectronVarManager.h:1289
 AliDielectronVarManager.h:1290
 AliDielectronVarManager.h:1291
 AliDielectronVarManager.h:1292
 AliDielectronVarManager.h:1293
 AliDielectronVarManager.h:1294
 AliDielectronVarManager.h:1295
 AliDielectronVarManager.h:1296
 AliDielectronVarManager.h:1297
 AliDielectronVarManager.h:1298
 AliDielectronVarManager.h:1299
 AliDielectronVarManager.h:1300
 AliDielectronVarManager.h:1301
 AliDielectronVarManager.h:1302
 AliDielectronVarManager.h:1303
 AliDielectronVarManager.h:1304
 AliDielectronVarManager.h:1305
 AliDielectronVarManager.h:1306
 AliDielectronVarManager.h:1307
 AliDielectronVarManager.h:1308
 AliDielectronVarManager.h:1309
 AliDielectronVarManager.h:1310
 AliDielectronVarManager.h:1311
 AliDielectronVarManager.h:1312
 AliDielectronVarManager.h:1313
 AliDielectronVarManager.h:1314
 AliDielectronVarManager.h:1315
 AliDielectronVarManager.h:1316
 AliDielectronVarManager.h:1317
 AliDielectronVarManager.h:1318
 AliDielectronVarManager.h:1319
 AliDielectronVarManager.h:1320
 AliDielectronVarManager.h:1321
 AliDielectronVarManager.h:1322
 AliDielectronVarManager.h:1323
 AliDielectronVarManager.h:1324
 AliDielectronVarManager.h:1325
 AliDielectronVarManager.h:1326
 AliDielectronVarManager.h:1327
 AliDielectronVarManager.h:1328
 AliDielectronVarManager.h:1329
 AliDielectronVarManager.h:1330
 AliDielectronVarManager.h:1331
 AliDielectronVarManager.h:1332
 AliDielectronVarManager.h:1333
 AliDielectronVarManager.h:1334
 AliDielectronVarManager.h:1335
 AliDielectronVarManager.h:1336
 AliDielectronVarManager.h:1337
 AliDielectronVarManager.h:1338
 AliDielectronVarManager.h:1339
 AliDielectronVarManager.h:1340
 AliDielectronVarManager.h:1341
 AliDielectronVarManager.h:1342
 AliDielectronVarManager.h:1343
 AliDielectronVarManager.h:1344
 AliDielectronVarManager.h:1345
 AliDielectronVarManager.h:1346
 AliDielectronVarManager.h:1347
 AliDielectronVarManager.h:1348
 AliDielectronVarManager.h:1349
 AliDielectronVarManager.h:1350
 AliDielectronVarManager.h:1351
 AliDielectronVarManager.h:1352
 AliDielectronVarManager.h:1353
 AliDielectronVarManager.h:1354
 AliDielectronVarManager.h:1355
 AliDielectronVarManager.h:1356
 AliDielectronVarManager.h:1357
 AliDielectronVarManager.h:1358
 AliDielectronVarManager.h:1359
 AliDielectronVarManager.h:1360
 AliDielectronVarManager.h:1361
 AliDielectronVarManager.h:1362
 AliDielectronVarManager.h:1363
 AliDielectronVarManager.h:1364
 AliDielectronVarManager.h:1365
 AliDielectronVarManager.h:1366
 AliDielectronVarManager.h:1367
 AliDielectronVarManager.h:1368
 AliDielectronVarManager.h:1369
 AliDielectronVarManager.h:1370
 AliDielectronVarManager.h:1371
 AliDielectronVarManager.h:1372
 AliDielectronVarManager.h:1373
 AliDielectronVarManager.h:1374
 AliDielectronVarManager.h:1375
 AliDielectronVarManager.h:1376
 AliDielectronVarManager.h:1377
 AliDielectronVarManager.h:1378
 AliDielectronVarManager.h:1379
 AliDielectronVarManager.h:1380
 AliDielectronVarManager.h:1381
 AliDielectronVarManager.h:1382
 AliDielectronVarManager.h:1383
 AliDielectronVarManager.h:1384
 AliDielectronVarManager.h:1385
 AliDielectronVarManager.h:1386
 AliDielectronVarManager.h:1387
 AliDielectronVarManager.h:1388
 AliDielectronVarManager.h:1389
 AliDielectronVarManager.h:1390
 AliDielectronVarManager.h:1391
 AliDielectronVarManager.h:1392
 AliDielectronVarManager.h:1393
 AliDielectronVarManager.h:1394
 AliDielectronVarManager.h:1395
 AliDielectronVarManager.h:1396
 AliDielectronVarManager.h:1397
 AliDielectronVarManager.h:1398
 AliDielectronVarManager.h:1399
 AliDielectronVarManager.h:1400
 AliDielectronVarManager.h:1401
 AliDielectronVarManager.h:1402
 AliDielectronVarManager.h:1403
 AliDielectronVarManager.h:1404
 AliDielectronVarManager.h:1405
 AliDielectronVarManager.h:1406
 AliDielectronVarManager.h:1407
 AliDielectronVarManager.h:1408
 AliDielectronVarManager.h:1409
 AliDielectronVarManager.h:1410
 AliDielectronVarManager.h:1411
 AliDielectronVarManager.h:1412
 AliDielectronVarManager.h:1413
 AliDielectronVarManager.h:1414
 AliDielectronVarManager.h:1415
 AliDielectronVarManager.h:1416
 AliDielectronVarManager.h:1417
 AliDielectronVarManager.h:1418
 AliDielectronVarManager.h:1419
 AliDielectronVarManager.h:1420
 AliDielectronVarManager.h:1421
 AliDielectronVarManager.h:1422
 AliDielectronVarManager.h:1423
 AliDielectronVarManager.h:1424
 AliDielectronVarManager.h:1425
 AliDielectronVarManager.h:1426
 AliDielectronVarManager.h:1427
 AliDielectronVarManager.h:1428
 AliDielectronVarManager.h:1429
 AliDielectronVarManager.h:1430
 AliDielectronVarManager.h:1431
 AliDielectronVarManager.h:1432
 AliDielectronVarManager.h:1433
 AliDielectronVarManager.h:1434
 AliDielectronVarManager.h:1435
 AliDielectronVarManager.h:1436
 AliDielectronVarManager.h:1437
 AliDielectronVarManager.h:1438
 AliDielectronVarManager.h:1439
 AliDielectronVarManager.h:1440
 AliDielectronVarManager.h:1441
 AliDielectronVarManager.h:1442
 AliDielectronVarManager.h:1443
 AliDielectronVarManager.h:1444
 AliDielectronVarManager.h:1445
 AliDielectronVarManager.h:1446
 AliDielectronVarManager.h:1447
 AliDielectronVarManager.h:1448
 AliDielectronVarManager.h:1449
 AliDielectronVarManager.h:1450
 AliDielectronVarManager.h:1451
 AliDielectronVarManager.h:1452
 AliDielectronVarManager.h:1453
 AliDielectronVarManager.h:1454
 AliDielectronVarManager.h:1455
 AliDielectronVarManager.h:1456
 AliDielectronVarManager.h:1457
 AliDielectronVarManager.h:1458
 AliDielectronVarManager.h:1459
 AliDielectronVarManager.h:1460
 AliDielectronVarManager.h:1461
 AliDielectronVarManager.h:1462
 AliDielectronVarManager.h:1463
 AliDielectronVarManager.h:1464
 AliDielectronVarManager.h:1465
 AliDielectronVarManager.h:1466
 AliDielectronVarManager.h:1467
 AliDielectronVarManager.h:1468
 AliDielectronVarManager.h:1469
 AliDielectronVarManager.h:1470
 AliDielectronVarManager.h:1471
 AliDielectronVarManager.h:1472
 AliDielectronVarManager.h:1473
 AliDielectronVarManager.h:1474
 AliDielectronVarManager.h:1475
 AliDielectronVarManager.h:1476
 AliDielectronVarManager.h:1477
 AliDielectronVarManager.h:1478
 AliDielectronVarManager.h:1479
 AliDielectronVarManager.h:1480
 AliDielectronVarManager.h:1481
 AliDielectronVarManager.h:1482
 AliDielectronVarManager.h:1483
 AliDielectronVarManager.h:1484
 AliDielectronVarManager.h:1485
 AliDielectronVarManager.h:1486
 AliDielectronVarManager.h:1487
 AliDielectronVarManager.h:1488
 AliDielectronVarManager.h:1489
 AliDielectronVarManager.h:1490
 AliDielectronVarManager.h:1491
 AliDielectronVarManager.h:1492
 AliDielectronVarManager.h:1493
 AliDielectronVarManager.h:1494
 AliDielectronVarManager.h:1495
 AliDielectronVarManager.h:1496
 AliDielectronVarManager.h:1497
 AliDielectronVarManager.h:1498
 AliDielectronVarManager.h:1499
 AliDielectronVarManager.h:1500
 AliDielectronVarManager.h:1501
 AliDielectronVarManager.h:1502
 AliDielectronVarManager.h:1503
 AliDielectronVarManager.h:1504
 AliDielectronVarManager.h:1505
 AliDielectronVarManager.h:1506
 AliDielectronVarManager.h:1507
 AliDielectronVarManager.h:1508
 AliDielectronVarManager.h:1509
 AliDielectronVarManager.h:1510
 AliDielectronVarManager.h:1511
 AliDielectronVarManager.h:1512
 AliDielectronVarManager.h:1513
 AliDielectronVarManager.h:1514
 AliDielectronVarManager.h:1515
 AliDielectronVarManager.h:1516
 AliDielectronVarManager.h:1517
 AliDielectronVarManager.h:1518
 AliDielectronVarManager.h:1519
 AliDielectronVarManager.h:1520
 AliDielectronVarManager.h:1521
 AliDielectronVarManager.h:1522
 AliDielectronVarManager.h:1523
 AliDielectronVarManager.h:1524
 AliDielectronVarManager.h:1525
 AliDielectronVarManager.h:1526
 AliDielectronVarManager.h:1527
 AliDielectronVarManager.h:1528
 AliDielectronVarManager.h:1529
 AliDielectronVarManager.h:1530
 AliDielectronVarManager.h:1531
 AliDielectronVarManager.h:1532
 AliDielectronVarManager.h:1533
 AliDielectronVarManager.h:1534
 AliDielectronVarManager.h:1535
 AliDielectronVarManager.h:1536
 AliDielectronVarManager.h:1537
 AliDielectronVarManager.h:1538
 AliDielectronVarManager.h:1539
 AliDielectronVarManager.h:1540
 AliDielectronVarManager.h:1541
 AliDielectronVarManager.h:1542
 AliDielectronVarManager.h:1543
 AliDielectronVarManager.h:1544
 AliDielectronVarManager.h:1545
 AliDielectronVarManager.h:1546
 AliDielectronVarManager.h:1547
 AliDielectronVarManager.h:1548
 AliDielectronVarManager.h:1549
 AliDielectronVarManager.h:1550
 AliDielectronVarManager.h:1551
 AliDielectronVarManager.h:1552
 AliDielectronVarManager.h:1553
 AliDielectronVarManager.h:1554
 AliDielectronVarManager.h:1555
 AliDielectronVarManager.h:1556
 AliDielectronVarManager.h:1557
 AliDielectronVarManager.h:1558
 AliDielectronVarManager.h:1559
 AliDielectronVarManager.h:1560
 AliDielectronVarManager.h:1561
 AliDielectronVarManager.h:1562
 AliDielectronVarManager.h:1563
 AliDielectronVarManager.h:1564
 AliDielectronVarManager.h:1565
 AliDielectronVarManager.h:1566
 AliDielectronVarManager.h:1567
 AliDielectronVarManager.h:1568
 AliDielectronVarManager.h:1569
 AliDielectronVarManager.h:1570
 AliDielectronVarManager.h:1571
 AliDielectronVarManager.h:1572
 AliDielectronVarManager.h:1573
 AliDielectronVarManager.h:1574
 AliDielectronVarManager.h:1575
 AliDielectronVarManager.h:1576
 AliDielectronVarManager.h:1577
 AliDielectronVarManager.h:1578
 AliDielectronVarManager.h:1579
 AliDielectronVarManager.h:1580
 AliDielectronVarManager.h:1581
 AliDielectronVarManager.h:1582
 AliDielectronVarManager.h:1583
 AliDielectronVarManager.h:1584
 AliDielectronVarManager.h:1585
 AliDielectronVarManager.h:1586
 AliDielectronVarManager.h:1587
 AliDielectronVarManager.h:1588
 AliDielectronVarManager.h:1589
 AliDielectronVarManager.h:1590
 AliDielectronVarManager.h:1591
 AliDielectronVarManager.h:1592
 AliDielectronVarManager.h:1593
 AliDielectronVarManager.h:1594
 AliDielectronVarManager.h:1595
 AliDielectronVarManager.h:1596
 AliDielectronVarManager.h:1597
 AliDielectronVarManager.h:1598
 AliDielectronVarManager.h:1599
 AliDielectronVarManager.h:1600
 AliDielectronVarManager.h:1601
 AliDielectronVarManager.h:1602
 AliDielectronVarManager.h:1603
 AliDielectronVarManager.h:1604
 AliDielectronVarManager.h:1605
 AliDielectronVarManager.h:1606
 AliDielectronVarManager.h:1607
 AliDielectronVarManager.h:1608
 AliDielectronVarManager.h:1609
 AliDielectronVarManager.h:1610
 AliDielectronVarManager.h:1611
 AliDielectronVarManager.h:1612
 AliDielectronVarManager.h:1613
 AliDielectronVarManager.h:1614
 AliDielectronVarManager.h:1615
 AliDielectronVarManager.h:1616
 AliDielectronVarManager.h:1617
 AliDielectronVarManager.h:1618
 AliDielectronVarManager.h:1619
 AliDielectronVarManager.h:1620
 AliDielectronVarManager.h:1621
 AliDielectronVarManager.h:1622
 AliDielectronVarManager.h:1623
 AliDielectronVarManager.h:1624
 AliDielectronVarManager.h:1625
 AliDielectronVarManager.h:1626
 AliDielectronVarManager.h:1627
 AliDielectronVarManager.h:1628
 AliDielectronVarManager.h:1629
 AliDielectronVarManager.h:1630
 AliDielectronVarManager.h:1631
 AliDielectronVarManager.h:1632
 AliDielectronVarManager.h:1633
 AliDielectronVarManager.h:1634
 AliDielectronVarManager.h:1635
 AliDielectronVarManager.h:1636
 AliDielectronVarManager.h:1637
 AliDielectronVarManager.h:1638
 AliDielectronVarManager.h:1639
 AliDielectronVarManager.h:1640
 AliDielectronVarManager.h:1641
 AliDielectronVarManager.h:1642
 AliDielectronVarManager.h:1643
 AliDielectronVarManager.h:1644
 AliDielectronVarManager.h:1645
 AliDielectronVarManager.h:1646
 AliDielectronVarManager.h:1647
 AliDielectronVarManager.h:1648
 AliDielectronVarManager.h:1649
 AliDielectronVarManager.h:1650
 AliDielectronVarManager.h:1651
 AliDielectronVarManager.h:1652
 AliDielectronVarManager.h:1653
 AliDielectronVarManager.h:1654
 AliDielectronVarManager.h:1655
 AliDielectronVarManager.h:1656
 AliDielectronVarManager.h:1657
 AliDielectronVarManager.h:1658
 AliDielectronVarManager.h:1659
 AliDielectronVarManager.h:1660
 AliDielectronVarManager.h:1661
 AliDielectronVarManager.h:1662
 AliDielectronVarManager.h:1663
 AliDielectronVarManager.h:1664
 AliDielectronVarManager.h:1665
 AliDielectronVarManager.h:1666
 AliDielectronVarManager.h:1667
 AliDielectronVarManager.h:1668
 AliDielectronVarManager.h:1669
 AliDielectronVarManager.h:1670
 AliDielectronVarManager.h:1671
 AliDielectronVarManager.h:1672
 AliDielectronVarManager.h:1673
 AliDielectronVarManager.h:1674
 AliDielectronVarManager.h:1675
 AliDielectronVarManager.h:1676
 AliDielectronVarManager.h:1677
 AliDielectronVarManager.h:1678
 AliDielectronVarManager.h:1679
 AliDielectronVarManager.h:1680
 AliDielectronVarManager.h:1681
 AliDielectronVarManager.h:1682
 AliDielectronVarManager.h:1683
 AliDielectronVarManager.h:1684
 AliDielectronVarManager.h:1685
 AliDielectronVarManager.h:1686
 AliDielectronVarManager.h:1687
 AliDielectronVarManager.h:1688
 AliDielectronVarManager.h:1689
 AliDielectronVarManager.h:1690
 AliDielectronVarManager.h:1691
 AliDielectronVarManager.h:1692
 AliDielectronVarManager.h:1693
 AliDielectronVarManager.h:1694
 AliDielectronVarManager.h:1695
 AliDielectronVarManager.h:1696
 AliDielectronVarManager.h:1697
 AliDielectronVarManager.h:1698
 AliDielectronVarManager.h:1699
 AliDielectronVarManager.h:1700
 AliDielectronVarManager.h:1701
 AliDielectronVarManager.h:1702
 AliDielectronVarManager.h:1703
 AliDielectronVarManager.h:1704
 AliDielectronVarManager.h:1705
 AliDielectronVarManager.h:1706
 AliDielectronVarManager.h:1707
 AliDielectronVarManager.h:1708
 AliDielectronVarManager.h:1709
 AliDielectronVarManager.h:1710
 AliDielectronVarManager.h:1711
 AliDielectronVarManager.h:1712
 AliDielectronVarManager.h:1713
 AliDielectronVarManager.h:1714
 AliDielectronVarManager.h:1715
 AliDielectronVarManager.h:1716
 AliDielectronVarManager.h:1717
 AliDielectronVarManager.h:1718
 AliDielectronVarManager.h:1719
 AliDielectronVarManager.h:1720
 AliDielectronVarManager.h:1721
 AliDielectronVarManager.h:1722
 AliDielectronVarManager.h:1723
 AliDielectronVarManager.h:1724
 AliDielectronVarManager.h:1725
 AliDielectronVarManager.h:1726
 AliDielectronVarManager.h:1727
 AliDielectronVarManager.h:1728
 AliDielectronVarManager.h:1729
 AliDielectronVarManager.h:1730
 AliDielectronVarManager.h:1731
 AliDielectronVarManager.h:1732
 AliDielectronVarManager.h:1733
 AliDielectronVarManager.h:1734
 AliDielectronVarManager.h:1735
 AliDielectronVarManager.h:1736
 AliDielectronVarManager.h:1737
 AliDielectronVarManager.h:1738
 AliDielectronVarManager.h:1739
 AliDielectronVarManager.h:1740
 AliDielectronVarManager.h:1741
 AliDielectronVarManager.h:1742
 AliDielectronVarManager.h:1743
 AliDielectronVarManager.h:1744
 AliDielectronVarManager.h:1745
 AliDielectronVarManager.h:1746
 AliDielectronVarManager.h:1747
 AliDielectronVarManager.h:1748
 AliDielectronVarManager.h:1749
 AliDielectronVarManager.h:1750
 AliDielectronVarManager.h:1751
 AliDielectronVarManager.h:1752
 AliDielectronVarManager.h:1753
 AliDielectronVarManager.h:1754
 AliDielectronVarManager.h:1755
 AliDielectronVarManager.h:1756
 AliDielectronVarManager.h:1757
 AliDielectronVarManager.h:1758
 AliDielectronVarManager.h:1759
 AliDielectronVarManager.h:1760
 AliDielectronVarManager.h:1761
 AliDielectronVarManager.h:1762
 AliDielectronVarManager.h:1763
 AliDielectronVarManager.h:1764
 AliDielectronVarManager.h:1765
 AliDielectronVarManager.h:1766
 AliDielectronVarManager.h:1767
 AliDielectronVarManager.h:1768
 AliDielectronVarManager.h:1769
 AliDielectronVarManager.h:1770
 AliDielectronVarManager.h:1771
 AliDielectronVarManager.h:1772
 AliDielectronVarManager.h:1773
 AliDielectronVarManager.h:1774
 AliDielectronVarManager.h:1775
 AliDielectronVarManager.h:1776
 AliDielectronVarManager.h:1777
 AliDielectronVarManager.h:1778
 AliDielectronVarManager.h:1779
 AliDielectronVarManager.h:1780
 AliDielectronVarManager.h:1781
 AliDielectronVarManager.h:1782
 AliDielectronVarManager.h:1783
 AliDielectronVarManager.h:1784
 AliDielectronVarManager.h:1785
 AliDielectronVarManager.h:1786
 AliDielectronVarManager.h:1787
 AliDielectronVarManager.h:1788
 AliDielectronVarManager.h:1789
 AliDielectronVarManager.h:1790
 AliDielectronVarManager.h:1791
 AliDielectronVarManager.h:1792
 AliDielectronVarManager.h:1793
 AliDielectronVarManager.h:1794
 AliDielectronVarManager.h:1795
 AliDielectronVarManager.h:1796
 AliDielectronVarManager.h:1797
 AliDielectronVarManager.h:1798
 AliDielectronVarManager.h:1799
 AliDielectronVarManager.h:1800
 AliDielectronVarManager.h:1801
 AliDielectronVarManager.h:1802
 AliDielectronVarManager.h:1803
 AliDielectronVarManager.h:1804
 AliDielectronVarManager.h:1805
 AliDielectronVarManager.h:1806
 AliDielectronVarManager.h:1807
 AliDielectronVarManager.h:1808
 AliDielectronVarManager.h:1809
 AliDielectronVarManager.h:1810
 AliDielectronVarManager.h:1811
 AliDielectronVarManager.h:1812
 AliDielectronVarManager.h:1813
 AliDielectronVarManager.h:1814
 AliDielectronVarManager.h:1815
 AliDielectronVarManager.h:1816
 AliDielectronVarManager.h:1817
 AliDielectronVarManager.h:1818
 AliDielectronVarManager.h:1819
 AliDielectronVarManager.h:1820
 AliDielectronVarManager.h:1821
 AliDielectronVarManager.h:1822
 AliDielectronVarManager.h:1823
 AliDielectronVarManager.h:1824
 AliDielectronVarManager.h:1825
 AliDielectronVarManager.h:1826
 AliDielectronVarManager.h:1827
 AliDielectronVarManager.h:1828
 AliDielectronVarManager.h:1829
 AliDielectronVarManager.h:1830
 AliDielectronVarManager.h:1831
 AliDielectronVarManager.h:1832
 AliDielectronVarManager.h:1833
 AliDielectronVarManager.h:1834
 AliDielectronVarManager.h:1835
 AliDielectronVarManager.h:1836
 AliDielectronVarManager.h:1837
 AliDielectronVarManager.h:1838
 AliDielectronVarManager.h:1839
 AliDielectronVarManager.h:1840
 AliDielectronVarManager.h:1841
 AliDielectronVarManager.h:1842
 AliDielectronVarManager.h:1843
 AliDielectronVarManager.h:1844
 AliDielectronVarManager.h:1845
 AliDielectronVarManager.h:1846
 AliDielectronVarManager.h:1847
 AliDielectronVarManager.h:1848
 AliDielectronVarManager.h:1849
 AliDielectronVarManager.h:1850
 AliDielectronVarManager.h:1851
 AliDielectronVarManager.h:1852
 AliDielectronVarManager.h:1853
 AliDielectronVarManager.h:1854
 AliDielectronVarManager.h:1855
 AliDielectronVarManager.h:1856
 AliDielectronVarManager.h:1857
 AliDielectronVarManager.h:1858
 AliDielectronVarManager.h:1859
 AliDielectronVarManager.h:1860
 AliDielectronVarManager.h:1861
 AliDielectronVarManager.h:1862
 AliDielectronVarManager.h:1863
 AliDielectronVarManager.h:1864
 AliDielectronVarManager.h:1865
 AliDielectronVarManager.h:1866
 AliDielectronVarManager.h:1867
 AliDielectronVarManager.h:1868
 AliDielectronVarManager.h:1869
 AliDielectronVarManager.h:1870
 AliDielectronVarManager.h:1871
 AliDielectronVarManager.h:1872
 AliDielectronVarManager.h:1873
 AliDielectronVarManager.h:1874
 AliDielectronVarManager.h:1875
 AliDielectronVarManager.h:1876
 AliDielectronVarManager.h:1877
 AliDielectronVarManager.h:1878
 AliDielectronVarManager.h:1879
 AliDielectronVarManager.h:1880
 AliDielectronVarManager.h:1881
 AliDielectronVarManager.h:1882
 AliDielectronVarManager.h:1883
 AliDielectronVarManager.h:1884
 AliDielectronVarManager.h:1885
 AliDielectronVarManager.h:1886
 AliDielectronVarManager.h:1887
 AliDielectronVarManager.h:1888
 AliDielectronVarManager.h:1889
 AliDielectronVarManager.h:1890
 AliDielectronVarManager.h:1891
 AliDielectronVarManager.h:1892
 AliDielectronVarManager.h:1893
 AliDielectronVarManager.h:1894
 AliDielectronVarManager.h:1895
 AliDielectronVarManager.h:1896
 AliDielectronVarManager.h:1897
 AliDielectronVarManager.h:1898
 AliDielectronVarManager.h:1899
 AliDielectronVarManager.h:1900
 AliDielectronVarManager.h:1901
 AliDielectronVarManager.h:1902
 AliDielectronVarManager.h:1903
 AliDielectronVarManager.h:1904
 AliDielectronVarManager.h:1905
 AliDielectronVarManager.h:1906
 AliDielectronVarManager.h:1907
 AliDielectronVarManager.h:1908
 AliDielectronVarManager.h:1909
 AliDielectronVarManager.h:1910
 AliDielectronVarManager.h:1911
 AliDielectronVarManager.h:1912
 AliDielectronVarManager.h:1913
 AliDielectronVarManager.h:1914
 AliDielectronVarManager.h:1915
 AliDielectronVarManager.h:1916
 AliDielectronVarManager.h:1917
 AliDielectronVarManager.h:1918
 AliDielectronVarManager.h:1919
 AliDielectronVarManager.h:1920
 AliDielectronVarManager.h:1921
 AliDielectronVarManager.h:1922
 AliDielectronVarManager.h:1923
 AliDielectronVarManager.h:1924
 AliDielectronVarManager.h:1925
 AliDielectronVarManager.h:1926
 AliDielectronVarManager.h:1927
 AliDielectronVarManager.h:1928
 AliDielectronVarManager.h:1929
 AliDielectronVarManager.h:1930
 AliDielectronVarManager.h:1931
 AliDielectronVarManager.h:1932
 AliDielectronVarManager.h:1933
 AliDielectronVarManager.h:1934
 AliDielectronVarManager.h:1935
 AliDielectronVarManager.h:1936
 AliDielectronVarManager.h:1937
 AliDielectronVarManager.h:1938
 AliDielectronVarManager.h:1939
 AliDielectronVarManager.h:1940
 AliDielectronVarManager.h:1941
 AliDielectronVarManager.h:1942
 AliDielectronVarManager.h:1943
 AliDielectronVarManager.h:1944
 AliDielectronVarManager.h:1945
 AliDielectronVarManager.h:1946
 AliDielectronVarManager.h:1947
 AliDielectronVarManager.h:1948
 AliDielectronVarManager.h:1949
 AliDielectronVarManager.h:1950
 AliDielectronVarManager.h:1951
 AliDielectronVarManager.h:1952
 AliDielectronVarManager.h:1953
 AliDielectronVarManager.h:1954
 AliDielectronVarManager.h:1955
 AliDielectronVarManager.h:1956
 AliDielectronVarManager.h:1957
 AliDielectronVarManager.h:1958
 AliDielectronVarManager.h:1959
 AliDielectronVarManager.h:1960
 AliDielectronVarManager.h:1961
 AliDielectronVarManager.h:1962
 AliDielectronVarManager.h:1963
 AliDielectronVarManager.h:1964
 AliDielectronVarManager.h:1965
 AliDielectronVarManager.h:1966
 AliDielectronVarManager.h:1967
 AliDielectronVarManager.h:1968
 AliDielectronVarManager.h:1969
 AliDielectronVarManager.h:1970
 AliDielectronVarManager.h:1971
 AliDielectronVarManager.h:1972
 AliDielectronVarManager.h:1973
 AliDielectronVarManager.h:1974
 AliDielectronVarManager.h:1975
 AliDielectronVarManager.h:1976
 AliDielectronVarManager.h:1977
 AliDielectronVarManager.h:1978
 AliDielectronVarManager.h:1979
 AliDielectronVarManager.h:1980
 AliDielectronVarManager.h:1981
 AliDielectronVarManager.h:1982
 AliDielectronVarManager.h:1983
 AliDielectronVarManager.h:1984
 AliDielectronVarManager.h:1985
 AliDielectronVarManager.h:1986
 AliDielectronVarManager.h:1987
 AliDielectronVarManager.h:1988
 AliDielectronVarManager.h:1989
 AliDielectronVarManager.h:1990
 AliDielectronVarManager.h:1991
 AliDielectronVarManager.h:1992
 AliDielectronVarManager.h:1993
 AliDielectronVarManager.h:1994
 AliDielectronVarManager.h:1995
 AliDielectronVarManager.h:1996
 AliDielectronVarManager.h:1997
 AliDielectronVarManager.h:1998
 AliDielectronVarManager.h:1999
 AliDielectronVarManager.h:2000
 AliDielectronVarManager.h:2001
 AliDielectronVarManager.h:2002
 AliDielectronVarManager.h:2003
 AliDielectronVarManager.h:2004
 AliDielectronVarManager.h:2005
 AliDielectronVarManager.h:2006
 AliDielectronVarManager.h:2007
 AliDielectronVarManager.h:2008
 AliDielectronVarManager.h:2009
 AliDielectronVarManager.h:2010
 AliDielectronVarManager.h:2011
 AliDielectronVarManager.h:2012
 AliDielectronVarManager.h:2013
 AliDielectronVarManager.h:2014
 AliDielectronVarManager.h:2015
 AliDielectronVarManager.h:2016
 AliDielectronVarManager.h:2017
 AliDielectronVarManager.h:2018
 AliDielectronVarManager.h:2019
 AliDielectronVarManager.h:2020
 AliDielectronVarManager.h:2021
 AliDielectronVarManager.h:2022
 AliDielectronVarManager.h:2023
 AliDielectronVarManager.h:2024
 AliDielectronVarManager.h:2025
 AliDielectronVarManager.h:2026
 AliDielectronVarManager.h:2027
 AliDielectronVarManager.h:2028
 AliDielectronVarManager.h:2029
 AliDielectronVarManager.h:2030
 AliDielectronVarManager.h:2031
 AliDielectronVarManager.h:2032
 AliDielectronVarManager.h:2033
 AliDielectronVarManager.h:2034
 AliDielectronVarManager.h:2035
 AliDielectronVarManager.h:2036
 AliDielectronVarManager.h:2037
 AliDielectronVarManager.h:2038
 AliDielectronVarManager.h:2039
 AliDielectronVarManager.h:2040
 AliDielectronVarManager.h:2041
 AliDielectronVarManager.h:2042
 AliDielectronVarManager.h:2043
 AliDielectronVarManager.h:2044
 AliDielectronVarManager.h:2045
 AliDielectronVarManager.h:2046
 AliDielectronVarManager.h:2047
 AliDielectronVarManager.h:2048
 AliDielectronVarManager.h:2049
 AliDielectronVarManager.h:2050
 AliDielectronVarManager.h:2051
 AliDielectronVarManager.h:2052
 AliDielectronVarManager.h:2053
 AliDielectronVarManager.h:2054
 AliDielectronVarManager.h:2055
 AliDielectronVarManager.h:2056
 AliDielectronVarManager.h:2057
 AliDielectronVarManager.h:2058
 AliDielectronVarManager.h:2059
 AliDielectronVarManager.h:2060
 AliDielectronVarManager.h:2061
 AliDielectronVarManager.h:2062
 AliDielectronVarManager.h:2063
 AliDielectronVarManager.h:2064
 AliDielectronVarManager.h:2065
 AliDielectronVarManager.h:2066
 AliDielectronVarManager.h:2067
 AliDielectronVarManager.h:2068
 AliDielectronVarManager.h:2069
 AliDielectronVarManager.h:2070
 AliDielectronVarManager.h:2071
 AliDielectronVarManager.h:2072
 AliDielectronVarManager.h:2073
 AliDielectronVarManager.h:2074
 AliDielectronVarManager.h:2075
 AliDielectronVarManager.h:2076
 AliDielectronVarManager.h:2077
 AliDielectronVarManager.h:2078
 AliDielectronVarManager.h:2079
 AliDielectronVarManager.h:2080
 AliDielectronVarManager.h:2081
 AliDielectronVarManager.h:2082
 AliDielectronVarManager.h:2083
 AliDielectronVarManager.h:2084
 AliDielectronVarManager.h:2085
 AliDielectronVarManager.h:2086
 AliDielectronVarManager.h:2087
 AliDielectronVarManager.h:2088
 AliDielectronVarManager.h:2089
 AliDielectronVarManager.h:2090
 AliDielectronVarManager.h:2091
 AliDielectronVarManager.h:2092
 AliDielectronVarManager.h:2093
 AliDielectronVarManager.h:2094
 AliDielectronVarManager.h:2095
 AliDielectronVarManager.h:2096
 AliDielectronVarManager.h:2097
 AliDielectronVarManager.h:2098
 AliDielectronVarManager.h:2099
 AliDielectronVarManager.h:2100
 AliDielectronVarManager.h:2101
 AliDielectronVarManager.h:2102
 AliDielectronVarManager.h:2103
 AliDielectronVarManager.h:2104
 AliDielectronVarManager.h:2105
 AliDielectronVarManager.h:2106
 AliDielectronVarManager.h:2107
 AliDielectronVarManager.h:2108
 AliDielectronVarManager.h:2109
 AliDielectronVarManager.h:2110
 AliDielectronVarManager.h:2111
 AliDielectronVarManager.h:2112
 AliDielectronVarManager.h:2113
 AliDielectronVarManager.h:2114
 AliDielectronVarManager.h:2115
 AliDielectronVarManager.h:2116
 AliDielectronVarManager.h:2117
 AliDielectronVarManager.h:2118
 AliDielectronVarManager.h:2119
 AliDielectronVarManager.h:2120
 AliDielectronVarManager.h:2121
 AliDielectronVarManager.h:2122
 AliDielectronVarManager.h:2123
 AliDielectronVarManager.h:2124
 AliDielectronVarManager.h:2125
 AliDielectronVarManager.h:2126
 AliDielectronVarManager.h:2127
 AliDielectronVarManager.h:2128
 AliDielectronVarManager.h:2129
 AliDielectronVarManager.h:2130
 AliDielectronVarManager.h:2131
 AliDielectronVarManager.h:2132
 AliDielectronVarManager.h:2133
 AliDielectronVarManager.h:2134
 AliDielectronVarManager.h:2135
 AliDielectronVarManager.h:2136
 AliDielectronVarManager.h:2137
 AliDielectronVarManager.h:2138
 AliDielectronVarManager.h:2139
 AliDielectronVarManager.h:2140
 AliDielectronVarManager.h:2141
 AliDielectronVarManager.h:2142
 AliDielectronVarManager.h:2143
 AliDielectronVarManager.h:2144
 AliDielectronVarManager.h:2145
 AliDielectronVarManager.h:2146
 AliDielectronVarManager.h:2147
 AliDielectronVarManager.h:2148
 AliDielectronVarManager.h:2149
 AliDielectronVarManager.h:2150
 AliDielectronVarManager.h:2151
 AliDielectronVarManager.h:2152
 AliDielectronVarManager.h:2153
 AliDielectronVarManager.h:2154
 AliDielectronVarManager.h:2155
 AliDielectronVarManager.h:2156
 AliDielectronVarManager.h:2157
 AliDielectronVarManager.h:2158
 AliDielectronVarManager.h:2159
 AliDielectronVarManager.h:2160
 AliDielectronVarManager.h:2161
 AliDielectronVarManager.h:2162
 AliDielectronVarManager.h:2163
 AliDielectronVarManager.h:2164
 AliDielectronVarManager.h:2165
 AliDielectronVarManager.h:2166
 AliDielectronVarManager.h:2167
 AliDielectronVarManager.h:2168
 AliDielectronVarManager.h:2169
 AliDielectronVarManager.h:2170
 AliDielectronVarManager.h:2171
 AliDielectronVarManager.h:2172
 AliDielectronVarManager.h:2173
 AliDielectronVarManager.h:2174
 AliDielectronVarManager.h:2175
 AliDielectronVarManager.h:2176
 AliDielectronVarManager.h:2177
 AliDielectronVarManager.h:2178
 AliDielectronVarManager.h:2179
 AliDielectronVarManager.h:2180
 AliDielectronVarManager.h:2181
 AliDielectronVarManager.h:2182
 AliDielectronVarManager.h:2183
 AliDielectronVarManager.h:2184
 AliDielectronVarManager.h:2185
 AliDielectronVarManager.h:2186
 AliDielectronVarManager.h:2187
 AliDielectronVarManager.h:2188
 AliDielectronVarManager.h:2189
 AliDielectronVarManager.h:2190
 AliDielectronVarManager.h:2191
 AliDielectronVarManager.h:2192
 AliDielectronVarManager.h:2193
 AliDielectronVarManager.h:2194
 AliDielectronVarManager.h:2195
 AliDielectronVarManager.h:2196
 AliDielectronVarManager.h:2197
 AliDielectronVarManager.h:2198
 AliDielectronVarManager.h:2199
 AliDielectronVarManager.h:2200
 AliDielectronVarManager.h:2201
 AliDielectronVarManager.h:2202
 AliDielectronVarManager.h:2203
 AliDielectronVarManager.h:2204
 AliDielectronVarManager.h:2205
 AliDielectronVarManager.h:2206
 AliDielectronVarManager.h:2207
 AliDielectronVarManager.h:2208
 AliDielectronVarManager.h:2209
 AliDielectronVarManager.h:2210
 AliDielectronVarManager.h:2211
 AliDielectronVarManager.h:2212
 AliDielectronVarManager.h:2213
 AliDielectronVarManager.h:2214
 AliDielectronVarManager.h:2215
 AliDielectronVarManager.h:2216
 AliDielectronVarManager.h:2217
 AliDielectronVarManager.h:2218
 AliDielectronVarManager.h:2219
 AliDielectronVarManager.h:2220
 AliDielectronVarManager.h:2221
 AliDielectronVarManager.h:2222
 AliDielectronVarManager.h:2223
 AliDielectronVarManager.h:2224
 AliDielectronVarManager.h:2225
 AliDielectronVarManager.h:2226
 AliDielectronVarManager.h:2227
 AliDielectronVarManager.h:2228
 AliDielectronVarManager.h:2229
 AliDielectronVarManager.h:2230
 AliDielectronVarManager.h:2231
 AliDielectronVarManager.h:2232
 AliDielectronVarManager.h:2233
 AliDielectronVarManager.h:2234
 AliDielectronVarManager.h:2235
 AliDielectronVarManager.h:2236
 AliDielectronVarManager.h:2237
 AliDielectronVarManager.h:2238
 AliDielectronVarManager.h:2239
 AliDielectronVarManager.h:2240
 AliDielectronVarManager.h:2241
 AliDielectronVarManager.h:2242
 AliDielectronVarManager.h:2243
 AliDielectronVarManager.h:2244
 AliDielectronVarManager.h:2245
 AliDielectronVarManager.h:2246
 AliDielectronVarManager.h:2247
 AliDielectronVarManager.h:2248
 AliDielectronVarManager.h:2249
 AliDielectronVarManager.h:2250
 AliDielectronVarManager.h:2251
 AliDielectronVarManager.h:2252
 AliDielectronVarManager.h:2253
 AliDielectronVarManager.h:2254
 AliDielectronVarManager.h:2255
 AliDielectronVarManager.h:2256
 AliDielectronVarManager.h:2257
 AliDielectronVarManager.h:2258
 AliDielectronVarManager.h:2259
 AliDielectronVarManager.h:2260
 AliDielectronVarManager.h:2261
 AliDielectronVarManager.h:2262
 AliDielectronVarManager.h:2263
 AliDielectronVarManager.h:2264
 AliDielectronVarManager.h:2265
 AliDielectronVarManager.h:2266
 AliDielectronVarManager.h:2267
 AliDielectronVarManager.h:2268
 AliDielectronVarManager.h:2269
 AliDielectronVarManager.h:2270
 AliDielectronVarManager.h:2271
 AliDielectronVarManager.h:2272
 AliDielectronVarManager.h:2273
 AliDielectronVarManager.h:2274
 AliDielectronVarManager.h:2275
 AliDielectronVarManager.h:2276
 AliDielectronVarManager.h:2277
 AliDielectronVarManager.h:2278
 AliDielectronVarManager.h:2279
 AliDielectronVarManager.h:2280
 AliDielectronVarManager.h:2281
 AliDielectronVarManager.h:2282
 AliDielectronVarManager.h:2283
 AliDielectronVarManager.h:2284
 AliDielectronVarManager.h:2285
 AliDielectronVarManager.h:2286
 AliDielectronVarManager.h:2287
 AliDielectronVarManager.h:2288
 AliDielectronVarManager.h:2289
 AliDielectronVarManager.h:2290
 AliDielectronVarManager.h:2291
 AliDielectronVarManager.h:2292
 AliDielectronVarManager.h:2293
 AliDielectronVarManager.h:2294
 AliDielectronVarManager.h:2295
 AliDielectronVarManager.h:2296
 AliDielectronVarManager.h:2297
 AliDielectronVarManager.h:2298
 AliDielectronVarManager.h:2299
 AliDielectronVarManager.h:2300
 AliDielectronVarManager.h:2301
 AliDielectronVarManager.h:2302
 AliDielectronVarManager.h:2303
 AliDielectronVarManager.h:2304
 AliDielectronVarManager.h:2305
 AliDielectronVarManager.h:2306
 AliDielectronVarManager.h:2307
 AliDielectronVarManager.h:2308
 AliDielectronVarManager.h:2309
 AliDielectronVarManager.h:2310
 AliDielectronVarManager.h:2311
 AliDielectronVarManager.h:2312
 AliDielectronVarManager.h:2313
 AliDielectronVarManager.h:2314
 AliDielectronVarManager.h:2315
 AliDielectronVarManager.h:2316
 AliDielectronVarManager.h:2317
 AliDielectronVarManager.h:2318
 AliDielectronVarManager.h:2319
 AliDielectronVarManager.h:2320
 AliDielectronVarManager.h:2321
 AliDielectronVarManager.h:2322
 AliDielectronVarManager.h:2323
 AliDielectronVarManager.h:2324
 AliDielectronVarManager.h:2325
 AliDielectronVarManager.h:2326
 AliDielectronVarManager.h:2327
 AliDielectronVarManager.h:2328
 AliDielectronVarManager.h:2329
 AliDielectronVarManager.h:2330
 AliDielectronVarManager.h:2331
 AliDielectronVarManager.h:2332
 AliDielectronVarManager.h:2333
 AliDielectronVarManager.h:2334
 AliDielectronVarManager.h:2335
 AliDielectronVarManager.h:2336
 AliDielectronVarManager.h:2337
 AliDielectronVarManager.h:2338
 AliDielectronVarManager.h:2339
 AliDielectronVarManager.h:2340
 AliDielectronVarManager.h:2341
 AliDielectronVarManager.h:2342
 AliDielectronVarManager.h:2343
 AliDielectronVarManager.h:2344
 AliDielectronVarManager.h:2345
 AliDielectronVarManager.h:2346
 AliDielectronVarManager.h:2347
 AliDielectronVarManager.h:2348
 AliDielectronVarManager.h:2349
 AliDielectronVarManager.h:2350
 AliDielectronVarManager.h:2351
 AliDielectronVarManager.h:2352
 AliDielectronVarManager.h:2353
 AliDielectronVarManager.h:2354
 AliDielectronVarManager.h:2355
 AliDielectronVarManager.h:2356
 AliDielectronVarManager.h:2357
 AliDielectronVarManager.h:2358
 AliDielectronVarManager.h:2359
 AliDielectronVarManager.h:2360
 AliDielectronVarManager.h:2361
 AliDielectronVarManager.h:2362
 AliDielectronVarManager.h:2363
 AliDielectronVarManager.h:2364
 AliDielectronVarManager.h:2365
 AliDielectronVarManager.h:2366
 AliDielectronVarManager.h:2367
 AliDielectronVarManager.h:2368
 AliDielectronVarManager.h:2369
 AliDielectronVarManager.h:2370
 AliDielectronVarManager.h:2371
 AliDielectronVarManager.h:2372
 AliDielectronVarManager.h:2373
 AliDielectronVarManager.h:2374
 AliDielectronVarManager.h:2375
 AliDielectronVarManager.h:2376
 AliDielectronVarManager.h:2377
 AliDielectronVarManager.h:2378
 AliDielectronVarManager.h:2379
 AliDielectronVarManager.h:2380
 AliDielectronVarManager.h:2381
 AliDielectronVarManager.h:2382
 AliDielectronVarManager.h:2383
 AliDielectronVarManager.h:2384
 AliDielectronVarManager.h:2385
 AliDielectronVarManager.h:2386
 AliDielectronVarManager.h:2387
 AliDielectronVarManager.h:2388
 AliDielectronVarManager.h:2389
 AliDielectronVarManager.h:2390
 AliDielectronVarManager.h:2391
 AliDielectronVarManager.h:2392
 AliDielectronVarManager.h:2393
 AliDielectronVarManager.h:2394
 AliDielectronVarManager.h:2395
 AliDielectronVarManager.h:2396
 AliDielectronVarManager.h:2397
 AliDielectronVarManager.h:2398
 AliDielectronVarManager.h:2399
 AliDielectronVarManager.h:2400
 AliDielectronVarManager.h:2401
 AliDielectronVarManager.h:2402
 AliDielectronVarManager.h:2403
 AliDielectronVarManager.h:2404
 AliDielectronVarManager.h:2405
 AliDielectronVarManager.h:2406
 AliDielectronVarManager.h:2407
 AliDielectronVarManager.h:2408
 AliDielectronVarManager.h:2409
 AliDielectronVarManager.h:2410
 AliDielectronVarManager.h:2411
 AliDielectronVarManager.h:2412
 AliDielectronVarManager.h:2413
 AliDielectronVarManager.h:2414
 AliDielectronVarManager.h:2415
 AliDielectronVarManager.h:2416
 AliDielectronVarManager.h:2417
 AliDielectronVarManager.h:2418
 AliDielectronVarManager.h:2419
 AliDielectronVarManager.h:2420
 AliDielectronVarManager.h:2421
 AliDielectronVarManager.h:2422
 AliDielectronVarManager.h:2423
 AliDielectronVarManager.h:2424
 AliDielectronVarManager.h:2425
 AliDielectronVarManager.h:2426
 AliDielectronVarManager.h:2427
 AliDielectronVarManager.h:2428
 AliDielectronVarManager.h:2429
 AliDielectronVarManager.h:2430
 AliDielectronVarManager.h:2431
 AliDielectronVarManager.h:2432
 AliDielectronVarManager.h:2433
 AliDielectronVarManager.h:2434
 AliDielectronVarManager.h:2435
 AliDielectronVarManager.h:2436
 AliDielectronVarManager.h:2437
 AliDielectronVarManager.h:2438
 AliDielectronVarManager.h:2439
 AliDielectronVarManager.h:2440
 AliDielectronVarManager.h:2441
 AliDielectronVarManager.h:2442
 AliDielectronVarManager.h:2443
 AliDielectronVarManager.h:2444
 AliDielectronVarManager.h:2445
 AliDielectronVarManager.h:2446
 AliDielectronVarManager.h:2447
 AliDielectronVarManager.h:2448
 AliDielectronVarManager.h:2449
 AliDielectronVarManager.h:2450
 AliDielectronVarManager.h:2451
 AliDielectronVarManager.h:2452
 AliDielectronVarManager.h:2453
 AliDielectronVarManager.h:2454
 AliDielectronVarManager.h:2455
 AliDielectronVarManager.h:2456
 AliDielectronVarManager.h:2457
 AliDielectronVarManager.h:2458
 AliDielectronVarManager.h:2459
 AliDielectronVarManager.h:2460
 AliDielectronVarManager.h:2461
 AliDielectronVarManager.h:2462
 AliDielectronVarManager.h:2463
 AliDielectronVarManager.h:2464
 AliDielectronVarManager.h:2465
 AliDielectronVarManager.h:2466
 AliDielectronVarManager.h:2467
 AliDielectronVarManager.h:2468
 AliDielectronVarManager.h:2469
 AliDielectronVarManager.h:2470
 AliDielectronVarManager.h:2471
 AliDielectronVarManager.h:2472
 AliDielectronVarManager.h:2473
 AliDielectronVarManager.h:2474
 AliDielectronVarManager.h:2475
 AliDielectronVarManager.h:2476
 AliDielectronVarManager.h:2477
 AliDielectronVarManager.h:2478
 AliDielectronVarManager.h:2479
 AliDielectronVarManager.h:2480
 AliDielectronVarManager.h:2481
 AliDielectronVarManager.h:2482
 AliDielectronVarManager.h:2483
 AliDielectronVarManager.h:2484
 AliDielectronVarManager.h:2485
 AliDielectronVarManager.h:2486
 AliDielectronVarManager.h:2487
 AliDielectronVarManager.h:2488
 AliDielectronVarManager.h:2489
 AliDielectronVarManager.h:2490
 AliDielectronVarManager.h:2491
 AliDielectronVarManager.h:2492
 AliDielectronVarManager.h:2493
 AliDielectronVarManager.h:2494
 AliDielectronVarManager.h:2495
 AliDielectronVarManager.h:2496
 AliDielectronVarManager.h:2497
 AliDielectronVarManager.h:2498
 AliDielectronVarManager.h:2499
 AliDielectronVarManager.h:2500
 AliDielectronVarManager.h:2501
 AliDielectronVarManager.h:2502
 AliDielectronVarManager.h:2503
 AliDielectronVarManager.h:2504
 AliDielectronVarManager.h:2505
 AliDielectronVarManager.h:2506
 AliDielectronVarManager.h:2507
 AliDielectronVarManager.h:2508
 AliDielectronVarManager.h:2509
 AliDielectronVarManager.h:2510
 AliDielectronVarManager.h:2511
 AliDielectronVarManager.h:2512
 AliDielectronVarManager.h:2513
 AliDielectronVarManager.h:2514
 AliDielectronVarManager.h:2515
 AliDielectronVarManager.h:2516
 AliDielectronVarManager.h:2517
 AliDielectronVarManager.h:2518
 AliDielectronVarManager.h:2519
 AliDielectronVarManager.h:2520
 AliDielectronVarManager.h:2521
 AliDielectronVarManager.h:2522
 AliDielectronVarManager.h:2523
 AliDielectronVarManager.h:2524
 AliDielectronVarManager.h:2525
 AliDielectronVarManager.h:2526
 AliDielectronVarManager.h:2527
 AliDielectronVarManager.h:2528
 AliDielectronVarManager.h:2529
 AliDielectronVarManager.h:2530
 AliDielectronVarManager.h:2531
 AliDielectronVarManager.h:2532
 AliDielectronVarManager.h:2533
 AliDielectronVarManager.h:2534
 AliDielectronVarManager.h:2535
 AliDielectronVarManager.h:2536
 AliDielectronVarManager.h:2537
 AliDielectronVarManager.h:2538
 AliDielectronVarManager.h:2539
 AliDielectronVarManager.h:2540
 AliDielectronVarManager.h:2541
 AliDielectronVarManager.h:2542
 AliDielectronVarManager.h:2543
 AliDielectronVarManager.h:2544
 AliDielectronVarManager.h:2545
 AliDielectronVarManager.h:2546
 AliDielectronVarManager.h:2547
 AliDielectronVarManager.h:2548
 AliDielectronVarManager.h:2549
 AliDielectronVarManager.h:2550
 AliDielectronVarManager.h:2551
 AliDielectronVarManager.h:2552
 AliDielectronVarManager.h:2553
 AliDielectronVarManager.h:2554
 AliDielectronVarManager.h:2555
 AliDielectronVarManager.h:2556
 AliDielectronVarManager.h:2557
 AliDielectronVarManager.h:2558
 AliDielectronVarManager.h:2559
 AliDielectronVarManager.h:2560
 AliDielectronVarManager.h:2561
 AliDielectronVarManager.h:2562
 AliDielectronVarManager.h:2563
 AliDielectronVarManager.h:2564
 AliDielectronVarManager.h:2565
 AliDielectronVarManager.h:2566
 AliDielectronVarManager.h:2567
 AliDielectronVarManager.h:2568
 AliDielectronVarManager.h:2569
 AliDielectronVarManager.h:2570
 AliDielectronVarManager.h:2571
 AliDielectronVarManager.h:2572
 AliDielectronVarManager.h:2573
 AliDielectronVarManager.h:2574
 AliDielectronVarManager.h:2575
 AliDielectronVarManager.h:2576
 AliDielectronVarManager.h:2577
 AliDielectronVarManager.h:2578
 AliDielectronVarManager.h:2579
 AliDielectronVarManager.h:2580
 AliDielectronVarManager.h:2581
 AliDielectronVarManager.h:2582
 AliDielectronVarManager.h:2583
 AliDielectronVarManager.h:2584
 AliDielectronVarManager.h:2585
 AliDielectronVarManager.h:2586
 AliDielectronVarManager.h:2587
 AliDielectronVarManager.h:2588
 AliDielectronVarManager.h:2589
 AliDielectronVarManager.h:2590
 AliDielectronVarManager.h:2591
 AliDielectronVarManager.h:2592
 AliDielectronVarManager.h:2593
 AliDielectronVarManager.h:2594
 AliDielectronVarManager.h:2595
 AliDielectronVarManager.h:2596
 AliDielectronVarManager.h:2597
 AliDielectronVarManager.h:2598
 AliDielectronVarManager.h:2599
 AliDielectronVarManager.h:2600
 AliDielectronVarManager.h:2601
 AliDielectronVarManager.h:2602
 AliDielectronVarManager.h:2603
 AliDielectronVarManager.h:2604
 AliDielectronVarManager.h:2605
 AliDielectronVarManager.h:2606
 AliDielectronVarManager.h:2607
 AliDielectronVarManager.h:2608
 AliDielectronVarManager.h:2609
 AliDielectronVarManager.h:2610
 AliDielectronVarManager.h:2611
 AliDielectronVarManager.h:2612
 AliDielectronVarManager.h:2613
 AliDielectronVarManager.h:2614
 AliDielectronVarManager.h:2615
 AliDielectronVarManager.h:2616
 AliDielectronVarManager.h:2617
 AliDielectronVarManager.h:2618
 AliDielectronVarManager.h:2619
 AliDielectronVarManager.h:2620
 AliDielectronVarManager.h:2621
 AliDielectronVarManager.h:2622
 AliDielectronVarManager.h:2623
 AliDielectronVarManager.h:2624
 AliDielectronVarManager.h:2625
 AliDielectronVarManager.h:2626
 AliDielectronVarManager.h:2627
 AliDielectronVarManager.h:2628
 AliDielectronVarManager.h:2629
 AliDielectronVarManager.h:2630
 AliDielectronVarManager.h:2631
 AliDielectronVarManager.h:2632
 AliDielectronVarManager.h:2633
 AliDielectronVarManager.h:2634
 AliDielectronVarManager.h:2635
 AliDielectronVarManager.h:2636
 AliDielectronVarManager.h:2637
 AliDielectronVarManager.h:2638
 AliDielectronVarManager.h:2639
 AliDielectronVarManager.h:2640
 AliDielectronVarManager.h:2641
 AliDielectronVarManager.h:2642
 AliDielectronVarManager.h:2643
 AliDielectronVarManager.h:2644
 AliDielectronVarManager.h:2645
 AliDielectronVarManager.h:2646
 AliDielectronVarManager.h:2647
 AliDielectronVarManager.h:2648
 AliDielectronVarManager.h:2649
 AliDielectronVarManager.h:2650
 AliDielectronVarManager.h:2651
 AliDielectronVarManager.h:2652
 AliDielectronVarManager.h:2653
 AliDielectronVarManager.h:2654
 AliDielectronVarManager.h:2655
 AliDielectronVarManager.h:2656
 AliDielectronVarManager.h:2657
 AliDielectronVarManager.h:2658
 AliDielectronVarManager.h:2659
 AliDielectronVarManager.h:2660
 AliDielectronVarManager.h:2661
 AliDielectronVarManager.h:2662
 AliDielectronVarManager.h:2663
 AliDielectronVarManager.h:2664
 AliDielectronVarManager.h:2665
 AliDielectronVarManager.h:2666
 AliDielectronVarManager.h:2667
 AliDielectronVarManager.h:2668
 AliDielectronVarManager.h:2669
 AliDielectronVarManager.h:2670
 AliDielectronVarManager.h:2671
 AliDielectronVarManager.h:2672
 AliDielectronVarManager.h:2673
 AliDielectronVarManager.h:2674
 AliDielectronVarManager.h:2675
 AliDielectronVarManager.h:2676
 AliDielectronVarManager.h:2677
 AliDielectronVarManager.h:2678
 AliDielectronVarManager.h:2679
 AliDielectronVarManager.h:2680
 AliDielectronVarManager.h:2681
 AliDielectronVarManager.h:2682
 AliDielectronVarManager.h:2683
 AliDielectronVarManager.h:2684
 AliDielectronVarManager.h:2685
 AliDielectronVarManager.h:2686
 AliDielectronVarManager.h:2687
 AliDielectronVarManager.h:2688
 AliDielectronVarManager.h:2689
 AliDielectronVarManager.h:2690
 AliDielectronVarManager.h:2691
 AliDielectronVarManager.h:2692
 AliDielectronVarManager.h:2693
 AliDielectronVarManager.h:2694
 AliDielectronVarManager.h:2695
 AliDielectronVarManager.h:2696
 AliDielectronVarManager.h:2697
 AliDielectronVarManager.h:2698
 AliDielectronVarManager.h:2699
 AliDielectronVarManager.h:2700
 AliDielectronVarManager.h:2701
 AliDielectronVarManager.h:2702
 AliDielectronVarManager.h:2703
 AliDielectronVarManager.h:2704
 AliDielectronVarManager.h:2705
 AliDielectronVarManager.h:2706
 AliDielectronVarManager.h:2707
 AliDielectronVarManager.h:2708
 AliDielectronVarManager.h:2709
 AliDielectronVarManager.h:2710
 AliDielectronVarManager.h:2711
 AliDielectronVarManager.h:2712
 AliDielectronVarManager.h:2713
 AliDielectronVarManager.h:2714
 AliDielectronVarManager.h:2715
 AliDielectronVarManager.h:2716
 AliDielectronVarManager.h:2717
 AliDielectronVarManager.h:2718
 AliDielectronVarManager.h:2719
 AliDielectronVarManager.h:2720
 AliDielectronVarManager.h:2721
 AliDielectronVarManager.h:2722
 AliDielectronVarManager.h:2723
 AliDielectronVarManager.h:2724
 AliDielectronVarManager.h:2725
 AliDielectronVarManager.h:2726
 AliDielectronVarManager.h:2727
 AliDielectronVarManager.h:2728
 AliDielectronVarManager.h:2729
 AliDielectronVarManager.h:2730
 AliDielectronVarManager.h:2731
 AliDielectronVarManager.h:2732
 AliDielectronVarManager.h:2733
 AliDielectronVarManager.h:2734
 AliDielectronVarManager.h:2735
 AliDielectronVarManager.h:2736
 AliDielectronVarManager.h:2737
 AliDielectronVarManager.h:2738
 AliDielectronVarManager.h:2739
 AliDielectronVarManager.h:2740
 AliDielectronVarManager.h:2741
 AliDielectronVarManager.h:2742
 AliDielectronVarManager.h:2743
 AliDielectronVarManager.h:2744
 AliDielectronVarManager.h:2745
 AliDielectronVarManager.h:2746
 AliDielectronVarManager.h:2747
 AliDielectronVarManager.h:2748
 AliDielectronVarManager.h:2749
 AliDielectronVarManager.h:2750
 AliDielectronVarManager.h:2751
 AliDielectronVarManager.h:2752
 AliDielectronVarManager.h:2753
 AliDielectronVarManager.h:2754
 AliDielectronVarManager.h:2755
 AliDielectronVarManager.h:2756
 AliDielectronVarManager.h:2757
 AliDielectronVarManager.h:2758
 AliDielectronVarManager.h:2759
 AliDielectronVarManager.h:2760
 AliDielectronVarManager.h:2761
 AliDielectronVarManager.h:2762
 AliDielectronVarManager.h:2763
 AliDielectronVarManager.h:2764
 AliDielectronVarManager.h:2765
 AliDielectronVarManager.h:2766
 AliDielectronVarManager.h:2767
 AliDielectronVarManager.h:2768
 AliDielectronVarManager.h:2769
 AliDielectronVarManager.h:2770
 AliDielectronVarManager.h:2771
 AliDielectronVarManager.h:2772
 AliDielectronVarManager.h:2773
 AliDielectronVarManager.h:2774
 AliDielectronVarManager.h:2775
 AliDielectronVarManager.h:2776
 AliDielectronVarManager.h:2777
 AliDielectronVarManager.h:2778
 AliDielectronVarManager.h:2779
 AliDielectronVarManager.h:2780
 AliDielectronVarManager.h:2781
 AliDielectronVarManager.h:2782
 AliDielectronVarManager.h:2783
 AliDielectronVarManager.h:2784
 AliDielectronVarManager.h:2785
 AliDielectronVarManager.h:2786
 AliDielectronVarManager.h:2787
 AliDielectronVarManager.h:2788
 AliDielectronVarManager.h:2789
 AliDielectronVarManager.h:2790
 AliDielectronVarManager.h:2791
 AliDielectronVarManager.h:2792
 AliDielectronVarManager.h:2793
 AliDielectronVarManager.h:2794
 AliDielectronVarManager.h:2795
 AliDielectronVarManager.h:2796
 AliDielectronVarManager.h:2797
 AliDielectronVarManager.h:2798
 AliDielectronVarManager.h:2799
 AliDielectronVarManager.h:2800