ROOT logo
#include "LMEECutLib.C"
void InitHistograms(AliDielectron *die, Int_t cutDefinition);
void InitCF(AliDielectron* die, Int_t cutDefinition);
void EnableMC();

TString names=("noPairingNoPID;noPairingTOFonly;noPairingTPCTOFPbPb2011");
TObjArray *arrNames=names.Tokenize(";");
const Int_t nDie=arrNames->GetEntries();

Bool_t MCenabled=kFALSE;


AliDielectron* ConfigLMEEnoPID(Int_t cutDefinition, Bool_t hasMC=kFALSE,Bool_t CFenabled=kFALSE)
{

  Int_t selectedPID=-1;
  Bool_t rejectionStep=kFALSE;
  LMEECutLib*  LMCL = new LMEECutLib();

  //
  // Setup the instance of AliDielectron
  //

  MCenabled=hasMC;

  // create the actual framework object

  TString name=Form("%02d",cutDefinition);
  if ((cutDefinition)<arrNames->GetEntriesFast()){
	name=arrNames->At((cutDefinition))->GetName();
  }

  //thisCut only relevant for MC:
  AliDielectron *die =
	new AliDielectron(Form
		("%s",name.Data()),
		Form("Track cuts: %s",name.Data()));


  //Setup AnalysisSelection:
  //Choose Arbitratry cuts, Basic Track Cuts shoudl be the same for all
  if (cutDefinition==0) {
	//not yet implemented
	selectedPID = LMEECutLib::kpp2010TPCandTOF;
	rejectionStep = kFALSE;
  }
  else if (cutDefinition==1) {
   //TPCTOFCentnoRej =>
	selectedPID = LMEECutLib::kpp2010TPCandTOF;
	rejectionStep = kFALSE;
  }
  else if (cutDefinition==2) {
   //TPCTOFCentnoRej =>
	selectedPID = LMEECutLib::kPbPb2011TPCandTOF;
	rejectionStep = kFALSE;
  }
  else {
	cout << " =============================== " << endl;
	cout << " ==== INVALID CONFIGURATION ==== " << endl;
	cout << " =============================== " << endl;
  }


  //Now configure task

  //Apply correct Pre-Filter Scheme, if necessary
  die->SetPreFilterAllSigns();
  
   //SWITCH OFF PAIRING FOR Track-only analysis
  die->SetNoPairing();

  die->GetTrackFilter().AddCuts( LMCL->GetTrackCutsAna(selectedPID) );

  if (cutDefinition==1) {
	  AliDielectronPID *pidTOFonly = new AliDielectronPID("TOFonly","TOFonly");
	  pidTOFonly->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
	  die->GetTrackFilter().AddCuts(pidTOFonly);
	}

  if (cutDefinition==2) {
	  die->GetTrackFilter().AddCuts(LMCL->GetPIDCutsAna(selectedPID));
	}



  // histogram setup
  // only if an AliDielectronHistos object is attached to the
  // dielectron framework histograms will be filled
  //
  InitHistograms(die,cutDefinition);

  // the last definition uses no cuts and only the QA histograms should be filled!
  if (CFenabled) InitCF(die,cutDefinition);

  return die;
}

//______________________________________________________________________________________

void InitHistograms(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Initialise the histograms
  //

  //Setup histogram Manager
  AliDielectronHistos *histos=
	new AliDielectronHistos(die->GetName(),
		die->GetTitle());
  //Initialise histogram classes
  histos->SetReservedWords("Track;Pair;Pre;RejTrack;RejPair");

  //Event class
//  if (cutDefinition==nDie-1) 
	  	histos->AddClass("Event");

  //Track classes
  //to fill also track info from 2nd event loop until 2
  for (Int_t i=0; i<2; ++i){
	histos->AddClass(Form("Track_%s",AliDielectron::TrackClassName(i)));
  }

  //Pair classes
  // to fill also mixed event histograms loop until 10
  for (Int_t i=0; i<3; ++i){
	histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(i)));
  }

  //ME and track rot
  if (die->GetMixingHandler()) {
	histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3)));
	histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));
	histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));
	histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7)));
  }
  if (die->GetTrackRotator()) {
	histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));
  }

  //PreFilter Classes
  //to fill also track info from 2nd event loop until 2
  for (Int_t i=0; i<2; ++i){
	histos->AddClass(Form("Pre_%s",AliDielectron::TrackClassName(i)));
  }


  //Create Classes for Rejected Tracks/Pairs:
  for (Int_t i=0; i<2; ++i){
	histos->AddClass(Form("RejTrack_%s",AliDielectron::TrackClassName(i)));
  }
  for (Int_t i=0; i<3; ++i){
	histos->AddClass(Form("RejPair_%s",AliDielectron::PairClassName(i)));
  }

  /*
  //track rotation

  histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
  histos->AddClass(Form("Track_Legs_%s",AliDielectron::PairClassName(AliDielectron::kEv1PMRot)));
  */
	//add histograms to event class
	histos->UserHistogram("Event","nEvents","Number of processed events after cuts;Number events",
		1,0.,1.,AliDielectronVarManager::kNevents);
	histos->UserHistogram("Event","Centrality","Centrality;Centrality [%]","0,10,20,40,80,100,101",
		AliDielectronVarManager::kCentrality);


  //add histograms to Track classes, also fills RejTrack
  histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);
  histos->UserHistogram("Track","NclsSFracTPC","NclsSFracTPC; NclsSFracTPC;#tracks",200,0,10.,AliDielectronVarManager::kNclsSFracTPC);
  histos->UserHistogram("Track","TPCclsDiff","TPCclsDiff; TPCclsDiff;#tracks",200,0,10.,AliDielectronVarManager::kTPCclsDiff);

  histos->UserHistogram("Track","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
	  400,0.0,20.,200,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);

  histos->UserHistogram("Track","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
	  400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
/*
  histos->UserHistogram("Track","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
  histos->UserHistogram("Track","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
  histos->UserHistogram("Track","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);

  histos->UserHistogram("Track","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
	  400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
  histos->UserHistogram("Track","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
	  400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);

  histos->UserHistogram("Track","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
  histos->UserHistogram("Track","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
*/
  histos->UserHistogram("Track","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
	  100,-2,2,100,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);

  histos->UserHistogram("Track","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);

  histos->UserHistogram("Track","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);

  histos->UserHistogram("Track","TPCnCls_kNFclsTPCr","nTPC vs nTPCr;nTPC vs nTPCr;#tracks",159,0.,159.,159,0.,159.,AliDielectronVarManager::kNclsTPC,AliDielectronVarManager::kNFclsTPCr);

  histos->UserHistogram("Track","kNFclsTPCr_pT","nTPCr vs pt;nTPCr vs pt;#tracks",159,0.,159.,200,0.,20.,AliDielectronVarManager::kNFclsTPCr,AliDielectronVarManager::kPt);

  //add histograms to Pair classes, also fills RejPair
  /*
  histos->UserHistogram("Pair","InvMass","Inv.Mass;Inv. Mass [GeV];#pairs",
	  500,0.0,5.00,AliDielectronVarManager::kM);
  histos->UserHistogram("Pair","Rapidity","Rapidity;Rapidity;#pairs",
	  100,-2.,2.,AliDielectronVarManager::kY);
  histos->UserHistogram("Pair","OpeningAngle","Opening angle;angle",
	  100,0.,3.15,AliDielectronVarManager::kOpeningAngle);
  //2D Histo Plot
  histos->UserHistogram("Pair","InvMassPairPt","Inv.Mass vs PairPt;Inv. Mass [GeV], pT [GeV];#pairs",
	  500,0.0,5.0,100,0.,10.,AliDielectronVarManager::kM,AliDielectronVarManager::kPt);

  histos->UserHistogram("Pair","InvMassOpeningAngle","Opening Angle vs Inv.Mass;Inv. Mass [GeV];#pairs",
	  500,0.0,5.0,200,0.,6.3,AliDielectronVarManager::kM,AliDielectronVarManager::kOpeningAngle);

  //add histograms to PRE-Track classes
  histos->UserHistogram("Pre","Pt","Pt;Pt [GeV];#tracks",200,0,20.,AliDielectronVarManager::kPt);

  histos->UserHistogram("Pre","ITS_dEdx_P","ITS_dEdx;P [GeV];ITS signal (arb units);#tracks",
	  400,0.0,20.,200,0.,1000.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal,kTRUE);

  histos->UserHistogram("Pre","dEdx_P","dEdx;P [GeV];TPC signal (arb units);#tracks",
	  400,0.0,20.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal,kTRUE);
*/
/*
  histos->UserHistogram("Pre","TPCnSigmaEle_P","TPC number of sigmas Electrons;P [GeV];TPC number of sigmas Electrons;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle,kTRUE);
  histos->UserHistogram("Pre","TPCnSigmaKao_P","TPC number of sigmas Kaons;P [GeV];TPC number of sigmas Kaons;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaKao,kTRUE);
  histos->UserHistogram("Pre","TPCnSigmaPio_P","TPC number of sigmas Pions;P [GeV];TPC number of sigmas Pions;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio,kTRUE);

  histos->UserHistogram("Pre","TRDpidPobEle_P","TRD PID probability Electrons;P [GeV];TRD prob Electrons;#tracks",
	  400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle,kTRUE);
  histos->UserHistogram("Pre","TRDpidPobPio_P","TRD PID probability Pions;P [GeV];TRD prob Pions;#tracks",
	  400,0.0,20.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio,kTRUE);

  histos->UserHistogram("Pre","TOFnSigmaKao_P","TOF number of sigmas Kaons;P [GeV];TOF number of sigmas Kaons;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaKao,kTRUE);
  histos->UserHistogram("Pre","TOFnSigmaPro_P","TOF number of sigmas Protons;P [GeV];TOF number of sigmas Protons;#tracks",
	  400,0.0,20.,100,-5.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaPro,kTRUE);
*/
  /*
  histos->UserHistogram("Pre","Eta_Phi","Eta Phi Map; Eta; Phi;#tracks",
	  100,-2,2,100,0,3.15,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);

  histos->UserHistogram("Pre","dXY","dXY;dXY [cm];#tracks",200,-2.,2.,AliDielectronVarManager::kImpactParXY);

  histos->UserHistogram("Pre","TPCnCls","Number of Clusters TPC;TPC number clusteres;#tracks",159,0.,159.,AliDielectronVarManager::kNclsTPC);
*/
  die->SetHistogramManager(histos);
}


void InitCF(AliDielectron* die, Int_t cutDefinition)
{
  //
  // Setupd the CF Manager if needed
  //
  AliDielectronCF *cf=new AliDielectronCF(die->GetName(),die->GetTitle());

  //pair variables
/* cf->AddVariable(AliDielectronVarManager::kP,200,0,20);
  cf->AddVariable(AliDielectronVarManager::kM,201,-0.01,4.01); //20Mev Steps
*/
   cf->AddVariable(AliDielectronVarManager::kPairType,10,0,10);
/*
  //leg variables
  cf->AddVariable(AliDielectronVarManager::kP,200,0.,20.,kTRUE);
    cf->AddVariable(AliDielectronVarManager::kITSsignal,1000,0.0.,1000.,kTRUE);
  cf->AddVariable(AliDielectronVarManager::kTPCsignal,500,0.0.,500.,kTRUE);
*/
  //only in this case write MC truth info
  if (MCenabled) {
	cf->SetStepForMCtruth();
	cf->SetStepsForMCtruthOnly();
	cf->AddVariable(AliDielectronVarManager::kHaveSameMother,21,-10,10,kTRUE);
	cf->AddVariable(AliDielectronVarManager::kPdgCode,10000,-5000.5,4999.5,kTRUE);
	cf->AddVariable(AliDielectronVarManager::kPdgCodeMother,10000,-5000.5,4999.5,kTRUE);
  }

  cf->SetStepsForSignal();
  die->SetCFManagerPair(cf);
}

//--------------------------------------
void EnableMC() {
  MCenabled=kTRUE;
}

 ConfigLMEEnoPID.C:1
 ConfigLMEEnoPID.C:2
 ConfigLMEEnoPID.C:3
 ConfigLMEEnoPID.C:4
 ConfigLMEEnoPID.C:5
 ConfigLMEEnoPID.C:6
 ConfigLMEEnoPID.C:7
 ConfigLMEEnoPID.C:8
 ConfigLMEEnoPID.C:9
 ConfigLMEEnoPID.C:10
 ConfigLMEEnoPID.C:11
 ConfigLMEEnoPID.C:12
 ConfigLMEEnoPID.C:13
 ConfigLMEEnoPID.C:14
 ConfigLMEEnoPID.C:15
 ConfigLMEEnoPID.C:16
 ConfigLMEEnoPID.C:17
 ConfigLMEEnoPID.C:18
 ConfigLMEEnoPID.C:19
 ConfigLMEEnoPID.C:20
 ConfigLMEEnoPID.C:21
 ConfigLMEEnoPID.C:22
 ConfigLMEEnoPID.C:23
 ConfigLMEEnoPID.C:24
 ConfigLMEEnoPID.C:25
 ConfigLMEEnoPID.C:26
 ConfigLMEEnoPID.C:27
 ConfigLMEEnoPID.C:28
 ConfigLMEEnoPID.C:29
 ConfigLMEEnoPID.C:30
 ConfigLMEEnoPID.C:31
 ConfigLMEEnoPID.C:32
 ConfigLMEEnoPID.C:33
 ConfigLMEEnoPID.C:34
 ConfigLMEEnoPID.C:35
 ConfigLMEEnoPID.C:36
 ConfigLMEEnoPID.C:37
 ConfigLMEEnoPID.C:38
 ConfigLMEEnoPID.C:39
 ConfigLMEEnoPID.C:40
 ConfigLMEEnoPID.C:41
 ConfigLMEEnoPID.C:42
 ConfigLMEEnoPID.C:43
 ConfigLMEEnoPID.C:44
 ConfigLMEEnoPID.C:45
 ConfigLMEEnoPID.C:46
 ConfigLMEEnoPID.C:47
 ConfigLMEEnoPID.C:48
 ConfigLMEEnoPID.C:49
 ConfigLMEEnoPID.C:50
 ConfigLMEEnoPID.C:51
 ConfigLMEEnoPID.C:52
 ConfigLMEEnoPID.C:53
 ConfigLMEEnoPID.C:54
 ConfigLMEEnoPID.C:55
 ConfigLMEEnoPID.C:56
 ConfigLMEEnoPID.C:57
 ConfigLMEEnoPID.C:58
 ConfigLMEEnoPID.C:59
 ConfigLMEEnoPID.C:60
 ConfigLMEEnoPID.C:61
 ConfigLMEEnoPID.C:62
 ConfigLMEEnoPID.C:63
 ConfigLMEEnoPID.C:64
 ConfigLMEEnoPID.C:65
 ConfigLMEEnoPID.C:66
 ConfigLMEEnoPID.C:67
 ConfigLMEEnoPID.C:68
 ConfigLMEEnoPID.C:69
 ConfigLMEEnoPID.C:70
 ConfigLMEEnoPID.C:71
 ConfigLMEEnoPID.C:72
 ConfigLMEEnoPID.C:73
 ConfigLMEEnoPID.C:74
 ConfigLMEEnoPID.C:75
 ConfigLMEEnoPID.C:76
 ConfigLMEEnoPID.C:77
 ConfigLMEEnoPID.C:78
 ConfigLMEEnoPID.C:79
 ConfigLMEEnoPID.C:80
 ConfigLMEEnoPID.C:81
 ConfigLMEEnoPID.C:82
 ConfigLMEEnoPID.C:83
 ConfigLMEEnoPID.C:84
 ConfigLMEEnoPID.C:85
 ConfigLMEEnoPID.C:86
 ConfigLMEEnoPID.C:87
 ConfigLMEEnoPID.C:88
 ConfigLMEEnoPID.C:89
 ConfigLMEEnoPID.C:90
 ConfigLMEEnoPID.C:91
 ConfigLMEEnoPID.C:92
 ConfigLMEEnoPID.C:93
 ConfigLMEEnoPID.C:94
 ConfigLMEEnoPID.C:95
 ConfigLMEEnoPID.C:96
 ConfigLMEEnoPID.C:97
 ConfigLMEEnoPID.C:98
 ConfigLMEEnoPID.C:99
 ConfigLMEEnoPID.C:100
 ConfigLMEEnoPID.C:101
 ConfigLMEEnoPID.C:102
 ConfigLMEEnoPID.C:103
 ConfigLMEEnoPID.C:104
 ConfigLMEEnoPID.C:105
 ConfigLMEEnoPID.C:106
 ConfigLMEEnoPID.C:107
 ConfigLMEEnoPID.C:108
 ConfigLMEEnoPID.C:109
 ConfigLMEEnoPID.C:110
 ConfigLMEEnoPID.C:111
 ConfigLMEEnoPID.C:112
 ConfigLMEEnoPID.C:113
 ConfigLMEEnoPID.C:114
 ConfigLMEEnoPID.C:115
 ConfigLMEEnoPID.C:116
 ConfigLMEEnoPID.C:117
 ConfigLMEEnoPID.C:118
 ConfigLMEEnoPID.C:119
 ConfigLMEEnoPID.C:120
 ConfigLMEEnoPID.C:121
 ConfigLMEEnoPID.C:122
 ConfigLMEEnoPID.C:123
 ConfigLMEEnoPID.C:124
 ConfigLMEEnoPID.C:125
 ConfigLMEEnoPID.C:126
 ConfigLMEEnoPID.C:127
 ConfigLMEEnoPID.C:128
 ConfigLMEEnoPID.C:129
 ConfigLMEEnoPID.C:130
 ConfigLMEEnoPID.C:131
 ConfigLMEEnoPID.C:132
 ConfigLMEEnoPID.C:133
 ConfigLMEEnoPID.C:134
 ConfigLMEEnoPID.C:135
 ConfigLMEEnoPID.C:136
 ConfigLMEEnoPID.C:137
 ConfigLMEEnoPID.C:138
 ConfigLMEEnoPID.C:139
 ConfigLMEEnoPID.C:140
 ConfigLMEEnoPID.C:141
 ConfigLMEEnoPID.C:142
 ConfigLMEEnoPID.C:143
 ConfigLMEEnoPID.C:144
 ConfigLMEEnoPID.C:145
 ConfigLMEEnoPID.C:146
 ConfigLMEEnoPID.C:147
 ConfigLMEEnoPID.C:148
 ConfigLMEEnoPID.C:149
 ConfigLMEEnoPID.C:150
 ConfigLMEEnoPID.C:151
 ConfigLMEEnoPID.C:152
 ConfigLMEEnoPID.C:153
 ConfigLMEEnoPID.C:154
 ConfigLMEEnoPID.C:155
 ConfigLMEEnoPID.C:156
 ConfigLMEEnoPID.C:157
 ConfigLMEEnoPID.C:158
 ConfigLMEEnoPID.C:159
 ConfigLMEEnoPID.C:160
 ConfigLMEEnoPID.C:161
 ConfigLMEEnoPID.C:162
 ConfigLMEEnoPID.C:163
 ConfigLMEEnoPID.C:164
 ConfigLMEEnoPID.C:165
 ConfigLMEEnoPID.C:166
 ConfigLMEEnoPID.C:167
 ConfigLMEEnoPID.C:168
 ConfigLMEEnoPID.C:169
 ConfigLMEEnoPID.C:170
 ConfigLMEEnoPID.C:171
 ConfigLMEEnoPID.C:172
 ConfigLMEEnoPID.C:173
 ConfigLMEEnoPID.C:174
 ConfigLMEEnoPID.C:175
 ConfigLMEEnoPID.C:176
 ConfigLMEEnoPID.C:177
 ConfigLMEEnoPID.C:178
 ConfigLMEEnoPID.C:179
 ConfigLMEEnoPID.C:180
 ConfigLMEEnoPID.C:181
 ConfigLMEEnoPID.C:182
 ConfigLMEEnoPID.C:183
 ConfigLMEEnoPID.C:184
 ConfigLMEEnoPID.C:185
 ConfigLMEEnoPID.C:186
 ConfigLMEEnoPID.C:187
 ConfigLMEEnoPID.C:188
 ConfigLMEEnoPID.C:189
 ConfigLMEEnoPID.C:190
 ConfigLMEEnoPID.C:191
 ConfigLMEEnoPID.C:192
 ConfigLMEEnoPID.C:193
 ConfigLMEEnoPID.C:194
 ConfigLMEEnoPID.C:195
 ConfigLMEEnoPID.C:196
 ConfigLMEEnoPID.C:197
 ConfigLMEEnoPID.C:198
 ConfigLMEEnoPID.C:199
 ConfigLMEEnoPID.C:200
 ConfigLMEEnoPID.C:201
 ConfigLMEEnoPID.C:202
 ConfigLMEEnoPID.C:203
 ConfigLMEEnoPID.C:204
 ConfigLMEEnoPID.C:205
 ConfigLMEEnoPID.C:206
 ConfigLMEEnoPID.C:207
 ConfigLMEEnoPID.C:208
 ConfigLMEEnoPID.C:209
 ConfigLMEEnoPID.C:210
 ConfigLMEEnoPID.C:211
 ConfigLMEEnoPID.C:212
 ConfigLMEEnoPID.C:213
 ConfigLMEEnoPID.C:214
 ConfigLMEEnoPID.C:215
 ConfigLMEEnoPID.C:216
 ConfigLMEEnoPID.C:217
 ConfigLMEEnoPID.C:218
 ConfigLMEEnoPID.C:219
 ConfigLMEEnoPID.C:220
 ConfigLMEEnoPID.C:221
 ConfigLMEEnoPID.C:222
 ConfigLMEEnoPID.C:223
 ConfigLMEEnoPID.C:224
 ConfigLMEEnoPID.C:225
 ConfigLMEEnoPID.C:226
 ConfigLMEEnoPID.C:227
 ConfigLMEEnoPID.C:228
 ConfigLMEEnoPID.C:229
 ConfigLMEEnoPID.C:230
 ConfigLMEEnoPID.C:231
 ConfigLMEEnoPID.C:232
 ConfigLMEEnoPID.C:233
 ConfigLMEEnoPID.C:234
 ConfigLMEEnoPID.C:235
 ConfigLMEEnoPID.C:236
 ConfigLMEEnoPID.C:237
 ConfigLMEEnoPID.C:238
 ConfigLMEEnoPID.C:239
 ConfigLMEEnoPID.C:240
 ConfigLMEEnoPID.C:241
 ConfigLMEEnoPID.C:242
 ConfigLMEEnoPID.C:243
 ConfigLMEEnoPID.C:244
 ConfigLMEEnoPID.C:245
 ConfigLMEEnoPID.C:246
 ConfigLMEEnoPID.C:247
 ConfigLMEEnoPID.C:248
 ConfigLMEEnoPID.C:249
 ConfigLMEEnoPID.C:250
 ConfigLMEEnoPID.C:251
 ConfigLMEEnoPID.C:252
 ConfigLMEEnoPID.C:253
 ConfigLMEEnoPID.C:254
 ConfigLMEEnoPID.C:255
 ConfigLMEEnoPID.C:256
 ConfigLMEEnoPID.C:257
 ConfigLMEEnoPID.C:258
 ConfigLMEEnoPID.C:259
 ConfigLMEEnoPID.C:260
 ConfigLMEEnoPID.C:261
 ConfigLMEEnoPID.C:262
 ConfigLMEEnoPID.C:263
 ConfigLMEEnoPID.C:264
 ConfigLMEEnoPID.C:265
 ConfigLMEEnoPID.C:266
 ConfigLMEEnoPID.C:267
 ConfigLMEEnoPID.C:268
 ConfigLMEEnoPID.C:269
 ConfigLMEEnoPID.C:270
 ConfigLMEEnoPID.C:271
 ConfigLMEEnoPID.C:272
 ConfigLMEEnoPID.C:273
 ConfigLMEEnoPID.C:274
 ConfigLMEEnoPID.C:275
 ConfigLMEEnoPID.C:276
 ConfigLMEEnoPID.C:277
 ConfigLMEEnoPID.C:278
 ConfigLMEEnoPID.C:279
 ConfigLMEEnoPID.C:280
 ConfigLMEEnoPID.C:281
 ConfigLMEEnoPID.C:282
 ConfigLMEEnoPID.C:283
 ConfigLMEEnoPID.C:284
 ConfigLMEEnoPID.C:285
 ConfigLMEEnoPID.C:286
 ConfigLMEEnoPID.C:287
 ConfigLMEEnoPID.C:288
 ConfigLMEEnoPID.C:289
 ConfigLMEEnoPID.C:290
 ConfigLMEEnoPID.C:291
 ConfigLMEEnoPID.C:292
 ConfigLMEEnoPID.C:293
 ConfigLMEEnoPID.C:294
 ConfigLMEEnoPID.C:295
 ConfigLMEEnoPID.C:296
 ConfigLMEEnoPID.C:297