ROOT logo
class LMEECutLibAsako {

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,
	kCUTSETMAX
  };

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

  static  enum LMEEPairCutSet{
	kPbPb2011RP,
	kPbPb2011Mag,
	//kPbPb2011RPxy,
	//kPbPb2011RPxz,

	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* GetPairCutsInOut(Int_t cutSet);
  AliAnalysisCuts* GetPairCuts4(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  :
	  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->SetRequireVertex();
	  eventCuts->SetMinVtxContributors(1);
	  eventCuts->SetVertexZ(-10.,10.);
	  break;
	default: cout << "No Event Cut defined" << endl;
	}
	return eventCuts;
  }

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


  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  :
	  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  :
	  /*
		  mixingHandler = new AliDielectronMixingHandler;
		      mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
			    mixingHandler->AddVariable(AliDielectronVarManager::kCentrality,"0,5,10,20,40,80");
				    mixingHandler->SetDepth(25);
					  mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
					      break;
	  */
	case kPbPb2011NoPID:
	case kPbPb2011TPCandTOF :
	case kPbPb2011TPCandTOFHPT:
	case kPbPb2011TPC :
	case kPbPb2011TPCandTOFwide :
	  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(50);
	  //mixingHandler->SetDepth(15);
	  mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
	  break;
	case kpp2010TPCandTOF :
	case kpp2010TPCorTOF  :
	  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;
  }


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

	// + [2] added for Dec2010 Cut! 
	TF1 *lowerCut = new TF1("lowerCut", "[0] * TMath::Exp([1]*x) + [2]", 0, 20);
	/* until Nov2010
	       lowerCut->SetParameter(0, -2.7);
		    lowerCut->SetParameter(1, -0.4357);
	*/
	/* 18.01.2011 ALiHFEpid.cxx */
	lowerCut->SetParameter(0,-3.7);
	lowerCut->SetParameter(1,-0.8);
	lowerCut->SetParameter(2,-0.35);

	if (MCenabled) { //overwrite parameters
	  lowerCut->SetParameter(0,-2.5);
	  lowerCut->SetParameter(2,-2.2);
	}

	//---------------------------------------------
	AliDielectronPID *pidTPCTOFeOnly = new AliDielectronPID("TPC-TOF","TPC-TOF");
	pidTPCTOFeOnly->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3,3.,0.0,100.,kFALSE);
	pidTPCTOFeOnly->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );


	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 , 100., kFALSE );

	AliDielectronPID *pidTPChardTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
	pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,lowerCut,3.,0.0,100.,kFALSE);
	pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE);
	pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE);
	pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE);
	pidTPChardTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
	//___________________________________________
	AliDielectronPID *pidTT = new AliDielectronPID("TPC-TOF","TPC-TOF");
	pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,0.4,kFALSE);
	pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3,3.,0.4,100.,kFALSE);
	pidTT->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.2 , 100., kFALSE );

	pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE);
	pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE);
	pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE);
	//___________________________________________
	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.); 
	}
	//___________________________________________

	AliDielectronVarCuts *pidTPCsignalWide = new AliDielectronVarCuts("pidTPCsignalWide","cut on the TPC signal");
	pidTPCsignalWide->AddCut(AliDielectronVarManager::kTPCsignal,75.,90.);


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

	AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("P>.4","P>.4");
	pTPC->AddCut(AliDielectronVarManager::kPt,.4,2.0);
	  
	AliDielectronVarCuts *pMin = new AliDielectronVarCuts("P>.2","P>.2");
	pMin->AddCut(AliDielectronVarManager::kPt,.2,2.5);

	switch (cutSet) {
	case kPbPb2011NoPID:
	  AliDielectronCutGroup* cgSecondTrackFilterNoPID = new AliDielectronCutGroup("cgNoPID","cgNoPID",AliDielectronCutGroup::kCompAND);
	  cgSecondTrackFilterNoPID->AddCut(pTPC);
	  anaCuts= cgSecondTrackFilterNoPID;
	  break;
	case kPbPb2011TPCandTOFHPT:
	  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
	  cgSecondTrackFilterPIDTPC1->AddCut(pTPCHPT);
	  cgSecondTrackFilterPIDTPC1->AddCut(pidTPCTOFeOnly);
	  cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal);
	  anaCuts = cgSecondTrackFilterPIDTPC1;

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

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

	case kPbPb2011TPCorTOF  :
	  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC2 = new AliDielectronCutGroup("cgPIDTPC2","cgPIDTPC2",AliDielectronCutGroup::kCompAND);
	  cgSecondTrackFilterPIDTPC2->AddCut(pMin);
	  cgSecondTrackFilterPIDTPC2->AddCut(pidTT);
	  cgSecondTrackFilterPIDTPC2->AddCut(pidTPCsignal);
	  anaCuts = cgSecondTrackFilterPIDTPC2;
	  break;

	case kpp2010TPCandTOF :
	  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
	  cgSecondTrackFilterPIDTPC->AddCut(pTPC);
	  //cgSecondTrackFilterPIDTPC->AddCut(pidTPChardTOF);
	  cgSecondTrackFilterPIDTPC->AddCut(pidTPCTOFeOnly);
	  anaCuts = cgSecondTrackFilterPIDTPC;
	  break;
	case kpp2010TPCorTOF  :
	  AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
	  cgSecondTrackFilterPIDTPC->AddCut(pMin);
	  cgSecondTrackFilterPIDTPC->AddCut(pidTT);
	  anaCuts = cgSecondTrackFilterPIDTPC;
	  break;
	default: cout << "No Analysis PID Cut defined " << endl;
	}
	return anaCuts;
  }

  AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet) {
	AliAnalysisCuts* anaCuts=0x0;
	switch (cutSet) {
	case kPbPb2011NoPID:
	case kPbPb2011TPCandTOF :
	case kPbPb2011TPCandTOFHPT:
	case kPbPb2011TPC :
	case kPbPb2011TPCandTOFwide :
	case kPbPb2011TPCorTOF  :
	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.);
	  cgITSTPC->AddCut(pidITSTPC);


	  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);
	  //  cgITSSA->AddCut(GetTrackCutsPre(cutSet));

	  AliDielectronCutGroup* cgInitialTrackFilter = new AliDielectronCutGroup("cgInitialTrackFilter","cgInitialTrackFilter",AliDielectronCutGroup::kCompOR);
	  cgInitialTrackFilter->AddCut(cgITSTPC);
	  cgInitialTrackFilter->AddCut(cgITSSA);
	  anaCuts = cgInitialTrackFilter;
	  break;
	default: cout << "No Pre-PID Cut defined " << endl;
	}
	return anaCuts;
  }



  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.3); 
		pairCutsInvMgood =new AliDielectronVarCuts("InvM Cuts good","InvM>0.3");
		pairCutsInvMgood->AddCut(AliDielectronVarManager::kM, 0.3, 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;
  }


  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* pairCutsInvM =new AliDielectronVarCuts("InvM Cuts","InvM<0.3");
	  pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.3); 
	  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* 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;
  }


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

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






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

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

  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;
	default: cout << "No Analysis Track Cut defined " << endl;
	}
	return trackCuts;
  } 

  AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet) {
	AliESDtrackCuts* trackCuts=0x0;
	switch (cutSet) {
	case kPbPb2011NoPID:
	case kPbPb2011TPCandTOF :
	case kPbPb2011TPCandTOFHPT:
	case kPbPb2011TPCorTOF  :
	case kpp2010TPCandTOF :
	case kpp2010TPCorTOF  :
	  /*
		trackCuts = new AliESDtrackCuts();
		trackCuts->SetDCAToVertex2D(kTRUE);
		trackCuts->SetMaxDCAToVertexZ(3.0);
		trackCuts->SetMaxDCAToVertexXY(1.0);
		  trackCuts->SetEtaRange( -0.84 , 0.84 );
		      trackCuts->SetPtRange(  0.05 , 0.5);
			    trackCuts->SetAcceptKinkDaughters(kFALSE);
				    trackCuts->SetRequireITSRefit(kTRUE);
					  trackCuts->SetRequireITSStandAlone(kTRUE);
					      trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
						    trackCuts->SetMinNClustersITS(3); //PhotonGroup-Dalitz: 2?!
	  */
	  cout << "No Pre-Track Cut defined for AODs at the moment " << endl;
	  break;
	default: cout << "No Pre-Track Cut defined " << endl;
	}
	return trackCuts;
  }

};


 LMEECutLibAsako.C:1
 LMEECutLibAsako.C:2
 LMEECutLibAsako.C:3
 LMEECutLibAsako.C:4
 LMEECutLibAsako.C:5
 LMEECutLibAsako.C:6
 LMEECutLibAsako.C:7
 LMEECutLibAsako.C:8
 LMEECutLibAsako.C:9
 LMEECutLibAsako.C:10
 LMEECutLibAsako.C:11
 LMEECutLibAsako.C:12
 LMEECutLibAsako.C:13
 LMEECutLibAsako.C:14
 LMEECutLibAsako.C:15
 LMEECutLibAsako.C:16
 LMEECutLibAsako.C:17
 LMEECutLibAsako.C:18
 LMEECutLibAsako.C:19
 LMEECutLibAsako.C:20
 LMEECutLibAsako.C:21
 LMEECutLibAsako.C:22
 LMEECutLibAsako.C:23
 LMEECutLibAsako.C:24
 LMEECutLibAsako.C:25
 LMEECutLibAsako.C:26
 LMEECutLibAsako.C:27
 LMEECutLibAsako.C:28
 LMEECutLibAsako.C:29
 LMEECutLibAsako.C:30
 LMEECutLibAsako.C:31
 LMEECutLibAsako.C:32
 LMEECutLibAsako.C:33
 LMEECutLibAsako.C:34
 LMEECutLibAsako.C:35
 LMEECutLibAsako.C:36
 LMEECutLibAsako.C:37
 LMEECutLibAsako.C:38
 LMEECutLibAsako.C:39
 LMEECutLibAsako.C:40
 LMEECutLibAsako.C:41
 LMEECutLibAsako.C:42
 LMEECutLibAsako.C:43
 LMEECutLibAsako.C:44
 LMEECutLibAsako.C:45
 LMEECutLibAsako.C:46
 LMEECutLibAsako.C:47
 LMEECutLibAsako.C:48
 LMEECutLibAsako.C:49
 LMEECutLibAsako.C:50
 LMEECutLibAsako.C:51
 LMEECutLibAsako.C:52
 LMEECutLibAsako.C:53
 LMEECutLibAsako.C:54
 LMEECutLibAsako.C:55
 LMEECutLibAsako.C:56
 LMEECutLibAsako.C:57
 LMEECutLibAsako.C:58
 LMEECutLibAsako.C:59
 LMEECutLibAsako.C:60
 LMEECutLibAsako.C:61
 LMEECutLibAsako.C:62
 LMEECutLibAsako.C:63
 LMEECutLibAsako.C:64
 LMEECutLibAsako.C:65
 LMEECutLibAsako.C:66
 LMEECutLibAsako.C:67
 LMEECutLibAsako.C:68
 LMEECutLibAsako.C:69
 LMEECutLibAsako.C:70
 LMEECutLibAsako.C:71
 LMEECutLibAsako.C:72
 LMEECutLibAsako.C:73
 LMEECutLibAsako.C:74
 LMEECutLibAsako.C:75
 LMEECutLibAsako.C:76
 LMEECutLibAsako.C:77
 LMEECutLibAsako.C:78
 LMEECutLibAsako.C:79
 LMEECutLibAsako.C:80
 LMEECutLibAsako.C:81
 LMEECutLibAsako.C:82
 LMEECutLibAsako.C:83
 LMEECutLibAsako.C:84
 LMEECutLibAsako.C:85
 LMEECutLibAsako.C:86
 LMEECutLibAsako.C:87
 LMEECutLibAsako.C:88
 LMEECutLibAsako.C:89
 LMEECutLibAsako.C:90
 LMEECutLibAsako.C:91
 LMEECutLibAsako.C:92
 LMEECutLibAsako.C:93
 LMEECutLibAsako.C:94
 LMEECutLibAsako.C:95
 LMEECutLibAsako.C:96
 LMEECutLibAsako.C:97
 LMEECutLibAsako.C:98
 LMEECutLibAsako.C:99
 LMEECutLibAsako.C:100
 LMEECutLibAsako.C:101
 LMEECutLibAsako.C:102
 LMEECutLibAsako.C:103
 LMEECutLibAsako.C:104
 LMEECutLibAsako.C:105
 LMEECutLibAsako.C:106
 LMEECutLibAsako.C:107
 LMEECutLibAsako.C:108
 LMEECutLibAsako.C:109
 LMEECutLibAsako.C:110
 LMEECutLibAsako.C:111
 LMEECutLibAsako.C:112
 LMEECutLibAsako.C:113
 LMEECutLibAsako.C:114
 LMEECutLibAsako.C:115
 LMEECutLibAsako.C:116
 LMEECutLibAsako.C:117
 LMEECutLibAsako.C:118
 LMEECutLibAsako.C:119
 LMEECutLibAsako.C:120
 LMEECutLibAsako.C:121
 LMEECutLibAsako.C:122
 LMEECutLibAsako.C:123
 LMEECutLibAsako.C:124
 LMEECutLibAsako.C:125
 LMEECutLibAsako.C:126
 LMEECutLibAsako.C:127
 LMEECutLibAsako.C:128
 LMEECutLibAsako.C:129
 LMEECutLibAsako.C:130
 LMEECutLibAsako.C:131
 LMEECutLibAsako.C:132
 LMEECutLibAsako.C:133
 LMEECutLibAsako.C:134
 LMEECutLibAsako.C:135
 LMEECutLibAsako.C:136
 LMEECutLibAsako.C:137
 LMEECutLibAsako.C:138
 LMEECutLibAsako.C:139
 LMEECutLibAsako.C:140
 LMEECutLibAsako.C:141
 LMEECutLibAsako.C:142
 LMEECutLibAsako.C:143
 LMEECutLibAsako.C:144
 LMEECutLibAsako.C:145
 LMEECutLibAsako.C:146
 LMEECutLibAsako.C:147
 LMEECutLibAsako.C:148
 LMEECutLibAsako.C:149
 LMEECutLibAsako.C:150
 LMEECutLibAsako.C:151
 LMEECutLibAsako.C:152
 LMEECutLibAsako.C:153
 LMEECutLibAsako.C:154
 LMEECutLibAsako.C:155
 LMEECutLibAsako.C:156
 LMEECutLibAsako.C:157
 LMEECutLibAsako.C:158
 LMEECutLibAsako.C:159
 LMEECutLibAsako.C:160
 LMEECutLibAsako.C:161
 LMEECutLibAsako.C:162
 LMEECutLibAsako.C:163
 LMEECutLibAsako.C:164
 LMEECutLibAsako.C:165
 LMEECutLibAsako.C:166
 LMEECutLibAsako.C:167
 LMEECutLibAsako.C:168
 LMEECutLibAsako.C:169
 LMEECutLibAsako.C:170
 LMEECutLibAsako.C:171
 LMEECutLibAsako.C:172
 LMEECutLibAsako.C:173
 LMEECutLibAsako.C:174
 LMEECutLibAsako.C:175
 LMEECutLibAsako.C:176
 LMEECutLibAsako.C:177
 LMEECutLibAsako.C:178
 LMEECutLibAsako.C:179
 LMEECutLibAsako.C:180
 LMEECutLibAsako.C:181
 LMEECutLibAsako.C:182
 LMEECutLibAsako.C:183
 LMEECutLibAsako.C:184
 LMEECutLibAsako.C:185
 LMEECutLibAsako.C:186
 LMEECutLibAsako.C:187
 LMEECutLibAsako.C:188
 LMEECutLibAsako.C:189
 LMEECutLibAsako.C:190
 LMEECutLibAsako.C:191
 LMEECutLibAsako.C:192
 LMEECutLibAsako.C:193
 LMEECutLibAsako.C:194
 LMEECutLibAsako.C:195
 LMEECutLibAsako.C:196
 LMEECutLibAsako.C:197
 LMEECutLibAsako.C:198
 LMEECutLibAsako.C:199
 LMEECutLibAsako.C:200
 LMEECutLibAsako.C:201
 LMEECutLibAsako.C:202
 LMEECutLibAsako.C:203
 LMEECutLibAsako.C:204
 LMEECutLibAsako.C:205
 LMEECutLibAsako.C:206
 LMEECutLibAsako.C:207
 LMEECutLibAsako.C:208
 LMEECutLibAsako.C:209
 LMEECutLibAsako.C:210
 LMEECutLibAsako.C:211
 LMEECutLibAsako.C:212
 LMEECutLibAsako.C:213
 LMEECutLibAsako.C:214
 LMEECutLibAsako.C:215
 LMEECutLibAsako.C:216
 LMEECutLibAsako.C:217
 LMEECutLibAsako.C:218
 LMEECutLibAsako.C:219
 LMEECutLibAsako.C:220
 LMEECutLibAsako.C:221
 LMEECutLibAsako.C:222
 LMEECutLibAsako.C:223
 LMEECutLibAsako.C:224
 LMEECutLibAsako.C:225
 LMEECutLibAsako.C:226
 LMEECutLibAsako.C:227
 LMEECutLibAsako.C:228
 LMEECutLibAsako.C:229
 LMEECutLibAsako.C:230
 LMEECutLibAsako.C:231
 LMEECutLibAsako.C:232
 LMEECutLibAsako.C:233
 LMEECutLibAsako.C:234
 LMEECutLibAsako.C:235
 LMEECutLibAsako.C:236
 LMEECutLibAsako.C:237
 LMEECutLibAsako.C:238
 LMEECutLibAsako.C:239
 LMEECutLibAsako.C:240
 LMEECutLibAsako.C:241
 LMEECutLibAsako.C:242
 LMEECutLibAsako.C:243
 LMEECutLibAsako.C:244
 LMEECutLibAsako.C:245
 LMEECutLibAsako.C:246
 LMEECutLibAsako.C:247
 LMEECutLibAsako.C:248
 LMEECutLibAsako.C:249
 LMEECutLibAsako.C:250
 LMEECutLibAsako.C:251
 LMEECutLibAsako.C:252
 LMEECutLibAsako.C:253
 LMEECutLibAsako.C:254
 LMEECutLibAsako.C:255
 LMEECutLibAsako.C:256
 LMEECutLibAsako.C:257
 LMEECutLibAsako.C:258
 LMEECutLibAsako.C:259
 LMEECutLibAsako.C:260
 LMEECutLibAsako.C:261
 LMEECutLibAsako.C:262
 LMEECutLibAsako.C:263
 LMEECutLibAsako.C:264
 LMEECutLibAsako.C:265
 LMEECutLibAsako.C:266
 LMEECutLibAsako.C:267
 LMEECutLibAsako.C:268
 LMEECutLibAsako.C:269
 LMEECutLibAsako.C:270
 LMEECutLibAsako.C:271
 LMEECutLibAsako.C:272
 LMEECutLibAsako.C:273
 LMEECutLibAsako.C:274
 LMEECutLibAsako.C:275
 LMEECutLibAsako.C:276
 LMEECutLibAsako.C:277
 LMEECutLibAsako.C:278
 LMEECutLibAsako.C:279
 LMEECutLibAsako.C:280
 LMEECutLibAsako.C:281
 LMEECutLibAsako.C:282
 LMEECutLibAsako.C:283
 LMEECutLibAsako.C:284
 LMEECutLibAsako.C:285
 LMEECutLibAsako.C:286
 LMEECutLibAsako.C:287
 LMEECutLibAsako.C:288
 LMEECutLibAsako.C:289
 LMEECutLibAsako.C:290
 LMEECutLibAsako.C:291
 LMEECutLibAsako.C:292
 LMEECutLibAsako.C:293
 LMEECutLibAsako.C:294
 LMEECutLibAsako.C:295
 LMEECutLibAsako.C:296
 LMEECutLibAsako.C:297
 LMEECutLibAsako.C:298
 LMEECutLibAsako.C:299
 LMEECutLibAsako.C:300
 LMEECutLibAsako.C:301
 LMEECutLibAsako.C:302
 LMEECutLibAsako.C:303
 LMEECutLibAsako.C:304
 LMEECutLibAsako.C:305
 LMEECutLibAsako.C:306
 LMEECutLibAsako.C:307
 LMEECutLibAsako.C:308
 LMEECutLibAsako.C:309
 LMEECutLibAsako.C:310
 LMEECutLibAsako.C:311
 LMEECutLibAsako.C:312
 LMEECutLibAsako.C:313
 LMEECutLibAsako.C:314
 LMEECutLibAsako.C:315
 LMEECutLibAsako.C:316
 LMEECutLibAsako.C:317
 LMEECutLibAsako.C:318
 LMEECutLibAsako.C:319
 LMEECutLibAsako.C:320
 LMEECutLibAsako.C:321
 LMEECutLibAsako.C:322
 LMEECutLibAsako.C:323
 LMEECutLibAsako.C:324
 LMEECutLibAsako.C:325
 LMEECutLibAsako.C:326
 LMEECutLibAsako.C:327
 LMEECutLibAsako.C:328
 LMEECutLibAsako.C:329
 LMEECutLibAsako.C:330
 LMEECutLibAsako.C:331
 LMEECutLibAsako.C:332
 LMEECutLibAsako.C:333
 LMEECutLibAsako.C:334
 LMEECutLibAsako.C:335
 LMEECutLibAsako.C:336
 LMEECutLibAsako.C:337
 LMEECutLibAsako.C:338
 LMEECutLibAsako.C:339
 LMEECutLibAsako.C:340
 LMEECutLibAsako.C:341
 LMEECutLibAsako.C:342
 LMEECutLibAsako.C:343
 LMEECutLibAsako.C:344
 LMEECutLibAsako.C:345
 LMEECutLibAsako.C:346
 LMEECutLibAsako.C:347
 LMEECutLibAsako.C:348
 LMEECutLibAsako.C:349
 LMEECutLibAsako.C:350
 LMEECutLibAsako.C:351
 LMEECutLibAsako.C:352
 LMEECutLibAsako.C:353
 LMEECutLibAsako.C:354
 LMEECutLibAsako.C:355
 LMEECutLibAsako.C:356
 LMEECutLibAsako.C:357
 LMEECutLibAsako.C:358
 LMEECutLibAsako.C:359
 LMEECutLibAsako.C:360
 LMEECutLibAsako.C:361
 LMEECutLibAsako.C:362
 LMEECutLibAsako.C:363
 LMEECutLibAsako.C:364
 LMEECutLibAsako.C:365
 LMEECutLibAsako.C:366
 LMEECutLibAsako.C:367
 LMEECutLibAsako.C:368
 LMEECutLibAsako.C:369
 LMEECutLibAsako.C:370
 LMEECutLibAsako.C:371
 LMEECutLibAsako.C:372
 LMEECutLibAsako.C:373
 LMEECutLibAsako.C:374
 LMEECutLibAsako.C:375
 LMEECutLibAsako.C:376
 LMEECutLibAsako.C:377
 LMEECutLibAsako.C:378
 LMEECutLibAsako.C:379
 LMEECutLibAsako.C:380
 LMEECutLibAsako.C:381
 LMEECutLibAsako.C:382
 LMEECutLibAsako.C:383
 LMEECutLibAsako.C:384
 LMEECutLibAsako.C:385
 LMEECutLibAsako.C:386
 LMEECutLibAsako.C:387
 LMEECutLibAsako.C:388
 LMEECutLibAsako.C:389
 LMEECutLibAsako.C:390
 LMEECutLibAsako.C:391
 LMEECutLibAsako.C:392
 LMEECutLibAsako.C:393
 LMEECutLibAsako.C:394
 LMEECutLibAsako.C:395
 LMEECutLibAsako.C:396
 LMEECutLibAsako.C:397
 LMEECutLibAsako.C:398
 LMEECutLibAsako.C:399
 LMEECutLibAsako.C:400
 LMEECutLibAsako.C:401
 LMEECutLibAsako.C:402
 LMEECutLibAsako.C:403
 LMEECutLibAsako.C:404
 LMEECutLibAsako.C:405
 LMEECutLibAsako.C:406
 LMEECutLibAsako.C:407
 LMEECutLibAsako.C:408
 LMEECutLibAsako.C:409
 LMEECutLibAsako.C:410
 LMEECutLibAsako.C:411
 LMEECutLibAsako.C:412
 LMEECutLibAsako.C:413
 LMEECutLibAsako.C:414
 LMEECutLibAsako.C:415
 LMEECutLibAsako.C:416
 LMEECutLibAsako.C:417
 LMEECutLibAsako.C:418
 LMEECutLibAsako.C:419
 LMEECutLibAsako.C:420
 LMEECutLibAsako.C:421
 LMEECutLibAsako.C:422
 LMEECutLibAsako.C:423
 LMEECutLibAsako.C:424
 LMEECutLibAsako.C:425
 LMEECutLibAsako.C:426
 LMEECutLibAsako.C:427
 LMEECutLibAsako.C:428
 LMEECutLibAsako.C:429
 LMEECutLibAsako.C:430
 LMEECutLibAsako.C:431
 LMEECutLibAsako.C:432
 LMEECutLibAsako.C:433
 LMEECutLibAsako.C:434
 LMEECutLibAsako.C:435
 LMEECutLibAsako.C:436
 LMEECutLibAsako.C:437
 LMEECutLibAsako.C:438
 LMEECutLibAsako.C:439
 LMEECutLibAsako.C:440
 LMEECutLibAsako.C:441
 LMEECutLibAsako.C:442
 LMEECutLibAsako.C:443
 LMEECutLibAsako.C:444
 LMEECutLibAsako.C:445
 LMEECutLibAsako.C:446
 LMEECutLibAsako.C:447
 LMEECutLibAsako.C:448
 LMEECutLibAsako.C:449
 LMEECutLibAsako.C:450
 LMEECutLibAsako.C:451
 LMEECutLibAsako.C:452
 LMEECutLibAsako.C:453
 LMEECutLibAsako.C:454
 LMEECutLibAsako.C:455
 LMEECutLibAsako.C:456
 LMEECutLibAsako.C:457
 LMEECutLibAsako.C:458
 LMEECutLibAsako.C:459
 LMEECutLibAsako.C:460
 LMEECutLibAsako.C:461
 LMEECutLibAsako.C:462
 LMEECutLibAsako.C:463
 LMEECutLibAsako.C:464
 LMEECutLibAsako.C:465
 LMEECutLibAsako.C:466
 LMEECutLibAsako.C:467
 LMEECutLibAsako.C:468
 LMEECutLibAsako.C:469
 LMEECutLibAsako.C:470
 LMEECutLibAsako.C:471
 LMEECutLibAsako.C:472
 LMEECutLibAsako.C:473
 LMEECutLibAsako.C:474
 LMEECutLibAsako.C:475
 LMEECutLibAsako.C:476
 LMEECutLibAsako.C:477
 LMEECutLibAsako.C:478
 LMEECutLibAsako.C:479
 LMEECutLibAsako.C:480
 LMEECutLibAsako.C:481
 LMEECutLibAsako.C:482
 LMEECutLibAsako.C:483
 LMEECutLibAsako.C:484
 LMEECutLibAsako.C:485
 LMEECutLibAsako.C:486
 LMEECutLibAsako.C:487
 LMEECutLibAsako.C:488
 LMEECutLibAsako.C:489
 LMEECutLibAsako.C:490
 LMEECutLibAsako.C:491
 LMEECutLibAsako.C:492
 LMEECutLibAsako.C:493
 LMEECutLibAsako.C:494
 LMEECutLibAsako.C:495
 LMEECutLibAsako.C:496
 LMEECutLibAsako.C:497
 LMEECutLibAsako.C:498
 LMEECutLibAsako.C:499
 LMEECutLibAsako.C:500
 LMEECutLibAsako.C:501
 LMEECutLibAsako.C:502
 LMEECutLibAsako.C:503
 LMEECutLibAsako.C:504
 LMEECutLibAsako.C:505
 LMEECutLibAsako.C:506
 LMEECutLibAsako.C:507
 LMEECutLibAsako.C:508
 LMEECutLibAsako.C:509
 LMEECutLibAsako.C:510
 LMEECutLibAsako.C:511
 LMEECutLibAsako.C:512
 LMEECutLibAsako.C:513
 LMEECutLibAsako.C:514
 LMEECutLibAsako.C:515
 LMEECutLibAsako.C:516
 LMEECutLibAsako.C:517
 LMEECutLibAsako.C:518
 LMEECutLibAsako.C:519
 LMEECutLibAsako.C:520
 LMEECutLibAsako.C:521
 LMEECutLibAsako.C:522
 LMEECutLibAsako.C:523
 LMEECutLibAsako.C:524
 LMEECutLibAsako.C:525
 LMEECutLibAsako.C:526
 LMEECutLibAsako.C:527
 LMEECutLibAsako.C:528
 LMEECutLibAsako.C:529
 LMEECutLibAsako.C:530
 LMEECutLibAsako.C:531
 LMEECutLibAsako.C:532
 LMEECutLibAsako.C:533
 LMEECutLibAsako.C:534
 LMEECutLibAsako.C:535
 LMEECutLibAsako.C:536
 LMEECutLibAsako.C:537
 LMEECutLibAsako.C:538
 LMEECutLibAsako.C:539
 LMEECutLibAsako.C:540
 LMEECutLibAsako.C:541
 LMEECutLibAsako.C:542
 LMEECutLibAsako.C:543
 LMEECutLibAsako.C:544
 LMEECutLibAsako.C:545
 LMEECutLibAsako.C:546
 LMEECutLibAsako.C:547
 LMEECutLibAsako.C:548
 LMEECutLibAsako.C:549
 LMEECutLibAsako.C:550
 LMEECutLibAsako.C:551
 LMEECutLibAsako.C:552
 LMEECutLibAsako.C:553
 LMEECutLibAsako.C:554
 LMEECutLibAsako.C:555
 LMEECutLibAsako.C:556
 LMEECutLibAsako.C:557
 LMEECutLibAsako.C:558
 LMEECutLibAsako.C:559
 LMEECutLibAsako.C:560
 LMEECutLibAsako.C:561
 LMEECutLibAsako.C:562
 LMEECutLibAsako.C:563
 LMEECutLibAsako.C:564
 LMEECutLibAsako.C:565
 LMEECutLibAsako.C:566
 LMEECutLibAsako.C:567
 LMEECutLibAsako.C:568
 LMEECutLibAsako.C:569
 LMEECutLibAsako.C:570
 LMEECutLibAsako.C:571
 LMEECutLibAsako.C:572
 LMEECutLibAsako.C:573
 LMEECutLibAsako.C:574
 LMEECutLibAsako.C:575
 LMEECutLibAsako.C:576
 LMEECutLibAsako.C:577
 LMEECutLibAsako.C:578
 LMEECutLibAsako.C:579
 LMEECutLibAsako.C:580
 LMEECutLibAsako.C:581
 LMEECutLibAsako.C:582
 LMEECutLibAsako.C:583
 LMEECutLibAsako.C:584
 LMEECutLibAsako.C:585
 LMEECutLibAsako.C:586
 LMEECutLibAsako.C:587
 LMEECutLibAsako.C:588
 LMEECutLibAsako.C:589
 LMEECutLibAsako.C:590
 LMEECutLibAsako.C:591
 LMEECutLibAsako.C:592
 LMEECutLibAsako.C:593
 LMEECutLibAsako.C:594
 LMEECutLibAsako.C:595
 LMEECutLibAsako.C:596
 LMEECutLibAsako.C:597
 LMEECutLibAsako.C:598
 LMEECutLibAsako.C:599
 LMEECutLibAsako.C:600