ROOT logo
class LMEECutLibTaku {

  public:
  static  enum LMMECutSet {
    kPbPb2011TPCandTOF,  //TOF required
    kPbPb2011TPCandTOFwide, //TOF required, more relaxed cut on TPC
    kPbPb2011TPCorTOF,
    kpp2010TPCandTOF,
    kpp2010TPCorTOF,
    kCUTSETMAX
  };
  
  static  enum LMMECentSel {
    kPbPb2011Central,
    kPbPb2011SemiCentral1,
    kPbPb2011SemiCentral2,
    kPbPb2011Peripheral,
    kCENTSELMAX
  };
  

  static  enum LMMEPairCutSet {
    kPbPb2011Mass,  //Mass cut 
    kPbPb2011OP,  //Opening angle cut    
    kPbPb2011Phiv,  //Phiv cut
    kPAIRCUTSETMAX
  };

  
  //char* LMEECutNames[kCUTSETMAX] = { "PbPb2011TPCandTOF","PbPb2011TPCorTOF"};
  
  Bool_t useMC;
  
  
  LMEECutLib() {useMC=kFALSE;}
  
  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* GetPairCuts(Int_t cutSet);  
  AliAnalysisCuts* GetPairPreFilterCuts(Int_t cutSet);  
  
  AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet);  
  AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet);  
  
  void SetMCFlag( Bool_t isMC=kTRUE) {useMC=isMC;}
  



  AliDielectronEventCuts* GetEventCuts(Int_t cutSet) {
    AliDielectronEventCuts* eventCuts = 0x0;
    switch (cutSet) {
    case kPbPb2011TPCandTOF :
    case kPbPb2011TPCandTOFwide :
    case kPbPb2011TPCorTOF  :
    case kpp2010TPCandTOF :
    case kpp2010TPCorTOF  :
      eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>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");
      centCuts->AddCut(AliDielectronVarManager::kCentrality,10.,30.);
      break;
    case kPbPb2011SemiCentral2:
      centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011SemiCentral2");
      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 kPbPb2011TPCandTOF :
    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 kPbPb2011TPCandTOF :
    case kPbPb2011TPCandTOFwide :
    case kPbPb2011TPCorTOF  :
      mixingHandler = new AliDielectronMixingHandler;
      mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
      mixingHandler->AddVariable(AliDielectronVarManager::kCentrality,"0,5,10,20,40,80,100");
      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(25);
      mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
      break;
    default: cout << "No Mixing Handler 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 (useMC) { //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 (useMC) {
      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,70.,90.); 
    //___________________________________________
    
    AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("Py>.4","Py>.4");
    pTPC->AddCut(AliDielectronVarManager::kPt,.4,5.);
    
    AliDielectronVarCuts *pMin = new AliDielectronVarCuts("P>.2","P>.2");
    pMin->AddCut(AliDielectronVarManager::kPt,.2,5.);
    
    switch (cutSet) {
    case kPbPb2011TPCandTOF :
      AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
      cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
      cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF);
      cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal);
      cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet));
      anaCuts = cgSecondTrackFilterPIDTPC1;
      break;
    case kPbPb2011TPCandTOFwide :
      AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
      cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
      cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF);
      cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignalWide);
      cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet));
      anaCuts = cgSecondTrackFilterPIDTPC1;
      break;
    case kPbPb2011TPCorTOF  :
      AliDielectronCutGroup* cgSecondTrackFilterPIDTPC2 = new AliDielectronCutGroup("cgPIDTPC2","cgPIDTPC2",AliDielectronCutGroup::kCompAND);
      cgSecondTrackFilterPIDTPC2->AddCut(pMin);
      cgSecondTrackFilterPIDTPC2->AddCut(pidTT);
      cgSecondTrackFilterPIDTPC2->AddCut(pidTPCsignal);
      cgSecondTrackFilterPIDTPC2->AddCut(GetTrackCutsAna(cutSet));
      anaCuts = cgSecondTrackFilterPIDTPC2;
      break;
    case kpp2010TPCandTOF :
      AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
      cgSecondTrackFilterPIDTPC->AddCut(pTPC);
      //cgSecondTrackFilterPIDTPC->AddCut(pidTPChardTOF);
      cgSecondTrackFilterPIDTPC->AddCut(pidTPCandTOF);
      cgSecondTrackFilterPIDTPC->AddCut(pidTPCTOFeOnly);
      cgSecondTrackFilterPIDTPC->AddCut(GetTrackCutsAna(cutSet));
      anaCuts = cgSecondTrackFilterPIDTPC;
      break;
    case kpp2010TPCorTOF  :
      AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
      cgSecondTrackFilterPIDTPC->AddCut(pMin);
      cgSecondTrackFilterPIDTPC->AddCut(pidTT);
      cgSecondTrackFilterPIDTPC->AddCut(GetTrackCutsAna(cutSet));
      anaCuts = cgSecondTrackFilterPIDTPC;
      break;
    default: cout << "No Analysis PID Cut defined " << endl;
    }
    return anaCuts;
  }
  
  AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet) {
    AliAnalysisCuts* anaCuts=0x0;
    switch (cutSet) {
    case kPbPb2011TPCandTOF :
    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);
      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);
      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* GetPairCuts(Int_t cutSet)  {  
    AliDielectronVarCuts* pairCuts=0x0;
    switch (cutSet) {
    case kPbPb2011TPCorTOF  :
    case kpp2010TPCandTOF :
      pairCuts = new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");
      pairCuts->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE);
      break;
    case kPbPb2011TPCandTOF :
    case kPbPb2011TPCandTOFwide :
    case kpp2010TPCorTOF  :
      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* GetPairCuts(Int_t cutSet) {                                                                                 
    AliDielectronVarCuts* pairCuts=0x0;
    switch (cutSet) {                             
    case kPbPb2011Mass:
      pairCuts = new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");     
      pairCuts->AddCut(AliDielectronVarManager::kM, 0.15,100.);          
      break;
    case kPbPb2011OP:
      pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad"); 
      pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035, kTRUE); ///exclude 
      break;
    case kPbPb2011Phiv:
      pairCuts =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad"); 
      pairCuts->SetCutType(AliDielectronVarCuts::kAny);
      pairCuts->AddCut(AliDielectronVarManager::kPhivPair, 0.0, 2.0);
      pairCuts->AddCut(AliDielectronVarManager::kM, 0.15, 100.0);
      break;
    default: cout << "No Pair Cuts defined " << endl;                                                                        
    }                                                                                                                       
    return pairCuts; 
  }


  //// for the pairprefilter
  //// this cut is defined to "reject" pairs 
  //// for the paircuts, defintion is based on "accept" pairs.
  AliAnalysisCuts* GetPairPreFilterCuts(Int_t cutSet) {                                                                                 
    AliDielectronVarCuts* pairCuts=0x0;
    switch (cutSet) {                             
    case kPbPb2011Mass:
      pairCuts = new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");     
      pairCuts->AddCut(AliDielectronVarManager::kM, 0.15,100.,kTRUE);          
      break;
    case kPbPb2011OP:
      pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad"); 
      pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035);
      break;
    case kPbPb2011Phiv:
      pairCuts =new AliDielectronVarCuts("Phiv Cut and Mee Cut","Phiv<2.0rad"); 
      pairCuts->AddCut(AliDielectronVarManager::kPhivPair, 2.0, TMath::ACos(-1.0));
      pairCuts->AddCut(AliDielectronVarManager::kM, 0, 0.15);          
      break;
    default: cout << "No Pair Cuts defined " << endl;                                                                        
    }                                                                                                                       
    return pairCuts; 
  }


  AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet) {
    AliESDtrackCuts* trackCuts=0x0;
    switch (cutSet) {
    case kPbPb2011TPCandTOF :
    case kPbPb2011TPCandTOFwide :
    case kPbPb2011TPCorTOF  :
    case kpp2010TPCandTOF :
    case kpp2010TPCorTOF  :
      trackCuts = new AliESDtrackCuts();
      trackCuts->SetDCAToVertex2D(kTRUE);
      trackCuts->SetMaxDCAToVertexZ(3.0);
      trackCuts->SetMaxDCAToVertexXY(1.0);
      //trackCuts->SetMaxNsigmaToVertex(3.0); 
      trackCuts->SetPtRange(  0.05 , 200.0);
      trackCuts->SetEtaRange( -0.84 , 0.84 );
      trackCuts->SetAcceptKinkDaughters(kFALSE);
      trackCuts->SetRequireITSRefit(kTRUE);
      trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
      trackCuts->SetMinNClustersITS(3);
      trackCuts->SetRequireTPCRefit(kTRUE);
      //trackCuts->SetMinNClustersTPC(60);
      trackCuts->SetMinNCrossedRowsTPC(110);
      trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.7);
      trackCuts->SetMaxChi2PerClusterTPC(3.5);
      //trackCuts->SetMaxChi2PerClusterITS(6);
      break;
    default: cout << "No Analysis Track Cut defined " << endl;
    }
    return trackCuts;
  } 
  
  AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet) {
    AliESDtrackCuts* trackCuts=0x0;
    switch (cutSet) {
    case kPbPb2011TPCandTOF :
    case kPbPb2011TPCandTOFwide :
    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?!
      break;
    default: cout << "No Pre-Track Cut defined " << endl;
    }
    return trackCuts;
  }

};
 LMEECutLibTaku.C:1
 LMEECutLibTaku.C:2
 LMEECutLibTaku.C:3
 LMEECutLibTaku.C:4
 LMEECutLibTaku.C:5
 LMEECutLibTaku.C:6
 LMEECutLibTaku.C:7
 LMEECutLibTaku.C:8
 LMEECutLibTaku.C:9
 LMEECutLibTaku.C:10
 LMEECutLibTaku.C:11
 LMEECutLibTaku.C:12
 LMEECutLibTaku.C:13
 LMEECutLibTaku.C:14
 LMEECutLibTaku.C:15
 LMEECutLibTaku.C:16
 LMEECutLibTaku.C:17
 LMEECutLibTaku.C:18
 LMEECutLibTaku.C:19
 LMEECutLibTaku.C:20
 LMEECutLibTaku.C:21
 LMEECutLibTaku.C:22
 LMEECutLibTaku.C:23
 LMEECutLibTaku.C:24
 LMEECutLibTaku.C:25
 LMEECutLibTaku.C:26
 LMEECutLibTaku.C:27
 LMEECutLibTaku.C:28
 LMEECutLibTaku.C:29
 LMEECutLibTaku.C:30
 LMEECutLibTaku.C:31
 LMEECutLibTaku.C:32
 LMEECutLibTaku.C:33
 LMEECutLibTaku.C:34
 LMEECutLibTaku.C:35
 LMEECutLibTaku.C:36
 LMEECutLibTaku.C:37
 LMEECutLibTaku.C:38
 LMEECutLibTaku.C:39
 LMEECutLibTaku.C:40
 LMEECutLibTaku.C:41
 LMEECutLibTaku.C:42
 LMEECutLibTaku.C:43
 LMEECutLibTaku.C:44
 LMEECutLibTaku.C:45
 LMEECutLibTaku.C:46
 LMEECutLibTaku.C:47
 LMEECutLibTaku.C:48
 LMEECutLibTaku.C:49
 LMEECutLibTaku.C:50
 LMEECutLibTaku.C:51
 LMEECutLibTaku.C:52
 LMEECutLibTaku.C:53
 LMEECutLibTaku.C:54
 LMEECutLibTaku.C:55
 LMEECutLibTaku.C:56
 LMEECutLibTaku.C:57
 LMEECutLibTaku.C:58
 LMEECutLibTaku.C:59
 LMEECutLibTaku.C:60
 LMEECutLibTaku.C:61
 LMEECutLibTaku.C:62
 LMEECutLibTaku.C:63
 LMEECutLibTaku.C:64
 LMEECutLibTaku.C:65
 LMEECutLibTaku.C:66
 LMEECutLibTaku.C:67
 LMEECutLibTaku.C:68
 LMEECutLibTaku.C:69
 LMEECutLibTaku.C:70
 LMEECutLibTaku.C:71
 LMEECutLibTaku.C:72
 LMEECutLibTaku.C:73
 LMEECutLibTaku.C:74
 LMEECutLibTaku.C:75
 LMEECutLibTaku.C:76
 LMEECutLibTaku.C:77
 LMEECutLibTaku.C:78
 LMEECutLibTaku.C:79
 LMEECutLibTaku.C:80
 LMEECutLibTaku.C:81
 LMEECutLibTaku.C:82
 LMEECutLibTaku.C:83
 LMEECutLibTaku.C:84
 LMEECutLibTaku.C:85
 LMEECutLibTaku.C:86
 LMEECutLibTaku.C:87
 LMEECutLibTaku.C:88
 LMEECutLibTaku.C:89
 LMEECutLibTaku.C:90
 LMEECutLibTaku.C:91
 LMEECutLibTaku.C:92
 LMEECutLibTaku.C:93
 LMEECutLibTaku.C:94
 LMEECutLibTaku.C:95
 LMEECutLibTaku.C:96
 LMEECutLibTaku.C:97
 LMEECutLibTaku.C:98
 LMEECutLibTaku.C:99
 LMEECutLibTaku.C:100
 LMEECutLibTaku.C:101
 LMEECutLibTaku.C:102
 LMEECutLibTaku.C:103
 LMEECutLibTaku.C:104
 LMEECutLibTaku.C:105
 LMEECutLibTaku.C:106
 LMEECutLibTaku.C:107
 LMEECutLibTaku.C:108
 LMEECutLibTaku.C:109
 LMEECutLibTaku.C:110
 LMEECutLibTaku.C:111
 LMEECutLibTaku.C:112
 LMEECutLibTaku.C:113
 LMEECutLibTaku.C:114
 LMEECutLibTaku.C:115
 LMEECutLibTaku.C:116
 LMEECutLibTaku.C:117
 LMEECutLibTaku.C:118
 LMEECutLibTaku.C:119
 LMEECutLibTaku.C:120
 LMEECutLibTaku.C:121
 LMEECutLibTaku.C:122
 LMEECutLibTaku.C:123
 LMEECutLibTaku.C:124
 LMEECutLibTaku.C:125
 LMEECutLibTaku.C:126
 LMEECutLibTaku.C:127
 LMEECutLibTaku.C:128
 LMEECutLibTaku.C:129
 LMEECutLibTaku.C:130
 LMEECutLibTaku.C:131
 LMEECutLibTaku.C:132
 LMEECutLibTaku.C:133
 LMEECutLibTaku.C:134
 LMEECutLibTaku.C:135
 LMEECutLibTaku.C:136
 LMEECutLibTaku.C:137
 LMEECutLibTaku.C:138
 LMEECutLibTaku.C:139
 LMEECutLibTaku.C:140
 LMEECutLibTaku.C:141
 LMEECutLibTaku.C:142
 LMEECutLibTaku.C:143
 LMEECutLibTaku.C:144
 LMEECutLibTaku.C:145
 LMEECutLibTaku.C:146
 LMEECutLibTaku.C:147
 LMEECutLibTaku.C:148
 LMEECutLibTaku.C:149
 LMEECutLibTaku.C:150
 LMEECutLibTaku.C:151
 LMEECutLibTaku.C:152
 LMEECutLibTaku.C:153
 LMEECutLibTaku.C:154
 LMEECutLibTaku.C:155
 LMEECutLibTaku.C:156
 LMEECutLibTaku.C:157
 LMEECutLibTaku.C:158
 LMEECutLibTaku.C:159
 LMEECutLibTaku.C:160
 LMEECutLibTaku.C:161
 LMEECutLibTaku.C:162
 LMEECutLibTaku.C:163
 LMEECutLibTaku.C:164
 LMEECutLibTaku.C:165
 LMEECutLibTaku.C:166
 LMEECutLibTaku.C:167
 LMEECutLibTaku.C:168
 LMEECutLibTaku.C:169
 LMEECutLibTaku.C:170
 LMEECutLibTaku.C:171
 LMEECutLibTaku.C:172
 LMEECutLibTaku.C:173
 LMEECutLibTaku.C:174
 LMEECutLibTaku.C:175
 LMEECutLibTaku.C:176
 LMEECutLibTaku.C:177
 LMEECutLibTaku.C:178
 LMEECutLibTaku.C:179
 LMEECutLibTaku.C:180
 LMEECutLibTaku.C:181
 LMEECutLibTaku.C:182
 LMEECutLibTaku.C:183
 LMEECutLibTaku.C:184
 LMEECutLibTaku.C:185
 LMEECutLibTaku.C:186
 LMEECutLibTaku.C:187
 LMEECutLibTaku.C:188
 LMEECutLibTaku.C:189
 LMEECutLibTaku.C:190
 LMEECutLibTaku.C:191
 LMEECutLibTaku.C:192
 LMEECutLibTaku.C:193
 LMEECutLibTaku.C:194
 LMEECutLibTaku.C:195
 LMEECutLibTaku.C:196
 LMEECutLibTaku.C:197
 LMEECutLibTaku.C:198
 LMEECutLibTaku.C:199
 LMEECutLibTaku.C:200
 LMEECutLibTaku.C:201
 LMEECutLibTaku.C:202
 LMEECutLibTaku.C:203
 LMEECutLibTaku.C:204
 LMEECutLibTaku.C:205
 LMEECutLibTaku.C:206
 LMEECutLibTaku.C:207
 LMEECutLibTaku.C:208
 LMEECutLibTaku.C:209
 LMEECutLibTaku.C:210
 LMEECutLibTaku.C:211
 LMEECutLibTaku.C:212
 LMEECutLibTaku.C:213
 LMEECutLibTaku.C:214
 LMEECutLibTaku.C:215
 LMEECutLibTaku.C:216
 LMEECutLibTaku.C:217
 LMEECutLibTaku.C:218
 LMEECutLibTaku.C:219
 LMEECutLibTaku.C:220
 LMEECutLibTaku.C:221
 LMEECutLibTaku.C:222
 LMEECutLibTaku.C:223
 LMEECutLibTaku.C:224
 LMEECutLibTaku.C:225
 LMEECutLibTaku.C:226
 LMEECutLibTaku.C:227
 LMEECutLibTaku.C:228
 LMEECutLibTaku.C:229
 LMEECutLibTaku.C:230
 LMEECutLibTaku.C:231
 LMEECutLibTaku.C:232
 LMEECutLibTaku.C:233
 LMEECutLibTaku.C:234
 LMEECutLibTaku.C:235
 LMEECutLibTaku.C:236
 LMEECutLibTaku.C:237
 LMEECutLibTaku.C:238
 LMEECutLibTaku.C:239
 LMEECutLibTaku.C:240
 LMEECutLibTaku.C:241
 LMEECutLibTaku.C:242
 LMEECutLibTaku.C:243
 LMEECutLibTaku.C:244
 LMEECutLibTaku.C:245
 LMEECutLibTaku.C:246
 LMEECutLibTaku.C:247
 LMEECutLibTaku.C:248
 LMEECutLibTaku.C:249
 LMEECutLibTaku.C:250
 LMEECutLibTaku.C:251
 LMEECutLibTaku.C:252
 LMEECutLibTaku.C:253
 LMEECutLibTaku.C:254
 LMEECutLibTaku.C:255
 LMEECutLibTaku.C:256
 LMEECutLibTaku.C:257
 LMEECutLibTaku.C:258
 LMEECutLibTaku.C:259
 LMEECutLibTaku.C:260
 LMEECutLibTaku.C:261
 LMEECutLibTaku.C:262
 LMEECutLibTaku.C:263
 LMEECutLibTaku.C:264
 LMEECutLibTaku.C:265
 LMEECutLibTaku.C:266
 LMEECutLibTaku.C:267
 LMEECutLibTaku.C:268
 LMEECutLibTaku.C:269
 LMEECutLibTaku.C:270
 LMEECutLibTaku.C:271
 LMEECutLibTaku.C:272
 LMEECutLibTaku.C:273
 LMEECutLibTaku.C:274
 LMEECutLibTaku.C:275
 LMEECutLibTaku.C:276
 LMEECutLibTaku.C:277
 LMEECutLibTaku.C:278
 LMEECutLibTaku.C:279
 LMEECutLibTaku.C:280
 LMEECutLibTaku.C:281
 LMEECutLibTaku.C:282
 LMEECutLibTaku.C:283
 LMEECutLibTaku.C:284
 LMEECutLibTaku.C:285
 LMEECutLibTaku.C:286
 LMEECutLibTaku.C:287
 LMEECutLibTaku.C:288
 LMEECutLibTaku.C:289
 LMEECutLibTaku.C:290
 LMEECutLibTaku.C:291
 LMEECutLibTaku.C:292
 LMEECutLibTaku.C:293
 LMEECutLibTaku.C:294
 LMEECutLibTaku.C:295
 LMEECutLibTaku.C:296
 LMEECutLibTaku.C:297
 LMEECutLibTaku.C:298
 LMEECutLibTaku.C:299
 LMEECutLibTaku.C:300
 LMEECutLibTaku.C:301
 LMEECutLibTaku.C:302
 LMEECutLibTaku.C:303
 LMEECutLibTaku.C:304
 LMEECutLibTaku.C:305
 LMEECutLibTaku.C:306
 LMEECutLibTaku.C:307
 LMEECutLibTaku.C:308
 LMEECutLibTaku.C:309
 LMEECutLibTaku.C:310
 LMEECutLibTaku.C:311
 LMEECutLibTaku.C:312
 LMEECutLibTaku.C:313
 LMEECutLibTaku.C:314
 LMEECutLibTaku.C:315
 LMEECutLibTaku.C:316
 LMEECutLibTaku.C:317
 LMEECutLibTaku.C:318
 LMEECutLibTaku.C:319
 LMEECutLibTaku.C:320
 LMEECutLibTaku.C:321
 LMEECutLibTaku.C:322
 LMEECutLibTaku.C:323
 LMEECutLibTaku.C:324
 LMEECutLibTaku.C:325
 LMEECutLibTaku.C:326
 LMEECutLibTaku.C:327
 LMEECutLibTaku.C:328
 LMEECutLibTaku.C:329
 LMEECutLibTaku.C:330
 LMEECutLibTaku.C:331
 LMEECutLibTaku.C:332
 LMEECutLibTaku.C:333
 LMEECutLibTaku.C:334
 LMEECutLibTaku.C:335
 LMEECutLibTaku.C:336
 LMEECutLibTaku.C:337
 LMEECutLibTaku.C:338
 LMEECutLibTaku.C:339
 LMEECutLibTaku.C:340
 LMEECutLibTaku.C:341
 LMEECutLibTaku.C:342
 LMEECutLibTaku.C:343
 LMEECutLibTaku.C:344
 LMEECutLibTaku.C:345
 LMEECutLibTaku.C:346
 LMEECutLibTaku.C:347
 LMEECutLibTaku.C:348
 LMEECutLibTaku.C:349
 LMEECutLibTaku.C:350
 LMEECutLibTaku.C:351
 LMEECutLibTaku.C:352
 LMEECutLibTaku.C:353
 LMEECutLibTaku.C:354
 LMEECutLibTaku.C:355
 LMEECutLibTaku.C:356
 LMEECutLibTaku.C:357
 LMEECutLibTaku.C:358
 LMEECutLibTaku.C:359
 LMEECutLibTaku.C:360
 LMEECutLibTaku.C:361
 LMEECutLibTaku.C:362
 LMEECutLibTaku.C:363
 LMEECutLibTaku.C:364
 LMEECutLibTaku.C:365
 LMEECutLibTaku.C:366
 LMEECutLibTaku.C:367
 LMEECutLibTaku.C:368
 LMEECutLibTaku.C:369
 LMEECutLibTaku.C:370
 LMEECutLibTaku.C:371
 LMEECutLibTaku.C:372
 LMEECutLibTaku.C:373
 LMEECutLibTaku.C:374
 LMEECutLibTaku.C:375
 LMEECutLibTaku.C:376
 LMEECutLibTaku.C:377
 LMEECutLibTaku.C:378
 LMEECutLibTaku.C:379
 LMEECutLibTaku.C:380
 LMEECutLibTaku.C:381
 LMEECutLibTaku.C:382
 LMEECutLibTaku.C:383
 LMEECutLibTaku.C:384
 LMEECutLibTaku.C:385
 LMEECutLibTaku.C:386
 LMEECutLibTaku.C:387
 LMEECutLibTaku.C:388
 LMEECutLibTaku.C:389
 LMEECutLibTaku.C:390
 LMEECutLibTaku.C:391
 LMEECutLibTaku.C:392
 LMEECutLibTaku.C:393
 LMEECutLibTaku.C:394
 LMEECutLibTaku.C:395
 LMEECutLibTaku.C:396
 LMEECutLibTaku.C:397
 LMEECutLibTaku.C:398
 LMEECutLibTaku.C:399
 LMEECutLibTaku.C:400
 LMEECutLibTaku.C:401
 LMEECutLibTaku.C:402
 LMEECutLibTaku.C:403
 LMEECutLibTaku.C:404
 LMEECutLibTaku.C:405
 LMEECutLibTaku.C:406
 LMEECutLibTaku.C:407
 LMEECutLibTaku.C:408
 LMEECutLibTaku.C:409
 LMEECutLibTaku.C:410
 LMEECutLibTaku.C:411
 LMEECutLibTaku.C:412
 LMEECutLibTaku.C:413