ROOT logo
class LMEECutLibRemi {

  public:
	static  enum LMMECutSet {
   		kPbPb2011NoPID,
   		kPbPb2011TPCandTOF,
   		kPbPb2011TPCandTOFHPT,
		kPbPb2011TPC, //TOF required, more relaxed cut on TPC
		kPbPb2011TPCandTOFwide, //TOF required, more relaxed cut on TPC
		kPbPb2011TPCorTOF,
		kpp2010TPCandTOF,
		kpp2010TPCorTOF,
		kPbPb2011pidITSTPCTOF,
		kCUTSETMAX
	};

	static  enum LMMECentSel {
	        kPbPb2011Central,
		kPbPb2011SemiCentral1,
		kPbPb2011SemiCentral2,
		kPbPb2011Peripheral,
		kCENTSELMAX
	};

        static  enum LMEEPairCutSet{
	  kPbPb2011RP,
	  kPbPb2011Mag,
	  kPbPb2011MassLow,
	  kPbPb2011MassMiddle,
	  kPbPb2011MassHigh,
	  kPbPb2011MassAll,
		
	  kPAIRCUTSETMAX
	};


	//char* LMEECutNames[kCUTSETMAX] = { "PbPb2011TPCandTOF","PbPb2011TPCorTOF"};


	LMEECutLib() {}

	AliDielectronEventCuts*     GetEventCuts(Int_t cutSet);
	AliAnalysisCuts*            GetCentralityCuts(Int_t centSel);
	AliDielectronTrackRotator*  GetTrackRotator(Int_t cutSet);
	AliDielectronMixingHandler* GetMixingHandler(Int_t cutSet);

	AliAnalysisCuts* GetPIDCutsAna(Int_t cutSet);  
	AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet);  

	AliAnalysisCuts* GetPairCuts2(Int_t cutSet,Bool_t tooglePC=kFALSE);
	AliAnalysisCuts* GetPairCuts(Int_t cutSet);  
        AliAnalysisCuts* GetPairCutsInvMass(Int_t cutSet);
        AliAnalysisCuts* GetPairCutsInOut(Int_t cutSet);

	AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet);  
	AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet);  




	AliDielectronEventCuts* GetEventCuts(Int_t cutSet) {
	  AliDielectronEventCuts* eventCuts = 0x0;
	  switch (cutSet) {
		case kPbPb2011NoPID:
		case kPbPb2011TPCandTOF :
   		case kPbPb2011TPCandTOFHPT:
		case kPbPb2011TPC :
		case kPbPb2011TPCandTOFwide :
		case kPbPb2011TPCorTOF  :
		case kpp2010TPCandTOF :
		case kpp2010TPCorTOF  :
	        case kPbPb2011pidITSTPCTOF:

		  //Basic Event Cuts for pp and Pb-Pb, additional cuts may be in the AddTask
		  eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
		  eventCuts->SetVertexType(AliDielectronEventCuts::kVtxSPD); // AOD
		  //					  eventCuts->SetVertexType(AliDielectronEventCuts::kVtxTPC); // AOD
		  //				  eventCuts->SetCentralityRange(0.0,80.0);
		  //			     eventCuts->SetVertexType(AliDielectronEventCuts::kVtxAny); // AOD
		  
		  eventCuts->SetRequireVertex();
		  eventCuts->SetMinVtxContributors(1);
		  eventCuts->SetVertexZ(-10.,10.);
		  break;
		default: cout << "No Event Cut defined" << endl;
	  }
	  return eventCuts;
	}


	//Selection of relatively 'flat' centralities
  AliAnalysisCuts* GetCentralityCuts(Int_t centSel) {
    AliDielectronVarCuts* centCuts = 0x0;
    switch (centSel) {
    case kPbPb2011Central:
      centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011Central");
      centCuts->AddCut(AliDielectronVarManager::kCentrality,0.,10.);
      break;
    case kPbPb2011SemiCentral1:
      centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011SemiCentral1");
      //Restrict to 50%, Trigger selction
      centCuts->AddCut(AliDielectronVarManager::kCentrality,10.,30.);
      break;
    case kPbPb2011SemiCentral2:
      centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011SemiCentral2");
      //Restrict to 50%, Trigger selction
      centCuts->AddCut(AliDielectronVarManager::kCentrality,30.,50.);//
      break;

    case kPbPb2011Peripheral:
      centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011Peripheral");
      centCuts->AddCut(AliDielectronVarManager::kCentrality,50.,90.);
      break;

    default: cout << "No Centrality selected" << endl;


    }
    return centCuts;
  }




	//Basic track rotator settings from J/Psi, more investigation needed
	AliDielectronTrackRotator* GetTrackRotator(Int_t cutSet) {
	  AliDielectronTrackRotator* trackRotator = 0x0;
	  switch (cutSet) {
		case kPbPb2011NoPID:
		case kPbPb2011TPCandTOF :
   		case kPbPb2011TPCandTOFHPT:
		case kPbPb2011TPC :
		case kPbPb2011TPCandTOFwide :
		case kPbPb2011TPCorTOF  :
		case kpp2010TPCandTOF :
		case kpp2010TPCorTOF  :
	        case kPbPb2011pidITSTPCTOF :

		  trackRotator = new AliDielectronTrackRotator();
		  trackRotator->SetIterations(20);
		  trackRotator->SetConeAnglePhi(TMath::Pi()/180*165);
		  trackRotator->SetStartAnglePhi(TMath::Pi());
		  break;
		default: cout << "No Rotator defined" << endl;
	  }
	  return trackRotator;
	}


	AliDielectronMixingHandler* GetMixingHandler(Int_t cutSet) {
	  AliDielectronMixingHandler* mixingHandler = 0x0;
	  switch (cutSet) {
		case kPbPb2011TPCorTOF  :
		case kPbPb2011NoPID:
		case kPbPb2011TPCandTOF :
   		case kPbPb2011TPCandTOFHPT:
		case kPbPb2011TPC :
		case kPbPb2011TPCandTOFwide :
	        case kPbPb2011pidITSTPCTOF :

		  mixingHandler = new AliDielectronMixingHandler;
		  mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
		  mixingHandler->AddVariable(AliDielectronVarManager::kCentrality,"0,5,10,20,40,80");
		  mixingHandler->AddVariable(AliDielectronVarManager::kv0ACrpH2,"-6*(TMath::Pi()/6),-5*(TMath::Pi()/6),-4*(TMath::Pi()/6),-3*(TMath::Pi()/6),-2*(TMath::Pi()/6),-1*(TMath::Pi()/6),0,1*(TMath::Pi()/6),2*(TMath::Pi()/6),3*(TMath::Pi()/6),4*(TMath::Pi()/6),5*(TMath::Pi()/6),6*(TMath::Pi()/6)");
		  
		  mixingHandler->SetDepth(20);
		  // mixingHandler->SetDepth(15);
		  mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
		  break;
		case kpp2010TPCandTOF :
		case kpp2010TPCorTOF  :
		  //ATTENTION: Trivial 1 Bin Variable on Nacc needed: Not understood bug, mixing breaks
		  //when just adding one variable *****************!!! 
		  mixingHandler = new AliDielectronMixingHandler;
		  mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
		  mixingHandler->AddVariable(AliDielectronVarManager::kNacc,"0,10000");
		  //might want to add multiplicity?
		  mixingHandler->SetDepth(50);
		  mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
		  break;
		default: cout << "No Rotator defined" << endl;
	  }
	  return mixingHandler;
	}

  /*
  //Pair Cuts for PREFILTER step
  // cuts = REJECTION!!!
  AliAnalysisCuts* GetPairCutsPre(Int_t cutSet) {
    cout << " >>>>>>>>>>>>>>>>>>>>>> GetPairCutsPre() >>>>>>>>>>>>>>>>>>>>>> " << endl;
    AliAnalysisCuts* pairCuts=0x0;
    switch (cutSet) {
    case kPbPb2011_pidITSTPC_trkSPDfirst_3:
    case kPbPb2011_pidTPC_trkSPDfirst_3:
    case kPbPb2011_pidITS2gevTPCTOFif_trkSPD5orSDD4cls_6_tight:
    case kPbPb2011_pidITS2gevTPCTOFif_trkSPDfirst5cls_6_tight:
    case kPbPb2011_pidITS2gevTPCTOFif_trkSPDorSDD_5_tight:
    case kPbPb2011_pidITS2gevTPCTOFif_trkSPDfirst_5_tight:
    case kPbPb2011_pidITSTPCTOFif_trkSPD5orSDD4cls_4:
    case kPbPb2011_pidITSTPCTOFif_trkSPDfirst5cls_4:
    case kPbPb2011_pidITSTPCTOFif_trkSPDorSDD_1:
    case kPbPb2011pidITSTPCTOF:
    case kPbPb2011_pidTPCTOF_trkSPDorSDD_1:
    case kPbPb2011_pidTPCTOF_trkSPDfirst_1:
    case kPbPb2011_TPCITS_TOFif1:
    case kPbPb2011_TPCTOF_Semi2:
      AliDielectronVarCuts* pairCutsInvM =new AliDielectronVarCuts("pairCutsInvM","pairCutsInvM");
      pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.02); // in upgrade: 0.01
      AliDielectronVarCuts* pairCutsOpAng =new AliDielectronVarCuts("pairCutsOpAng","pairCutsOpAng");
      pairCutsOpAng->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0, 0.05); // in upgrade: 0.05

      AliDielectronCutGroup* pairCutsCG =new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompAND);
      pairCutsCG->AddCut(pairCutsInvM);
      pairCutsCG->AddCut(pairCutsOpAng);
      //pairCutsCG->AddCut(pairCutsPhiv);
      pairCuts = pairCutsCG;
      break;

    case kPbPb2011_TPCTOF_Semi1:
      //[...] // PhiV and InvMass
    default: cout << "No Prefilter Pair Cuts defined " << endl;
    }
    return pairCuts;
  }
  */



	AliAnalysisCuts* GetPIDCutsAna(Int_t cutSet) {
	  AliAnalysisCuts* anaCuts=0x0;

	  //-----------------------------------------------
	  //Define different PID Cuts, that are used later
	  //-----------------------------------------------
	  
      //TPC: UPPER HALF inclusion of electron
	  //     3sigma exclusion of Pions
	  //TOF: 3sigma inclusion of electrons
	  AliDielectronPID *pidTPCTOFeOnly = new AliDielectronPID("TPC-TOF","TPC-TOF");
	  pidTPCTOFeOnly->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-0.,3.,0.0,100.,kFALSE);
	  pidTPCTOFeOnly->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,100.,kTRUE);
	  pidTPCTOFeOnly->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 1.5, kFALSE );

      //TPC: 3sigma inclusion of electron
	  //     3sigma exclusion of Pions
	  //TOF: 3sigma inclusion of electrons in region where p,K cross electrons in TPC
	  AliDielectronPID *pidTPCandTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
	  pidTPCandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.,0.0,100.,kFALSE);
	  pidTPCandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,100.,kTRUE);
	  pidTPCandTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 1.5, kFALSE );

	  //Apply ITS cuts (see Hongyan's talks):
	  //3 sigma inclusion of electrons in TPC
	  //3 sigma exclusion of pions in TPC
	  //3 sigma inclusion of electrons in ITS,TOF for p<1.5GeV, where p,K contamination
	  AliDielectronPID *pidTPCandITSandTOF = new AliDielectronPID("TPC-TOFANDITS","TPC-TOFANDITS");
	  pidTPCandITSandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.,0.0,100.,kFALSE);
	  pidTPCandITSandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,100.,kTRUE);
	  pidTPCandITSandTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 1.5, kFALSE);
	  pidTPCandITSandTOF->AddCut(AliDielectronPID::kITS ,AliPID::kElectron , -6. , 3. , 0.0 , 1.5, kFALSE );

	  //Apply ITS cuts (see Hongyan's talks):
	  //3 sigma inclusion of electrons in TPC
	  //3 sigma exclusion of pions in TPC
	  //3 sigma inclusion of electrons in ITS,TOF for p<1.5GeV, where p,K contamination
	  //TOF only IF available!
	  AliDielectronPID *pidTPCandITSTOF = new AliDielectronPID("TPC-TOF-ITS","TPC-TOF-ITS");
	  pidTPCandITSTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.,0.0,100.,kFALSE);
	  pidTPCandITSTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,100.,kTRUE);
	  pidTPCandITSTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 1.5, kFALSE,AliDielectronPID::kIfAvailable );
	  pidTPCandITSTOF->AddCut(AliDielectronPID::kITS ,AliPID::kElectron , -6. , 3. , 0.0 , 1.5, kFALSE );

	  //___________________________________________
	  //Direct cuts on TPC signal used for QM12
	  AliDielectronVarCuts *pidTPCsignal = new AliDielectronVarCuts("pidTPCsignal","cut on the TPC signal");
	  if (MCenabled) {
	  pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,65.,85.); 
	  }	
	  else {
	  pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,75.,90.); 
	  }
	  //___________________________________________

	  //low pT cut-off 0.4 - Pb-Pb
	  AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("P>.4","P>.4");
	  pTPC->AddCut(AliDielectronVarManager::kPt,.4,3.5);
	  
	  //low pT cut-off 0.4 - pp
	  AliDielectronVarCuts *pMin = new AliDielectronVarCuts("P>.2","P>.2");
	  pMin->AddCut(AliDielectronVarManager::kPt,.2,2.5);

	  //
	  //
	  //TPC: electron inclusion asymmetric
          //     pion     exclusion 3sigma
          //ITS: electron inclusion asymmetric OVER FULL MOMENTUM RANGE
          //TOF: electron inclusion 3sigma - BUT ONLY IF AVAILABLE
          AliDielectronPID *pidTPCITS_TOFif2 = new AliDielectronPID("pidTPCITS_TOFif2","pidTPCITS_TOFif2");
          pidTPCITS_TOFif2->AddCut(AliDielectronPID::kTPC,AliPID::kElectron, -1.5, 3. , 0. ,100., kFALSE);
          pidTPCITS_TOFif2->AddCut(AliDielectronPID::kTPC,AliPID::kPion,     -3. , 3. , 0. ,100., kTRUE);
          pidTPCITS_TOFif2->AddCut(AliDielectronPID::kITS,AliPID::kElectron, -4. , 1. , 0. ,100., kFALSE);
          pidTPCITS_TOFif2->AddCut(AliDielectronPID::kTOF,AliPID::kElectron, -3. , 3. , 0. ,100., kFALSE, AliDielectronPID::kIfAvailable);

	  // eta range:
	  AliDielectronVarCuts *etaRange090 = new AliDielectronVarCuts("etaRange090","etaRange090");
	  etaRange090->AddCut(AliDielectronVarManager::kEta, -0.90, 0.90);
	  AliDielectronVarCuts *etaRange084 = new AliDielectronVarCuts("etaRange084","etaRange084");
	  etaRange084->AddCut(AliDielectronVarManager::kEta, -0.84, 0.84);
	  AliDielectronVarCuts *etaRange076 = new AliDielectronVarCuts("etaRange076","etaRange076");
	  etaRange076->AddCut(AliDielectronVarManager::kEta, -0.76, 0.76);
	  // pt range:
	  AliDielectronVarCuts *ptRange400to3500 = new AliDielectronVarCuts("ptRange400to3500","ptRange400to3500");
	  ptRange400to3500->AddCut(AliDielectronVarManager::kPt, .4, 3.5);



	  //Now see what Config actually loads and assemble final cuts
	  switch (cutSet) {
		case kPbPb2011NoPID:
		  AliDielectronCutGroup* cgSecondTrackFilterNoPID = new AliDielectronCutGroup("cgNoPID","cgNoPID",AliDielectronCutGroup::kCompAND);
		  cgSecondTrackFilterNoPID->AddCut(pTPC);
		  anaCuts= cgSecondTrackFilterNoPID;
		  break;
   		case kPbPb2011TPCandTOFHPT:
		  //test Hongyan's cut
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
		  cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
		  cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandITSTOF);
		  anaCuts = cgSecondTrackFilterPIDTPC1;
		  break;
		case kPbPb2011TPCandTOF :
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
		  cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
		  cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF);
		  anaCuts = cgSecondTrackFilterPIDTPC1;
		  break;
		case kPbPb2011TPC :
		  //Old, QM12
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
		  cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
		  cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal);
		  anaCuts = cgSecondTrackFilterPIDTPC1;
		  break;

		case kPbPb2011TPCandTOFwide :
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
		  cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
		  cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF);
		  cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal);
		  anaCuts = cgSecondTrackFilterPIDTPC1;
		  break;

		case kPbPb2011TPCorTOF  :
		  //unused
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC2 = new AliDielectronCutGroup("cgPIDTPC2","cgPIDTPC2",AliDielectronCutGroup::kCompAND);
		  cgSecondTrackFilterPIDTPC2->AddCut(pTPC);
//		  cgSecondTrackFilterPIDTPC2->AddCut(pidTT);
		  anaCuts = cgSecondTrackFilterPIDTPC2;
		  break;
		case kpp2010TPCandTOF :
		  //unused
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
		  cgSecondTrackFilterPIDTPC->AddCut(pTPC);
		  cgSecondTrackFilterPIDTPC->AddCut(pidTPCandTOF);
		  anaCuts = cgSecondTrackFilterPIDTPC;
		  break;
		case kpp2010TPCorTOF  :
		  //unused
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
		  cgSecondTrackFilterPIDTPC->AddCut(pTPC);
		  ///		  cgSecondTrackFilterPIDTPC->AddCut(pidTT);
		  anaCuts = cgSecondTrackFilterPIDTPC;
		  break;
	        case kPbPb2011pidITSTPCTOF:
		  AliDielectronCutGroup* cgPIDCutsAna = new AliDielectronCutGroup("cgPIDCutsAna","cgPIDCutsAna",AliDielectronCutGroup::kCompAND);
		  cgPIDCutsAna->AddCut(etaRange076);
		  cgPIDCutsAna->AddCut(ptRange400to3500);
		  cgPIDCutsAna->AddCut(pidTPCITS_TOFif2);
		  cgPIDCutsAna->AddCut(GetTrackCutsAna(cutSet));
		  anaCuts = cgPIDCutsAna;
		  break;

		default: cout << "No Analysis PID Cut defined " << endl;
	  }
	  return anaCuts;
	}


	//Relaxed PID cuts for additional rejectin step, do not use blindly
	AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet) {
	  AliAnalysisCuts* anaCuts=0x0;
	  switch (cutSet) {
		case kPbPb2011NoPID:
		case kPbPb2011TPCandTOF :
   		case kPbPb2011TPCandTOFHPT:
		case kPbPb2011TPC :
		case kPbPb2011TPCandTOFwide :
		case kpp2010TPCandTOF :
		case kpp2010TPCorTOF  :
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
		  AliDielectronCutGroup* cgITSTPC = new AliDielectronCutGroup("cgITSTPC","cgITSTPC",AliDielectronCutGroup::kCompAND);
		  AliDielectronPID *pidITSTPC = new AliDielectronPID("TPCpre","TPCpre");

		  pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);
		  pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE);
		  pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,0.4,kTRUE);
		  pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,0.4,kTRUE);
		  pidITSTPC->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.4 , 100., kFALSE );
		  cgITSTPC->AddCut(pidITSTPC);

		  AliDielectronVarCuts *pTPCHPT = new AliDielectronVarCuts("P>.4hpt","P>.4hpt");
		  pTPCHPT->AddCut(AliDielectronVarManager::kPt,.2,3.5);
		  cgITSTPC->AddCut(pTPCHPT);

		  cgITSTPC->AddCut(GetTrackCutsAna(cutSet));


		  AliDielectronCutGroup* cgITSSA = new AliDielectronCutGroup("cgITSSA","cgITSSA",AliDielectronCutGroup::kCompAND);
		  AliDielectronPID *pidITSSA = new  AliDielectronPID("pidITSSA","pidITSSA");
		  pidITSSA->AddCut(AliDielectronPID::kITS,AliPID::kElectron,-3.,3.);
		  cgITSSA->AddCut(pidITSSA);
		  AliDielectronVarCuts *pITSPT = new AliDielectronVarCuts("P>.4hpt","P>.4hpt");
		  pITSPT->AddCut(AliDielectronVarManager::kPt,0.0,0.8);
		  cgITSSA->AddCut(pITSPT);
		  cgITSSA->AddCut(GetTrackCutsPre(cutSet));

		  AliDielectronCutGroup* cgInitialTrackFilter = new AliDielectronCutGroup("cgInitialTrackFilter","cgInitialTrackFilter",AliDielectronCutGroup::kCompOR);
		  cgInitialTrackFilter->AddCut(cgITSTPC);
		  cgInitialTrackFilter->AddCut(cgITSSA);
		  anaCuts = cgInitialTrackFilter;
		  break;


		case kPbPb2011TPCorTOF  :
		  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
		  AliDielectronCutGroup* cgITSTPCalone = new AliDielectronCutGroup("cgITSTPCalone","cgITSTPCalone",AliDielectronCutGroup::kCompAND);
		  AliDielectronPID *pidITSTPCalone = new AliDielectronPID("TPCpre","TPCpre");

		  pidITSTPCalone->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);
		  pidITSTPCalone->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE);
		  pidITSTPCalone->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,0.4,kTRUE);
		  pidITSTPCalone->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,0.4,kTRUE);
		  pidITSTPCalone->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.4 , 100., kFALSE );
		  cgITSTPCalone->AddCut(pidITSTPCalone);

		  AliDielectronVarCuts *pTPCHPT = new AliDielectronVarCuts("P>.4hpt","P>.4hpt");
		  pTPCHPT->AddCut(AliDielectronVarManager::kPt,.2,3.5);
		  cgITSTPCalone->AddCut(pTPCHPT);

		  cgITSTPCalone->AddCut(GetTrackCutsAna(cutSet));



		  anaCuts = cgITSTPCalone;
		  break;

	  case kPbPb2011pidITSTPCTOF:

		  // eta range:
		  AliDielectronVarCuts *etaRangePre1 = new AliDielectronVarCuts("etaRangePre1","etaRangePre1");
		  etaRangePre1->AddCut(AliDielectronVarManager::kEta,-0.9,0.9);
		  // pt range:
		  AliDielectronVarCuts *ptRangePre1 = new AliDielectronVarCuts("ptRangePre1","ptRangePre1");
		  ptRangePre1->AddCut(AliDielectronVarManager::kPt, .2, 3.5); // 0.2 is realistic. turnon at ~180MeV
		  //AliDielectronVarCuts *ptRangePre2 = new AliDielectronVarCuts("ptRangePre2","ptRangePre2");
		  //ptRangePre2->AddCut(AliDielectronVarManager::kPt, .4, 3.5);
		  //AliDielectronVarCuts *ptRangePre3 = new AliDielectronVarCuts("ptRangePre3","ptRangePre3");
		  //ptRangePre3->AddCut(AliDielectronVarManager::kPt, 0.05, 1.5);

		  AliDielectronCutGroup* cgITSTPCTOFpre = new AliDielectronCutGroup("cgITSTPCTOFpre","cgITSTPCTOFpre",AliDielectronCutGroup::kCompAND);
		  AliDielectronPID *pidITSTPCTOFpre = new AliDielectronPID("pidITSTPCTOFpre","pidITSTPCTOFpre");
		  pidITSTPCTOFpre->AddCut(AliDielectronPID::kTPC,AliPID::kElectron, -3. , 3., 0. ,100., kFALSE);
		  pidITSTPCTOFpre->AddCut(AliDielectronPID::kTPC,AliPID::kPion,     -3. , 3., 0. ,100., kTRUE);
		  // ITS will be used:
		  //  pidITSTPCTOFpre->AddCut(AliDielectronPID::kITS,AliPID::kElectron, -3. , 3., 0. ,1.7 , kFALSE);
		  // TOF will be used if available, and with pt instead of p:
		  //  pidITSTPCTOFpre->AddCut(AliDielectronPID::kTOF,AliPID::kElectron, -3. , 3., 0.4,100., kFALSE,
		  //                          AliDielectronPID::kIfAvailable, AliDielectronVarManager::kPt);
		  cgITSTPCTOFpre->AddCut(pidITSTPCTOFpre);
		  cgITSTPCTOFpre->AddCut(etaRangePre1);
		  cgITSTPCTOFpre->AddCut(ptRangePre1);
		  cgITSTPCTOFpre->AddCut(GetTrackCutsAna(cutSet));
		  AliDielectronCutGroup* cgInitialTrackFilter = new AliDielectronCutGroup("cgInitialTrackFilter","cgInitialTrackFilter",AliDielectronCutGroup::kCompOR);
		  cgInitialTrackFilter->AddCut(GetPIDCutsAna(cutSet)); // in case the prefilter cuts do not include all needed global tracks.
		  cgInitialTrackFilter->AddCut(cgITSTPCTOFpre);
		  //cgInitialTrackFilter->AddCut(cgTPCpre);
		  //cgInitialTrackFilter->AddCut(cgITSSA);
		  anaCuts = cgInitialTrackFilter;   // kCompOR works!!! <- checked with 'SetNoPairing()' and commented out 'GetPIDCutsAna(selectedPID)'
		  //cout << " ========== anaCuts prefilter: ========== " << endl;
		  //anaCuts->Print();
		  break;


		default: cout << "No Pre-PID Cut defined " << endl;
	  }
	  return anaCuts;
	}




	//Pair Cuts for Analysis step - take care of logic - inverted compared to other PairCuts!!
	AliAnalysisCuts* GetPairCuts2(Int_t cutSet, Bool_t togglePC /*=kFALSE*/)  {
	   AliAnalysisCuts* pairCuts=0x0;
	   switch (cutSet) {
		  case kPbPb2011TPCorTOF  :
		  case kpp2010TPCandTOF :
			 AliDielectronVarCuts* pairCutsV= new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");
			 pairCutsV->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE);
			 pairCuts = pairCutsV;
			 break;
		  case kPbPb2011NoPID:
		  case kPbPb2011TPCandTOF :
		  case kPbPb2011TPC :
		  case kPbPb2011TPCandTOFHPT:
		  case kPbPb2011TPCandTOFwide :
		  case kpp2010TPCorTOF  :
			 if (!togglePC) {

				AliDielectronCutGroup* pairCutsCG2 =new AliDielectronCutGroup("pairCutsCG2","pairCutsCG2",AliDielectronCutGroup::kCompOR);
				AliDielectronCutGroup* pairCutsCG =new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompAND);
				pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad");
				pairCutsPhiv->AddCut(AliDielectronVarManager::kPhivPair, 0.0, 2.0); 
				pairCutsInvM =new AliDielectronVarCuts("InvM Cuts","InvM<0.3");
				pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.05); 
				pairCutsInvMgood =new AliDielectronVarCuts("InvM Cuts good","InvM>0.3");
				pairCutsInvMgood->AddCut(AliDielectronVarManager::kM, 0.05, 99999.); 
				pairCutsCG->AddCut(pairCutsPhiv);
				pairCutsCG->AddCut(pairCutsInvM);
				pairCutsCG2->AddCut(pairCutsInvMgood);
				pairCutsCG2->AddCut(pairCutsCG);
				pairCuts = pairCutsCG2;
			 }
			 else {
				AliDielectronVarCuts* pairCutsV =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad");
				pairCutsV->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035,kTRUE);
				pairCuts = pairCutsV;
			 }
			 break;
		  default: cout << "No Pair Cuts defined " << endl;
	   }
	   return pairCuts;
	}



	//Pair Cuts for PREFILTER step
	AliAnalysisCuts* GetPairCuts(Int_t cutSet)  {  
	   AliAnalysisCuts* pairCuts=0x0;
	   switch (cutSet) {
		  case kPbPb2011TPCorTOF  :
		  case kpp2010TPCandTOF :
			AliDielectronVarCuts* pairCutsM=0x0;
		  pairCutsM = new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");
		  pairCutsM->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE);
		  pairCuts = pairCutsM;
		  break;
		case kPbPb2011NoPID:
		case kPbPb2011TPCandTOF :
		case kPbPb2011TPC :
		case kPbPb2011TPCandTOFwide :
   		case kPbPb2011TPCandTOFHPT:
/*		case kpp2010TPCorTOF  :

		  AliDielectronCutGroup* pairCutsCG =new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompAND);
		  //AliDielectronVarCuts* pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad");
		  //pairCutsPhiv->AddCut(AliDielectronVarManager::kPhivPair, 2.0, 3.2); 
		  AliDielectronVarCuts* pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad");
		  pairCutsPhiv->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0, 0.05); 
		  AliDielectronVarCuts* pairCutsInvM =new AliDielectronVarCuts("InvM Cuts","InvM<0.3");
		  pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.01); 
		  pairCutsCG->AddCut(pairCutsPhiv);
		  pairCutsCG->AddCut(pairCutsInvM);
*/
		  AliDielectronCutGroup* pairCutsCG =new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompAND);
		  AliDielectronVarCuts* pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad");
		  pairCutsPhiv->AddCut(AliDielectronVarManager::kPhivPair, 2.0, 3.2); 
		  //AliDielectronVarCuts* pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad");
		  //pairCutsPhiv->AddCut(AliDielectronVarManager::kOpeningAngle, 0.0, 0.05); 
		  AliDielectronVarCuts* pairCutsInvM =new AliDielectronVarCuts("InvM Cuts","InvM<0.3");
		  pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.05); 
		  pairCutsCG->AddCut(pairCutsPhiv);
		  pairCutsCG->AddCut(pairCutsInvM);
		  		  pairCuts = pairCutsCG;


		//pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad");
		//pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035);
		break;
		default: cout << "No Pair Cuts defined " << endl;
	  } 
	  return pairCuts;
	}


  AliAnalysisCuts* GetPairCutsInvMass(Int_t cutSet) {
    cout << " >>>>>>>>>>>>>>>>>>>>>>>>>>>>> GetPairCutsInvMass() >>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << endl;
    AliAnalysisCuts* pairCuts=0x0;
    switch (cutSet) {
    case kPbPb2011MassLow :
      AliDielectronVarCuts* pairCutsInvSelect = new AliDielectronVarCuts("InvMass","0 MeV  < InvMass < 30 MeV");
      pairCutsInvSelect->AddCut(AliDielectronVarManager::kM, 0.,0.03);
      break;
    case kPbPb2011MassMiddle :
      AliDielectronVarCuts* pairCutsInvSelect = new AliDielectronVarCuts("InvMass","120 MeV  < InvMass < 300 MeV");
      pairCutsInvSelect->AddCut(AliDielectronVarManager::kM, 0.12,0.30);
      break;
    case kPbPb2011MassHigh :
      AliDielectronVarCuts* pairCutsInvSelect = new AliDielectronVarCuts("InvMass","300 MeV  < InvMass < 500 MeV");
      pairCutsInvSelect->AddCut(AliDielectronVarManager::kM, 0.30,0.50);
      break;
    case kPbPb2011MassAll :
      AliDielectronVarCuts* pairCutsInvSelect = new AliDielectronVarCuts("InvMass","0 GeV  < InvMass < 10 GeV");
      pairCutsInvSelect->AddCut(AliDielectronVarManager::kM, 0.0,10.0);
      break;

    default: cout << "No Pair Cuts defined " << endl;
    }

    pairCuts = pairCutsInvSelect;
    return pairCuts;
  }

  
  AliAnalysisCuts* GetPairCutsInOut(Int_t cutSet){
    AliAnalysisCuts* pairCut=0x0;
    switch (cutSet) {
    case kPbPb2011RP:
      AliDielectronCutGroup* pairCutsPhiRP =new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompOR);
      AliDielectronVarCuts* pairCutsPhi1 =new AliDielectronVarCuts("Phi Cuts","-pi/4<Phi<pi/4");
      pairCutsPhi1->AddCut(AliDielectronVarManager::kDeltaPhiv0CrpH2, (-1.0)*TMath::Pi()/4., TMath::Pi()/4.);
      AliDielectronVarCuts* pairCutsPhi2 =new AliDielectronVarCuts("Phi Cuts","3*pi/4<Phi");
      pairCutsPhi2->AddCut(AliDielectronVarManager::kDeltaPhiv0CrpH2, 3.0*TMath::Pi()/4., TMath::Pi());
      AliDielectronVarCuts* pairCutsPhi3 =new AliDielectronVarCuts("Phi Cuts","-3*pi/4<Phi");
      pairCutsPhi3->AddCut(AliDielectronVarManager::kDeltaPhiv0CrpH2, (-1.0)*TMath::Pi(),(-3.0)*TMath::Pi()/4.);
	
      pairCutsPhiRP->AddCut(pairCutsPhi1);
      pairCutsPhiRP->AddCut(pairCutsPhi2);
      pairCutsPhiRP->AddCut(pairCutsPhi3);

      pairCuts = pairCutsPhiRP;

      break;
    case kPbPb2011Mag:
      AliDielectronCutGroup* pairCutsPhiMag=new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompOR);
      AliDielectronVarCuts* pairCutsPhi4 =new AliDielectronVarCuts("Phi Cuts","-3*pi/4<Phi");
      pairCutsPhi4->AddCut(AliDielectronVarManager::kDeltaPhiv0CrpH2, TMath::Pi()/4.,3.0*TMath::Pi()/4.);
      AliDielectronVarCuts* pairCutsPhi5 =new AliDielectronVarCuts("Phi Cuts","-3*pi/4<Phi");
      pairCutsPhi5->AddCut(AliDielectronVarManager::kDeltaPhiv0CrpH2,(-3.0)*TMath::Pi()/4.,(-1.0)*TMath::Pi()/4.);

      pairCutsPhiMag->AddCut(pairCutsPhi4);
      pairCutsPhiMag->AddCut(pairCutsPhi5);

      pairCuts = pairCutsPhiMag;
      //pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad");
      //pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035);
      break;
    default: cout << "No Pair Cuts defined " << endl;
    }
    return pairCuts;
  }
  



	//*******************************************************************************
	//*******************************************************************************
	//** ESD TRACK CUTS TUNED FOR AGREEMENT BETWEEN AODS AND ESDS  ******************
	//** NOT NECESSARILY 100% OPTIMIZED FOR DIEL-ANALYSIS          ******************
	//*******************************************************************************
	//*******************************************************************************

	//WHEN RUNNING ON ESDs: LOAD Default Cuts for AODs
	AliAnalysisCuts* GetESDTrackCutsAna(Int_t cutSet) {
	  AliESDtrackCuts* esdTrackCutsH = 0x0;
	  switch (cutSet) {
		case kPbPb2011NoPID:
		case kPbPb2011TPCandTOF :
   		case kPbPb2011TPCandTOFHPT:
		case kPbPb2011TPC :
		case kPbPb2011TPCandTOFwide :
		case kPbPb2011TPCorTOF  :
		case kpp2010TPCandTOF :
		case kpp2010TPCorTOF  :
			// standard cuts with very loose DCA: Bit4 (Int: 16), AOD095&115

		  
			 esdTrackCutsH = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE); 
			 esdTrackCutsH->SetMaxDCAToVertexXY(2.4);
			 esdTrackCutsH->SetMaxDCAToVertexZ(3.2);
			 esdTrackCutsH->SetDCAToVertex2D(kTRUE);

			 //The cuts below should be the onyl ones that are missing
			 //explicitely in the TrackCutsAna method
			 //To be sure, StandardITSTPCTrackCuts is loaded however
		/* 
		  esdTrackCutsH = new AliESDtrackCuts();
		  esdTrackCutsH->SetAcceptKinkDaughters(kFALSE);
		  //Not done so far via dielectron cuts:
		  */
		  /*
		  esdTrackCuts->SetDCAToVertex2D(kFALSE);
		  esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
		  esdTrackCuts->SetMaxChi2PerClusterITS(36);
		   */

		  break;

		default: cout << "No Analysis Track Cut defined " << endl;
	  }
	  return esdTrackCutsH;
	} 


	//Make/Tighten track Cuts that are *NOT* already
	//done in the AOD production
	//**IMPORTANT**: For AODs, select FilterBit
	//the method is ignored for ESDs
	
	AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet) {
	  AliDielectronCutGroup* trackCuts=0x0;
	  switch (cutSet) {
		case kPbPb2011NoPID:
		case kPbPb2011TPCandTOF :
   		case kPbPb2011TPCandTOFHPT:
		case kPbPb2011TPC :
		case kPbPb2011TPCandTOFwide :
		case kPbPb2011TPCorTOF  :
		case kpp2010TPCandTOF :
		case kpp2010TPCorTOF  :
			trackCuts = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);

			AliDielectronVarCuts* trackCutsAOD =new AliDielectronVarCuts("trackCutsAOD","trackCutsAOD");
			trackCutsAOD->AddCut(AliDielectronVarManager::kPt,0.05,6.);
			trackCutsAOD->AddCut(AliDielectronVarManager::kEta,-0.84,0.84);
			//DCA Cut
			trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParXY, -1.0,   1.0);
			trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParZ,  -3.0,   3.0);
			trackCutsAOD->AddCut(AliDielectronVarManager::kNclsITS,     3.0, 100.0);
			trackCutsAOD->AddCut(AliDielectronVarManager::kTPCchi2Cl,    0.0,   3.5);
			AliDielectronTrackCuts *trackCutsDiel = new AliDielectronTrackCuts("trackCutsDiel","trackCutsDiel");
			trackCutsDiel->SetAODFilterBit(16); //does nothing for ESDs
			trackCutsDiel->SetRequireITSRefit(kTRUE);
			trackCutsDiel->SetRequireTPCRefit(kTRUE);

			trackCutsDiel->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
//			trackCutsAOD->AddCut(AliDielectronVarManager::kNclsTPC,     80., 140.0);
			trackCutsAOD->AddCut(AliDielectronVarManager::kNFclsTPCr,     110.0, 160.0);
			trackCutsAOD->AddCut(AliDielectronVarManager::kNFclsTPCfCross,     0.8, 1.0);//tighter than before,
																						 //due to AOD production
			trackCuts->AddCut(trackCutsDiel);
			trackCuts->AddCut(trackCutsAOD);
		  break;

          case kPbPb2011pidITSTPCTOF:
            AliDielectronVarCuts* trackCutsAOD =new AliDielectronVarCuts("trackCutsAOD","trackCutsAOD");
            trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParXY, -1.0,   1.0);
            trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParZ,  -3.0,   3.0);
            trackCutsAOD->AddCut(AliDielectronVarManager::kNclsITS,     4.0, 100.0); // means at least 2 with PID
            trackCutsAOD->AddCut(AliDielectronVarManager::kTPCchi2Cl,    0.0,   4.0);
            trackCutsAOD->AddCut(AliDielectronVarManager::kNFclsTPCr,     100.0, 160.0);
            trackCutsAOD->AddCut(AliDielectronVarManager::kNFclsTPCfCross,     0.8, 1.1); // lower limit 0.8 in most filterbits! // 1.1 since 26.02.2014
            AliDielectronTrackCuts *trackCutsDiel = new AliDielectronTrackCuts("trackCutsDiel","trackCutsDiel");
            trackCutsDiel->SetAODFilterBit(1<<4); // (=16) filterbit 4! //GetStandardITSTPCTrackCuts2011(kFALSE); loose DCA, 2D cut
            trackCutsDiel->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);

            cgTrackCutsAnaSPDfirst = new AliDielectronCutGroup("cgTrackCutsAnaSPDfirst","cgTrackCutsAnaSPDfirst",AliDielectronCutGroup::kCompAND);
            cgTrackCutsAnaSPDfirst->AddCut(trackCutsDiel);
            cgTrackCutsAnaSPDfirst->AddCut(trackCutsAOD);
            trackCuts = cgTrackCutsAnaSPDfirst;
            break;



		default: cout << "No Analysis Track Cut defined " << endl;
	  }
	  return trackCuts;
	} 


	//Possibly different cut sets for Prefilter step
	//Not used at the moment
	AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet) {
	  AliDielectronCutGroup* trackCuts=0x0;
	  switch (cutSet) {
		case kPbPb2011NoPID:
		case kPbPb2011TPCandTOF :
   		case kPbPb2011TPCandTOFHPT:
		case kPbPb2011TPCorTOF  :
		case kpp2010TPCandTOF :
		case kpp2010TPCorTOF  :
		   trackCuts = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);

		   AliDielectronVarCuts* trackCutsAOD =new AliDielectronVarCuts("trackCutsAOD","trackCutsAOD");
		   trackCutsAOD->AddCut(AliDielectronVarManager::kPt,0.05,0.2);
		   trackCutsAOD->AddCut(AliDielectronVarManager::kEta,-0.84,0.84);
		   //DCA Cut
		   trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParXY, -1.0,   1.0);
		   trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParZ,  -3.0,   3.0);
		   trackCutsAOD->AddCut(AliDielectronVarManager::kNclsITS,     3.0, 100.0);
		   AliDielectronTrackCuts *trackCutsDiel = new AliDielectronTrackCuts("trackCutsDiel","trackCutsDiel");
		   trackCutsDiel->SetAODFilterBit(1); //does nothing for ESDs, ITSSA
		   trackCutsDiel->SetRequireITSRefit(kTRUE);

		   trackCutsDiel->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
		   trackCuts->AddCut(trackCutsDiel);
		   trackCuts->AddCut(trackCutsAOD);
		   //		  cout << "No Pre-Track Cut defined for AODs at the moment " << endl;
		  break;

	  case kPbPb2011pidITSTPCTOF:

	    AliDielectronVarCuts* trackCutsAOD =new AliDielectronVarCuts("trackCutsAOD","trackCutsAOD");
	    trackCutsAOD->AddCut(AliDielectronVarManager::kEta,-0.84,0.84);
	    trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParXY, -1.0,   1.0);
	    trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParZ,  -3.0,   3.0);
	    trackCutsAOD->AddCut(AliDielectronVarManager::kNclsITS,     3.0, 100.0);
	    AliDielectronTrackCuts *trackCutsDiel = new AliDielectronTrackCuts("trackCutsDiel","trackCutsDiel");
	    trackCutsDiel->SetAODFilterBit(1); //does nothing for ESDs, ITSSA(???) // maybe use FilterBit(2) instead!

	    cgTrackCutsPre = new AliDielectronCutGroup("cgTrackCutsPre","cgTrackCutsPre",AliDielectronCutGroup::kCompAND);
	    cgTrackCutsPre->AddCut(trackCutsDiel);
	    cgTrackCutsPre->AddCut(trackCutsAOD);
	    trackCuts = cgTrackCutsPre;
	    break;

		default: cout << "No Pre-Track Cut defined " << endl;
	  }
	  return trackCuts;
	}

};
 LMEECutLibRemi.C:1
 LMEECutLibRemi.C:2
 LMEECutLibRemi.C:3
 LMEECutLibRemi.C:4
 LMEECutLibRemi.C:5
 LMEECutLibRemi.C:6
 LMEECutLibRemi.C:7
 LMEECutLibRemi.C:8
 LMEECutLibRemi.C:9
 LMEECutLibRemi.C:10
 LMEECutLibRemi.C:11
 LMEECutLibRemi.C:12
 LMEECutLibRemi.C:13
 LMEECutLibRemi.C:14
 LMEECutLibRemi.C:15
 LMEECutLibRemi.C:16
 LMEECutLibRemi.C:17
 LMEECutLibRemi.C:18
 LMEECutLibRemi.C:19
 LMEECutLibRemi.C:20
 LMEECutLibRemi.C:21
 LMEECutLibRemi.C:22
 LMEECutLibRemi.C:23
 LMEECutLibRemi.C:24
 LMEECutLibRemi.C:25
 LMEECutLibRemi.C:26
 LMEECutLibRemi.C:27
 LMEECutLibRemi.C:28
 LMEECutLibRemi.C:29
 LMEECutLibRemi.C:30
 LMEECutLibRemi.C:31
 LMEECutLibRemi.C:32
 LMEECutLibRemi.C:33
 LMEECutLibRemi.C:34
 LMEECutLibRemi.C:35
 LMEECutLibRemi.C:36
 LMEECutLibRemi.C:37
 LMEECutLibRemi.C:38
 LMEECutLibRemi.C:39
 LMEECutLibRemi.C:40
 LMEECutLibRemi.C:41
 LMEECutLibRemi.C:42
 LMEECutLibRemi.C:43
 LMEECutLibRemi.C:44
 LMEECutLibRemi.C:45
 LMEECutLibRemi.C:46
 LMEECutLibRemi.C:47
 LMEECutLibRemi.C:48
 LMEECutLibRemi.C:49
 LMEECutLibRemi.C:50
 LMEECutLibRemi.C:51
 LMEECutLibRemi.C:52
 LMEECutLibRemi.C:53
 LMEECutLibRemi.C:54
 LMEECutLibRemi.C:55
 LMEECutLibRemi.C:56
 LMEECutLibRemi.C:57
 LMEECutLibRemi.C:58
 LMEECutLibRemi.C:59
 LMEECutLibRemi.C:60
 LMEECutLibRemi.C:61
 LMEECutLibRemi.C:62
 LMEECutLibRemi.C:63
 LMEECutLibRemi.C:64
 LMEECutLibRemi.C:65
 LMEECutLibRemi.C:66
 LMEECutLibRemi.C:67
 LMEECutLibRemi.C:68
 LMEECutLibRemi.C:69
 LMEECutLibRemi.C:70
 LMEECutLibRemi.C:71
 LMEECutLibRemi.C:72
 LMEECutLibRemi.C:73
 LMEECutLibRemi.C:74
 LMEECutLibRemi.C:75
 LMEECutLibRemi.C:76
 LMEECutLibRemi.C:77
 LMEECutLibRemi.C:78
 LMEECutLibRemi.C:79
 LMEECutLibRemi.C:80
 LMEECutLibRemi.C:81
 LMEECutLibRemi.C:82
 LMEECutLibRemi.C:83
 LMEECutLibRemi.C:84
 LMEECutLibRemi.C:85
 LMEECutLibRemi.C:86
 LMEECutLibRemi.C:87
 LMEECutLibRemi.C:88
 LMEECutLibRemi.C:89
 LMEECutLibRemi.C:90
 LMEECutLibRemi.C:91
 LMEECutLibRemi.C:92
 LMEECutLibRemi.C:93
 LMEECutLibRemi.C:94
 LMEECutLibRemi.C:95
 LMEECutLibRemi.C:96
 LMEECutLibRemi.C:97
 LMEECutLibRemi.C:98
 LMEECutLibRemi.C:99
 LMEECutLibRemi.C:100
 LMEECutLibRemi.C:101
 LMEECutLibRemi.C:102
 LMEECutLibRemi.C:103
 LMEECutLibRemi.C:104
 LMEECutLibRemi.C:105
 LMEECutLibRemi.C:106
 LMEECutLibRemi.C:107
 LMEECutLibRemi.C:108
 LMEECutLibRemi.C:109
 LMEECutLibRemi.C:110
 LMEECutLibRemi.C:111
 LMEECutLibRemi.C:112
 LMEECutLibRemi.C:113
 LMEECutLibRemi.C:114
 LMEECutLibRemi.C:115
 LMEECutLibRemi.C:116
 LMEECutLibRemi.C:117
 LMEECutLibRemi.C:118
 LMEECutLibRemi.C:119
 LMEECutLibRemi.C:120
 LMEECutLibRemi.C:121
 LMEECutLibRemi.C:122
 LMEECutLibRemi.C:123
 LMEECutLibRemi.C:124
 LMEECutLibRemi.C:125
 LMEECutLibRemi.C:126
 LMEECutLibRemi.C:127
 LMEECutLibRemi.C:128
 LMEECutLibRemi.C:129
 LMEECutLibRemi.C:130
 LMEECutLibRemi.C:131
 LMEECutLibRemi.C:132
 LMEECutLibRemi.C:133
 LMEECutLibRemi.C:134
 LMEECutLibRemi.C:135
 LMEECutLibRemi.C:136
 LMEECutLibRemi.C:137
 LMEECutLibRemi.C:138
 LMEECutLibRemi.C:139
 LMEECutLibRemi.C:140
 LMEECutLibRemi.C:141
 LMEECutLibRemi.C:142
 LMEECutLibRemi.C:143
 LMEECutLibRemi.C:144
 LMEECutLibRemi.C:145
 LMEECutLibRemi.C:146
 LMEECutLibRemi.C:147
 LMEECutLibRemi.C:148
 LMEECutLibRemi.C:149
 LMEECutLibRemi.C:150
 LMEECutLibRemi.C:151
 LMEECutLibRemi.C:152
 LMEECutLibRemi.C:153
 LMEECutLibRemi.C:154
 LMEECutLibRemi.C:155
 LMEECutLibRemi.C:156
 LMEECutLibRemi.C:157
 LMEECutLibRemi.C:158
 LMEECutLibRemi.C:159
 LMEECutLibRemi.C:160
 LMEECutLibRemi.C:161
 LMEECutLibRemi.C:162
 LMEECutLibRemi.C:163
 LMEECutLibRemi.C:164
 LMEECutLibRemi.C:165
 LMEECutLibRemi.C:166
 LMEECutLibRemi.C:167
 LMEECutLibRemi.C:168
 LMEECutLibRemi.C:169
 LMEECutLibRemi.C:170
 LMEECutLibRemi.C:171
 LMEECutLibRemi.C:172
 LMEECutLibRemi.C:173
 LMEECutLibRemi.C:174
 LMEECutLibRemi.C:175
 LMEECutLibRemi.C:176
 LMEECutLibRemi.C:177
 LMEECutLibRemi.C:178
 LMEECutLibRemi.C:179
 LMEECutLibRemi.C:180
 LMEECutLibRemi.C:181
 LMEECutLibRemi.C:182
 LMEECutLibRemi.C:183
 LMEECutLibRemi.C:184
 LMEECutLibRemi.C:185
 LMEECutLibRemi.C:186
 LMEECutLibRemi.C:187
 LMEECutLibRemi.C:188
 LMEECutLibRemi.C:189
 LMEECutLibRemi.C:190
 LMEECutLibRemi.C:191
 LMEECutLibRemi.C:192
 LMEECutLibRemi.C:193
 LMEECutLibRemi.C:194
 LMEECutLibRemi.C:195
 LMEECutLibRemi.C:196
 LMEECutLibRemi.C:197
 LMEECutLibRemi.C:198
 LMEECutLibRemi.C:199
 LMEECutLibRemi.C:200
 LMEECutLibRemi.C:201
 LMEECutLibRemi.C:202
 LMEECutLibRemi.C:203
 LMEECutLibRemi.C:204
 LMEECutLibRemi.C:205
 LMEECutLibRemi.C:206
 LMEECutLibRemi.C:207
 LMEECutLibRemi.C:208
 LMEECutLibRemi.C:209
 LMEECutLibRemi.C:210
 LMEECutLibRemi.C:211
 LMEECutLibRemi.C:212
 LMEECutLibRemi.C:213
 LMEECutLibRemi.C:214
 LMEECutLibRemi.C:215
 LMEECutLibRemi.C:216
 LMEECutLibRemi.C:217
 LMEECutLibRemi.C:218
 LMEECutLibRemi.C:219
 LMEECutLibRemi.C:220
 LMEECutLibRemi.C:221
 LMEECutLibRemi.C:222
 LMEECutLibRemi.C:223
 LMEECutLibRemi.C:224
 LMEECutLibRemi.C:225
 LMEECutLibRemi.C:226
 LMEECutLibRemi.C:227
 LMEECutLibRemi.C:228
 LMEECutLibRemi.C:229
 LMEECutLibRemi.C:230
 LMEECutLibRemi.C:231
 LMEECutLibRemi.C:232
 LMEECutLibRemi.C:233
 LMEECutLibRemi.C:234
 LMEECutLibRemi.C:235
 LMEECutLibRemi.C:236
 LMEECutLibRemi.C:237
 LMEECutLibRemi.C:238
 LMEECutLibRemi.C:239
 LMEECutLibRemi.C:240
 LMEECutLibRemi.C:241
 LMEECutLibRemi.C:242
 LMEECutLibRemi.C:243
 LMEECutLibRemi.C:244
 LMEECutLibRemi.C:245
 LMEECutLibRemi.C:246
 LMEECutLibRemi.C:247
 LMEECutLibRemi.C:248
 LMEECutLibRemi.C:249
 LMEECutLibRemi.C:250
 LMEECutLibRemi.C:251
 LMEECutLibRemi.C:252
 LMEECutLibRemi.C:253
 LMEECutLibRemi.C:254
 LMEECutLibRemi.C:255
 LMEECutLibRemi.C:256
 LMEECutLibRemi.C:257
 LMEECutLibRemi.C:258
 LMEECutLibRemi.C:259
 LMEECutLibRemi.C:260
 LMEECutLibRemi.C:261
 LMEECutLibRemi.C:262
 LMEECutLibRemi.C:263
 LMEECutLibRemi.C:264
 LMEECutLibRemi.C:265
 LMEECutLibRemi.C:266
 LMEECutLibRemi.C:267
 LMEECutLibRemi.C:268
 LMEECutLibRemi.C:269
 LMEECutLibRemi.C:270
 LMEECutLibRemi.C:271
 LMEECutLibRemi.C:272
 LMEECutLibRemi.C:273
 LMEECutLibRemi.C:274
 LMEECutLibRemi.C:275
 LMEECutLibRemi.C:276
 LMEECutLibRemi.C:277
 LMEECutLibRemi.C:278
 LMEECutLibRemi.C:279
 LMEECutLibRemi.C:280
 LMEECutLibRemi.C:281
 LMEECutLibRemi.C:282
 LMEECutLibRemi.C:283
 LMEECutLibRemi.C:284
 LMEECutLibRemi.C:285
 LMEECutLibRemi.C:286
 LMEECutLibRemi.C:287
 LMEECutLibRemi.C:288
 LMEECutLibRemi.C:289
 LMEECutLibRemi.C:290
 LMEECutLibRemi.C:291
 LMEECutLibRemi.C:292
 LMEECutLibRemi.C:293
 LMEECutLibRemi.C:294
 LMEECutLibRemi.C:295
 LMEECutLibRemi.C:296
 LMEECutLibRemi.C:297
 LMEECutLibRemi.C:298
 LMEECutLibRemi.C:299
 LMEECutLibRemi.C:300
 LMEECutLibRemi.C:301
 LMEECutLibRemi.C:302
 LMEECutLibRemi.C:303
 LMEECutLibRemi.C:304
 LMEECutLibRemi.C:305
 LMEECutLibRemi.C:306
 LMEECutLibRemi.C:307
 LMEECutLibRemi.C:308
 LMEECutLibRemi.C:309
 LMEECutLibRemi.C:310
 LMEECutLibRemi.C:311
 LMEECutLibRemi.C:312
 LMEECutLibRemi.C:313
 LMEECutLibRemi.C:314
 LMEECutLibRemi.C:315
 LMEECutLibRemi.C:316
 LMEECutLibRemi.C:317
 LMEECutLibRemi.C:318
 LMEECutLibRemi.C:319
 LMEECutLibRemi.C:320
 LMEECutLibRemi.C:321
 LMEECutLibRemi.C:322
 LMEECutLibRemi.C:323
 LMEECutLibRemi.C:324
 LMEECutLibRemi.C:325
 LMEECutLibRemi.C:326
 LMEECutLibRemi.C:327
 LMEECutLibRemi.C:328
 LMEECutLibRemi.C:329
 LMEECutLibRemi.C:330
 LMEECutLibRemi.C:331
 LMEECutLibRemi.C:332
 LMEECutLibRemi.C:333
 LMEECutLibRemi.C:334
 LMEECutLibRemi.C:335
 LMEECutLibRemi.C:336
 LMEECutLibRemi.C:337
 LMEECutLibRemi.C:338
 LMEECutLibRemi.C:339
 LMEECutLibRemi.C:340
 LMEECutLibRemi.C:341
 LMEECutLibRemi.C:342
 LMEECutLibRemi.C:343
 LMEECutLibRemi.C:344
 LMEECutLibRemi.C:345
 LMEECutLibRemi.C:346
 LMEECutLibRemi.C:347
 LMEECutLibRemi.C:348
 LMEECutLibRemi.C:349
 LMEECutLibRemi.C:350
 LMEECutLibRemi.C:351
 LMEECutLibRemi.C:352
 LMEECutLibRemi.C:353
 LMEECutLibRemi.C:354
 LMEECutLibRemi.C:355
 LMEECutLibRemi.C:356
 LMEECutLibRemi.C:357
 LMEECutLibRemi.C:358
 LMEECutLibRemi.C:359
 LMEECutLibRemi.C:360
 LMEECutLibRemi.C:361
 LMEECutLibRemi.C:362
 LMEECutLibRemi.C:363
 LMEECutLibRemi.C:364
 LMEECutLibRemi.C:365
 LMEECutLibRemi.C:366
 LMEECutLibRemi.C:367
 LMEECutLibRemi.C:368
 LMEECutLibRemi.C:369
 LMEECutLibRemi.C:370
 LMEECutLibRemi.C:371
 LMEECutLibRemi.C:372
 LMEECutLibRemi.C:373
 LMEECutLibRemi.C:374
 LMEECutLibRemi.C:375
 LMEECutLibRemi.C:376
 LMEECutLibRemi.C:377
 LMEECutLibRemi.C:378
 LMEECutLibRemi.C:379
 LMEECutLibRemi.C:380
 LMEECutLibRemi.C:381
 LMEECutLibRemi.C:382
 LMEECutLibRemi.C:383
 LMEECutLibRemi.C:384
 LMEECutLibRemi.C:385
 LMEECutLibRemi.C:386
 LMEECutLibRemi.C:387
 LMEECutLibRemi.C:388
 LMEECutLibRemi.C:389
 LMEECutLibRemi.C:390
 LMEECutLibRemi.C:391
 LMEECutLibRemi.C:392
 LMEECutLibRemi.C:393
 LMEECutLibRemi.C:394
 LMEECutLibRemi.C:395
 LMEECutLibRemi.C:396
 LMEECutLibRemi.C:397
 LMEECutLibRemi.C:398
 LMEECutLibRemi.C:399
 LMEECutLibRemi.C:400
 LMEECutLibRemi.C:401
 LMEECutLibRemi.C:402
 LMEECutLibRemi.C:403
 LMEECutLibRemi.C:404
 LMEECutLibRemi.C:405
 LMEECutLibRemi.C:406
 LMEECutLibRemi.C:407
 LMEECutLibRemi.C:408
 LMEECutLibRemi.C:409
 LMEECutLibRemi.C:410
 LMEECutLibRemi.C:411
 LMEECutLibRemi.C:412
 LMEECutLibRemi.C:413
 LMEECutLibRemi.C:414
 LMEECutLibRemi.C:415
 LMEECutLibRemi.C:416
 LMEECutLibRemi.C:417
 LMEECutLibRemi.C:418
 LMEECutLibRemi.C:419
 LMEECutLibRemi.C:420
 LMEECutLibRemi.C:421
 LMEECutLibRemi.C:422
 LMEECutLibRemi.C:423
 LMEECutLibRemi.C:424
 LMEECutLibRemi.C:425
 LMEECutLibRemi.C:426
 LMEECutLibRemi.C:427
 LMEECutLibRemi.C:428
 LMEECutLibRemi.C:429
 LMEECutLibRemi.C:430
 LMEECutLibRemi.C:431
 LMEECutLibRemi.C:432
 LMEECutLibRemi.C:433
 LMEECutLibRemi.C:434
 LMEECutLibRemi.C:435
 LMEECutLibRemi.C:436
 LMEECutLibRemi.C:437
 LMEECutLibRemi.C:438
 LMEECutLibRemi.C:439
 LMEECutLibRemi.C:440
 LMEECutLibRemi.C:441
 LMEECutLibRemi.C:442
 LMEECutLibRemi.C:443
 LMEECutLibRemi.C:444
 LMEECutLibRemi.C:445
 LMEECutLibRemi.C:446
 LMEECutLibRemi.C:447
 LMEECutLibRemi.C:448
 LMEECutLibRemi.C:449
 LMEECutLibRemi.C:450
 LMEECutLibRemi.C:451
 LMEECutLibRemi.C:452
 LMEECutLibRemi.C:453
 LMEECutLibRemi.C:454
 LMEECutLibRemi.C:455
 LMEECutLibRemi.C:456
 LMEECutLibRemi.C:457
 LMEECutLibRemi.C:458
 LMEECutLibRemi.C:459
 LMEECutLibRemi.C:460
 LMEECutLibRemi.C:461
 LMEECutLibRemi.C:462
 LMEECutLibRemi.C:463
 LMEECutLibRemi.C:464
 LMEECutLibRemi.C:465
 LMEECutLibRemi.C:466
 LMEECutLibRemi.C:467
 LMEECutLibRemi.C:468
 LMEECutLibRemi.C:469
 LMEECutLibRemi.C:470
 LMEECutLibRemi.C:471
 LMEECutLibRemi.C:472
 LMEECutLibRemi.C:473
 LMEECutLibRemi.C:474
 LMEECutLibRemi.C:475
 LMEECutLibRemi.C:476
 LMEECutLibRemi.C:477
 LMEECutLibRemi.C:478
 LMEECutLibRemi.C:479
 LMEECutLibRemi.C:480
 LMEECutLibRemi.C:481
 LMEECutLibRemi.C:482
 LMEECutLibRemi.C:483
 LMEECutLibRemi.C:484
 LMEECutLibRemi.C:485
 LMEECutLibRemi.C:486
 LMEECutLibRemi.C:487
 LMEECutLibRemi.C:488
 LMEECutLibRemi.C:489
 LMEECutLibRemi.C:490
 LMEECutLibRemi.C:491
 LMEECutLibRemi.C:492
 LMEECutLibRemi.C:493
 LMEECutLibRemi.C:494
 LMEECutLibRemi.C:495
 LMEECutLibRemi.C:496
 LMEECutLibRemi.C:497
 LMEECutLibRemi.C:498
 LMEECutLibRemi.C:499
 LMEECutLibRemi.C:500
 LMEECutLibRemi.C:501
 LMEECutLibRemi.C:502
 LMEECutLibRemi.C:503
 LMEECutLibRemi.C:504
 LMEECutLibRemi.C:505
 LMEECutLibRemi.C:506
 LMEECutLibRemi.C:507
 LMEECutLibRemi.C:508
 LMEECutLibRemi.C:509
 LMEECutLibRemi.C:510
 LMEECutLibRemi.C:511
 LMEECutLibRemi.C:512
 LMEECutLibRemi.C:513
 LMEECutLibRemi.C:514
 LMEECutLibRemi.C:515
 LMEECutLibRemi.C:516
 LMEECutLibRemi.C:517
 LMEECutLibRemi.C:518
 LMEECutLibRemi.C:519
 LMEECutLibRemi.C:520
 LMEECutLibRemi.C:521
 LMEECutLibRemi.C:522
 LMEECutLibRemi.C:523
 LMEECutLibRemi.C:524
 LMEECutLibRemi.C:525
 LMEECutLibRemi.C:526
 LMEECutLibRemi.C:527
 LMEECutLibRemi.C:528
 LMEECutLibRemi.C:529
 LMEECutLibRemi.C:530
 LMEECutLibRemi.C:531
 LMEECutLibRemi.C:532
 LMEECutLibRemi.C:533
 LMEECutLibRemi.C:534
 LMEECutLibRemi.C:535
 LMEECutLibRemi.C:536
 LMEECutLibRemi.C:537
 LMEECutLibRemi.C:538
 LMEECutLibRemi.C:539
 LMEECutLibRemi.C:540
 LMEECutLibRemi.C:541
 LMEECutLibRemi.C:542
 LMEECutLibRemi.C:543
 LMEECutLibRemi.C:544
 LMEECutLibRemi.C:545
 LMEECutLibRemi.C:546
 LMEECutLibRemi.C:547
 LMEECutLibRemi.C:548
 LMEECutLibRemi.C:549
 LMEECutLibRemi.C:550
 LMEECutLibRemi.C:551
 LMEECutLibRemi.C:552
 LMEECutLibRemi.C:553
 LMEECutLibRemi.C:554
 LMEECutLibRemi.C:555
 LMEECutLibRemi.C:556
 LMEECutLibRemi.C:557
 LMEECutLibRemi.C:558
 LMEECutLibRemi.C:559
 LMEECutLibRemi.C:560
 LMEECutLibRemi.C:561
 LMEECutLibRemi.C:562
 LMEECutLibRemi.C:563
 LMEECutLibRemi.C:564
 LMEECutLibRemi.C:565
 LMEECutLibRemi.C:566
 LMEECutLibRemi.C:567
 LMEECutLibRemi.C:568
 LMEECutLibRemi.C:569
 LMEECutLibRemi.C:570
 LMEECutLibRemi.C:571
 LMEECutLibRemi.C:572
 LMEECutLibRemi.C:573
 LMEECutLibRemi.C:574
 LMEECutLibRemi.C:575
 LMEECutLibRemi.C:576
 LMEECutLibRemi.C:577
 LMEECutLibRemi.C:578
 LMEECutLibRemi.C:579
 LMEECutLibRemi.C:580
 LMEECutLibRemi.C:581
 LMEECutLibRemi.C:582
 LMEECutLibRemi.C:583
 LMEECutLibRemi.C:584
 LMEECutLibRemi.C:585
 LMEECutLibRemi.C:586
 LMEECutLibRemi.C:587
 LMEECutLibRemi.C:588
 LMEECutLibRemi.C:589
 LMEECutLibRemi.C:590
 LMEECutLibRemi.C:591
 LMEECutLibRemi.C:592
 LMEECutLibRemi.C:593
 LMEECutLibRemi.C:594
 LMEECutLibRemi.C:595
 LMEECutLibRemi.C:596
 LMEECutLibRemi.C:597
 LMEECutLibRemi.C:598
 LMEECutLibRemi.C:599
 LMEECutLibRemi.C:600
 LMEECutLibRemi.C:601
 LMEECutLibRemi.C:602
 LMEECutLibRemi.C:603
 LMEECutLibRemi.C:604
 LMEECutLibRemi.C:605
 LMEECutLibRemi.C:606
 LMEECutLibRemi.C:607
 LMEECutLibRemi.C:608
 LMEECutLibRemi.C:609
 LMEECutLibRemi.C:610
 LMEECutLibRemi.C:611
 LMEECutLibRemi.C:612
 LMEECutLibRemi.C:613
 LMEECutLibRemi.C:614
 LMEECutLibRemi.C:615
 LMEECutLibRemi.C:616
 LMEECutLibRemi.C:617
 LMEECutLibRemi.C:618
 LMEECutLibRemi.C:619
 LMEECutLibRemi.C:620
 LMEECutLibRemi.C:621
 LMEECutLibRemi.C:622
 LMEECutLibRemi.C:623
 LMEECutLibRemi.C:624
 LMEECutLibRemi.C:625
 LMEECutLibRemi.C:626
 LMEECutLibRemi.C:627
 LMEECutLibRemi.C:628
 LMEECutLibRemi.C:629
 LMEECutLibRemi.C:630
 LMEECutLibRemi.C:631
 LMEECutLibRemi.C:632
 LMEECutLibRemi.C:633
 LMEECutLibRemi.C:634
 LMEECutLibRemi.C:635
 LMEECutLibRemi.C:636
 LMEECutLibRemi.C:637
 LMEECutLibRemi.C:638
 LMEECutLibRemi.C:639
 LMEECutLibRemi.C:640
 LMEECutLibRemi.C:641
 LMEECutLibRemi.C:642
 LMEECutLibRemi.C:643
 LMEECutLibRemi.C:644
 LMEECutLibRemi.C:645
 LMEECutLibRemi.C:646
 LMEECutLibRemi.C:647
 LMEECutLibRemi.C:648
 LMEECutLibRemi.C:649
 LMEECutLibRemi.C:650
 LMEECutLibRemi.C:651
 LMEECutLibRemi.C:652
 LMEECutLibRemi.C:653
 LMEECutLibRemi.C:654
 LMEECutLibRemi.C:655
 LMEECutLibRemi.C:656
 LMEECutLibRemi.C:657
 LMEECutLibRemi.C:658
 LMEECutLibRemi.C:659
 LMEECutLibRemi.C:660
 LMEECutLibRemi.C:661
 LMEECutLibRemi.C:662
 LMEECutLibRemi.C:663
 LMEECutLibRemi.C:664
 LMEECutLibRemi.C:665
 LMEECutLibRemi.C:666
 LMEECutLibRemi.C:667
 LMEECutLibRemi.C:668
 LMEECutLibRemi.C:669
 LMEECutLibRemi.C:670
 LMEECutLibRemi.C:671
 LMEECutLibRemi.C:672
 LMEECutLibRemi.C:673
 LMEECutLibRemi.C:674
 LMEECutLibRemi.C:675
 LMEECutLibRemi.C:676
 LMEECutLibRemi.C:677
 LMEECutLibRemi.C:678
 LMEECutLibRemi.C:679
 LMEECutLibRemi.C:680
 LMEECutLibRemi.C:681
 LMEECutLibRemi.C:682
 LMEECutLibRemi.C:683
 LMEECutLibRemi.C:684
 LMEECutLibRemi.C:685
 LMEECutLibRemi.C:686
 LMEECutLibRemi.C:687
 LMEECutLibRemi.C:688
 LMEECutLibRemi.C:689
 LMEECutLibRemi.C:690
 LMEECutLibRemi.C:691
 LMEECutLibRemi.C:692
 LMEECutLibRemi.C:693
 LMEECutLibRemi.C:694
 LMEECutLibRemi.C:695
 LMEECutLibRemi.C:696
 LMEECutLibRemi.C:697
 LMEECutLibRemi.C:698
 LMEECutLibRemi.C:699
 LMEECutLibRemi.C:700
 LMEECutLibRemi.C:701
 LMEECutLibRemi.C:702
 LMEECutLibRemi.C:703
 LMEECutLibRemi.C:704
 LMEECutLibRemi.C:705
 LMEECutLibRemi.C:706
 LMEECutLibRemi.C:707
 LMEECutLibRemi.C:708
 LMEECutLibRemi.C:709
 LMEECutLibRemi.C:710
 LMEECutLibRemi.C:711
 LMEECutLibRemi.C:712
 LMEECutLibRemi.C:713
 LMEECutLibRemi.C:714
 LMEECutLibRemi.C:715
 LMEECutLibRemi.C:716
 LMEECutLibRemi.C:717
 LMEECutLibRemi.C:718
 LMEECutLibRemi.C:719
 LMEECutLibRemi.C:720
 LMEECutLibRemi.C:721
 LMEECutLibRemi.C:722
 LMEECutLibRemi.C:723
 LMEECutLibRemi.C:724
 LMEECutLibRemi.C:725
 LMEECutLibRemi.C:726
 LMEECutLibRemi.C:727
 LMEECutLibRemi.C:728
 LMEECutLibRemi.C:729
 LMEECutLibRemi.C:730
 LMEECutLibRemi.C:731
 LMEECutLibRemi.C:732
 LMEECutLibRemi.C:733
 LMEECutLibRemi.C:734
 LMEECutLibRemi.C:735
 LMEECutLibRemi.C:736
 LMEECutLibRemi.C:737
 LMEECutLibRemi.C:738
 LMEECutLibRemi.C:739
 LMEECutLibRemi.C:740
 LMEECutLibRemi.C:741
 LMEECutLibRemi.C:742
 LMEECutLibRemi.C:743
 LMEECutLibRemi.C:744
 LMEECutLibRemi.C:745
 LMEECutLibRemi.C:746
 LMEECutLibRemi.C:747
 LMEECutLibRemi.C:748
 LMEECutLibRemi.C:749
 LMEECutLibRemi.C:750
 LMEECutLibRemi.C:751
 LMEECutLibRemi.C:752
 LMEECutLibRemi.C:753
 LMEECutLibRemi.C:754
 LMEECutLibRemi.C:755
 LMEECutLibRemi.C:756
 LMEECutLibRemi.C:757
 LMEECutLibRemi.C:758
 LMEECutLibRemi.C:759
 LMEECutLibRemi.C:760
 LMEECutLibRemi.C:761
 LMEECutLibRemi.C:762
 LMEECutLibRemi.C:763
 LMEECutLibRemi.C:764
 LMEECutLibRemi.C:765
 LMEECutLibRemi.C:766
 LMEECutLibRemi.C:767
 LMEECutLibRemi.C:768
 LMEECutLibRemi.C:769
 LMEECutLibRemi.C:770
 LMEECutLibRemi.C:771
 LMEECutLibRemi.C:772
 LMEECutLibRemi.C:773
 LMEECutLibRemi.C:774
 LMEECutLibRemi.C:775
 LMEECutLibRemi.C:776
 LMEECutLibRemi.C:777
 LMEECutLibRemi.C:778
 LMEECutLibRemi.C:779
 LMEECutLibRemi.C:780
 LMEECutLibRemi.C:781
 LMEECutLibRemi.C:782
 LMEECutLibRemi.C:783
 LMEECutLibRemi.C:784
 LMEECutLibRemi.C:785
 LMEECutLibRemi.C:786
 LMEECutLibRemi.C:787
 LMEECutLibRemi.C:788
 LMEECutLibRemi.C:789
 LMEECutLibRemi.C:790
 LMEECutLibRemi.C:791
 LMEECutLibRemi.C:792
 LMEECutLibRemi.C:793
 LMEECutLibRemi.C:794
 LMEECutLibRemi.C:795
 LMEECutLibRemi.C:796
 LMEECutLibRemi.C:797
 LMEECutLibRemi.C:798
 LMEECutLibRemi.C:799
 LMEECutLibRemi.C:800
 LMEECutLibRemi.C:801
 LMEECutLibRemi.C:802
 LMEECutLibRemi.C:803
 LMEECutLibRemi.C:804
 LMEECutLibRemi.C:805
 LMEECutLibRemi.C:806
 LMEECutLibRemi.C:807
 LMEECutLibRemi.C:808
 LMEECutLibRemi.C:809
 LMEECutLibRemi.C:810
 LMEECutLibRemi.C:811
 LMEECutLibRemi.C:812
 LMEECutLibRemi.C:813
 LMEECutLibRemi.C:814
 LMEECutLibRemi.C:815
 LMEECutLibRemi.C:816
 LMEECutLibRemi.C:817
 LMEECutLibRemi.C:818
 LMEECutLibRemi.C:819
 LMEECutLibRemi.C:820
 LMEECutLibRemi.C:821
 LMEECutLibRemi.C:822
 LMEECutLibRemi.C:823
 LMEECutLibRemi.C:824
 LMEECutLibRemi.C:825
 LMEECutLibRemi.C:826
 LMEECutLibRemi.C:827
 LMEECutLibRemi.C:828
 LMEECutLibRemi.C:829
 LMEECutLibRemi.C:830
 LMEECutLibRemi.C:831
 LMEECutLibRemi.C:832
 LMEECutLibRemi.C:833