ROOT logo
//=========================================================================//
//                                                                         //
//           ESD track Cuts the for Particle Ratio Fluctuation Study       //
//              Author: Deepika Rathee  || Satyajit Jenara                 //
//                      drathee@cern.ch || sjena@cern.ch                   //
//                       Thu Dec 19 09:09:38 CET 2013                      //
//                                                                         //
//=========================================================================//
//class AliESDtrackCuts;
// If used for Marta's cuts: no eta not dca accepted
//
AliESDtrackCuts *configureNetChargeTrackCut(Int_t imode = 5, Int_t cutMode = 1000, Double_t eta = 1.0, Double_t dcaxy = 5., Double_t dcaz = 5.) {

  Double_t gEtaMin = -1*eta;
  Double_t gEtaMax = eta;

  Double_t gPtMin = 0.10;
  Double_t gPtMax = 100.;

  TString tag = Form(" %d : %d : %4.1f : %4.1f %4.1 =>", imode, cutMode, eta, dcaxy, dcaz);
  AliESDtrackCuts *trackCuts  = new AliESDtrackCuts("sjenaTracksCf","satya");

  

  if (        imode == 0 ) { // "StandardITSTPCTrackCuts2010"
    trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
    
    tag += " Track Cut Used: StandardITSTPCTrackCuts2010";
  } else if ( imode == 1 ) { // "StandardITSTPCTrackCuts2010no"
    trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE);
    
    tag += " Track Cut Used: StandardITSTPCTrackCuts2010 No"; 
  } else if ( imode == 2 ) { // "StandardITSTPCTrackCuts2010trueAndCrossRows"
    trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE, 1);
    
    tag += " Track Cut Used: StandardITSTPCTrackCuts2010trueAndCrossRows"; 

  } else if ( imode == 3 ) { // "StandardTPCOnlyTrackCuts"
    trackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
    tag += " Track Cut Used: StandardTPCOnlyTrackCuts";
  } else if ( imode == 4 ) { // "StandardITSSATrackCuts2010"
    trackCuts = AliESDtrackCuts::GetStandardITSSATrackCuts2010();

    tag += " Track Cut Used: StandardITSSATrackCuts2010";

  } else if ( imode == 5 ) { // Initial Cuts used for Net-Charge PRL (Though Results are in AODs) - TPC tracks only in analysis
     trackCuts->SetMinNClustersTPC(80);
     trackCuts->SetMaxChi2PerClusterTPC(4.0);
     trackCuts->SetRequireTPCRefit();
     trackCuts->SetAcceptKinkDaughters(kFALSE);
     trackCuts->SetMaxDCAToVertexXY(3.0);
     trackCuts->SetMaxDCAToVertexZ(3.0);
     trackCuts->SetPtRange(0.3,1.5);
     trackCuts->SetEtaRange(-0.8,0.8);
    
     tag += " Track Cut Used: Initial Cuts used for Net-Charge PRL";
  } else if ( imode == 6) { // wide DCA cut
    trackCuts->SetMinNClustersTPC(80);
    trackCuts->SetMinNClustersITS(2);
    trackCuts->SetMaxChi2PerClusterTPC(4.0);
    trackCuts->SetRequireTPCRefit(kTRUE);
    trackCuts->SetRequireITSRefit(kTRUE);
    trackCuts->SetAcceptKinkDaughters(kFALSE);
    trackCuts->SetMaxDCAToVertexXY(dcaxy);
    trackCuts->SetMaxDCAToVertexZ(dcaz);
    trackCuts->SetPtRange(gPtMin,gPtMax);
    trackCuts->SetEtaRange(gEtaMin, gEtaMax);
    
    tag += " Track Cut Used: user DCA Cuts";

  } else if (imode == 7) { // Modified ITS2010 Cuts - with 

    trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,1);
    trackCuts->SetMaxChi2PerClusterITS(36);
    trackCuts->SetMaxFractionSharedTPCClusters(0.4);
    trackCuts->SetMaxChi2TPCConstrainedGlobal(36);
    trackCuts->SetPtRange(gPtMin,gPtMax);
    trackCuts->SetEtaRange(gEtaMin, gEtaMax);

    // Extra
    trackCuts->SetMinNClustersTPC(70);  
    trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny); 
    trackCuts->SetRequireITSRefit(kTRUE);                                                     
    trackCuts->SetDCAToVertex2D(kFALSE);   
    trackCuts->SetMaxDCAToVertexZ(dcaz);
    trackCuts->SetRequireSigmaToVertex(kFALSE);  

    tag += " Track Cut Used: Modified ITS2010 Cuts ";                                             
        
  } else if (imode == 8) { /**** My Standard Cut for TPC : drathee****/
  
    trackCuts->SetMinNCrossedRowsTPC(70);                                             
    trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);                    
    trackCuts->SetMaxChi2PerClusterTPC(4);                                            
    trackCuts->SetAcceptKinkDaughters(kFALSE);                                        
    trackCuts->SetRequireTPCRefit(kTRUE);                                             
    trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kOff); 
    trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSDD,AliESDtrackCuts::kOff); 
    trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSSD,AliESDtrackCuts::kOff); 
    trackCuts->SetRequireITSRefit(kTRUE);                                             
    trackCuts->SetMaxChi2PerClusterITS(36);                                           
    
    trackCuts->SetDCAToVertex2D(kFALSE);                                              
    trackCuts->SetRequireSigmaToVertex(kFALSE);                                       
       
    //    trackCuts->SetMaxDCAToVertexXY(dcaxy);
    trackCuts->SetMaxDCAToVertexZ(dcaz);
    trackCuts->SetPtRange(gPtMin,gPtMax);
    trackCuts->SetEtaRange(gEtaMin, gEtaMax);    
    trackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");    // Can use TFormula FixMe 

    tag += " Track Cut Used: My Standard Cut for TPC";                                                                

  } else if (imode == 9) { /*** for Correction ***/
    trackCuts->SetMinNCrossedRowsTPC(70);                                            
    trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);                   
    trackCuts->SetMaxChi2PerClusterTPC(4);                                           
    trackCuts->SetAcceptKinkDaughters(kFALSE);                                       
    trackCuts->SetRequireTPCRefit(kTRUE);                                            
    trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kOff);
    trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSDD,AliESDtrackCuts::kOff);
    trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSSD,AliESDtrackCuts::kOff);
    trackCuts->SetRequireITSRefit(kTRUE);                                            
    trackCuts->SetMaxChi2PerClusterITS(36);                                          
    
    //  trackCuts->SetDCAToVertex2D(kFALSE);                                             
    // trackCuts->SetRequireSigmaToVertex(kFALSE);                                      

    trackCuts->SetDCAToVertex2D(kTRUE);                                             
    trackCuts->SetRequireSigmaToVertex(kTRUE);                                      
       
    trackCuts->SetMaxDCAToVertexXY(dcaxy);
    trackCuts->SetMaxDCAToVertexZ(dcaz);
    trackCuts->SetPtRange(gPtMin,gPtMax);
    trackCuts->SetEtaRange(gEtaMin, gEtaMax);
    
    tag += " Track Cut Used: Mainly Used for Correction";                                                                
    
  } else if (imode == 10) { /*** LF: Standard Cuts ***/
    trackCuts->SetMinNClustersTPC(70);   
    trackCuts->SetMaxChi2PerClusterTPC(4);                                             
    trackCuts->SetAcceptKinkDaughters(kFALSE);                                         
    trackCuts->SetRequireTPCRefit(kTRUE);   
    trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny); 
    
    trackCuts->SetRequireITSRefit(kTRUE);                                             
    trackCuts->SetMaxChi2PerClusterITS(36);                                           
    
    trackCuts->SetDCAToVertex2D(kFALSE);                                              
    trackCuts->SetRequireSigmaToVertex(kFALSE);                                       
    
    //trackCuts->SetMaxDCAToVertexXY(dcaxy);
    trackCuts->SetMaxDCAToVertexZ(dcaz);
    trackCuts->SetPtRange(gPtMin,gPtMax);
    trackCuts->SetEtaRange(gEtaMin, gEtaMax);
    trackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");  
                                 
    tag += " Track Cut Used: LF Customised Cuts";                                                                
  } else if (imode == 99) { // Marta's Magic
    
    // I am not using this moment check it for future
    // TODO: Impliment the Marta's suggestion of Hybrid Like tracks
    // Taken from JET Configure task : 
    // Magic is done by Marta
    
    // Macro to create track cuts for PWG Jet analysis
    // User can select a specific set by indicating cutMode
    // cutMode has 8 digits: first 4 digits additional cuts, last 4 digits standard cuts
    //                       additional cuts are variations of standard cuts (used for hybrid track selection and QA)
    // Numbering starts from 1000 For standard and additional cut numbers
    
  
    Int_t mod = 10000;
    Bool_t bStdCutsDefined = kFALSE;
    
    //Get standard cuts: last 4 digits of cutMode
    Int_t stdCutMode = cutMode%mod;
    
    if(stdCutMode == 1000) {
      bStdCutsDefined = kTRUE;
      trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,1);
      trackCuts->SetMinNCrossedRowsTPC(120);
      trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
      trackCuts->SetMaxChi2PerClusterITS(36);
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      trackCuts->SetMaxChi2TPCConstrainedGlobal(36);
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 1e10);
      tag = "Global track RAA analysis QM2011 + Chi2ITS<36";
    }
    
    if(stdCutMode == 1001) {
      bStdCutsDefined = kTRUE;
      // TPC  
      trackCuts->SetMinNClustersTPC(90);
      trackCuts->SetMaxChi2PerClusterTPC(4);
      trackCuts->SetRequireTPCStandAlone(kTRUE); //cut on NClustersTPC and chi2TPC Iter1
      trackCuts->SetAcceptKinkDaughters(kFALSE);
      trackCuts->SetRequireTPCRefit(kTRUE);
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      // ITS
      trackCuts->SetRequireITSRefit(kTRUE);
      //accept secondaries
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
      //reject fakes
      trackCuts->SetMaxChi2PerClusterITS(36);
      
      trackCuts->SetRequireSigmaToVertex(kFALSE);
      
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 100.);
            
      tag = "Global tracks jet analysis with ITSrefit and NclsIter1=90, noSPD requirement";
    }
    
    if(stdCutMode == 1002) {
      bStdCutsDefined = kTRUE;
      // TPC  
      trackCuts->SetMinNClustersTPC(80);
      trackCuts->SetMaxChi2PerClusterTPC(4);
      trackCuts->SetAcceptKinkDaughters(kFALSE);
      trackCuts->SetRequireTPCRefit(kTRUE);
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      // ITS
      trackCuts->SetRequireITSRefit(kTRUE);
      //accept secondaries
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
      //reject fakes
      trackCuts->SetMaxChi2PerClusterITS(36);
      trackCuts->SetRequireSigmaToVertex(kFALSE);
      
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 100.);
      tag = "Global tracks jet analysis with ITSrefit and Ncls=80, noSPD requirement";
    }
    
    if(stdCutMode == 1003) {
      bStdCutsDefined = kTRUE;
      // tight global tracks
      trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE,1);
      trackCuts->SetMinNClustersTPC(0);
      trackCuts->SetMinNCrossedRowsTPC(120);
      trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.1);// essentially switches it off
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
      trackCuts->SetMaxChi2PerClusterITS(36);
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      
      tag = "Global tracks ITSTPC2010 + NCrossedRows + loose ITS";
    }
    
    if(stdCutMode == 1004) {
      bStdCutsDefined = kTRUE;
      // TPC  
      trackCuts->SetMinNClustersTPC(70);
      trackCuts->SetMaxChi2PerClusterTPC(4);
      trackCuts->SetRequireTPCStandAlone(kTRUE); //cut on NClustersTPC and chi2TPC Iter1
      trackCuts->SetAcceptKinkDaughters(kFALSE);
      trackCuts->SetRequireTPCRefit(kTRUE);
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      // ITS
      trackCuts->SetRequireITSRefit(kTRUE);
      //accept secondaries
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
      //reject fakes
      trackCuts->SetMaxChi2PerClusterITS(36);
      trackCuts->SetRequireSigmaToVertex(kFALSE);
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 100.);
      
      tag = "Global tracks jet analysis with ITSrefit and NclsIter1=70, noSPD requirement";
      
    }
    if(stdCutMode == 1005) {
      
      bStdCutsDefined = kTRUE;
      
      // TPC  
      trackCuts->SetMinNClustersTPC(70);
      trackCuts->SetMaxChi2PerClusterTPC(4);
      trackCuts->SetRequireTPCStandAlone(kTRUE); //cut on NClustersTPC and chi2TPC Iter1
      trackCuts->SetAcceptKinkDaughters(kFALSE);
      trackCuts->SetRequireTPCRefit(kTRUE);
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      // ITS
      trackCuts->SetRequireITSRefit(kTRUE);
    //accept secondaries
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
      //reject fakes
      trackCuts->SetMaxChi2PerClusterITS(36);
      
      trackCuts->SetRequireSigmaToVertex(kFALSE);
      
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 1E+15.);
      
      tag = "Global tracks jet analysis with ITSrefit and NclsIter1=70, noSPD requirement, no upper pt cut";
      
    }
    
    if(stdCutMode == 1006) {
      
      bStdCutsDefined = kTRUE;
      
      // TPC  
      TFormula *f1NClustersTPCLinearPtDep = new TFormula("f1NClustersTPCLinearPtDep","70.+30./20.*x");
      trackCuts->SetMinNClustersTPCPtDep(f1NClustersTPCLinearPtDep,20.);
      trackCuts->SetMinNClustersTPC(70);
      trackCuts->SetMaxChi2PerClusterTPC(4);
      trackCuts->SetRequireTPCStandAlone(kTRUE); //cut on NClustersTPC and chi2TPC Iter1
      trackCuts->SetAcceptKinkDaughters(kFALSE);
      trackCuts->SetRequireTPCRefit(kTRUE);
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      // ITS
      trackCuts->SetRequireITSRefit(kTRUE);
      //accept secondaries
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
      //reject fakes
      trackCuts->SetMaxChi2PerClusterITS(36);
      trackCuts->SetMaxChi2TPCConstrainedGlobal(36);
      
      trackCuts->SetRequireSigmaToVertex(kFALSE);
      
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 1E+15.);
      
      tag = "Global tracks jet analysis with ITSrefit and NclsIter1=PtDep, noSPD requirement, no upper pt cut, golden chi2";
      
    }
    
    if(stdCutMode == 1007) {
      
      bStdCutsDefined = kTRUE;
      
      trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE,1);
      //accept secondaries
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
      
      //
      trackCuts->SetMaxChi2TPCConstrainedGlobal(36);
      
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 1E+15.);
      
      tag = "Global tracks with AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE)";
      
    }
    
    if(stdCutMode == 1008) {
      
      bStdCutsDefined = kTRUE;
      
      trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kFALSE,1);
      //accept secondaries
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
      
      //
      trackCuts->SetMaxChi2TPCConstrainedGlobal(36);
      trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kNone);
      
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      
      tag = "Global tracks 2011 with NCrossedRows cut";
      
    }
  
    if(stdCutMode == 2000) {
      
      bStdCutsDefined = kTRUE;
      
      // TPC  
      trackCuts->SetMinNClustersTPC(90);
      trackCuts->SetMaxChi2PerClusterTPC(4);
      trackCuts->SetRequireTPCStandAlone(kTRUE); //cut on NClustersTPC and chi2TPC Iter1
      trackCuts->SetAcceptKinkDaughters(kFALSE);
      trackCuts->SetRequireTPCRefit(kTRUE);
      trackCuts->SetMaxFractionSharedTPCClusters(0.4);
      //accept secondaries
      trackCuts->SetMaxDCAToVertexXY(2.4);
      trackCuts->SetMaxDCAToVertexZ(3.2);
      trackCuts->SetDCAToVertex2D(kTRUE);
    
      trackCuts->SetRequireSigmaToVertex(kFALSE);
      
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 100.);
      tag = "Global tracks jet analysis, loose cuts, NClsIter1=90, no ITS requirements";
    }
    
    if(stdCutMode == 2001) {
      
      bStdCutsDefined = kTRUE;

      trackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); 
    // trackCuts->SetRequireTPCRefit(kTRUE);
      trackCuts->SetMinNClustersTPC(70);
      
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 100.);
      
      tag = "TPConly track cuts, loose cuts, NCls=70, no ITS requirements";
    }
    
    if(stdCutMode == 2002) {
      
      bStdCutsDefined = kTRUE;
      
      trackCuts = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts(); 
      //  trackCuts->SetRequireTPCRefit(kTRUE);
      trackCuts->SetMinNClustersTPC(0);
      trackCuts->SetMinNCrossedRowsTPC(120);
      trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.1);// essentially switches it off  
      
      trackCuts->SetEtaRange(-0.9,0.9);
      trackCuts->SetPtRange(0.15, 100.);
      
      tag = "TPConly track cuts, loose cuts, NCls=70, no ITS requirements";
      
    }
    
    if(!bStdCutsDefined) {
      printf("last 4 digits do not represent a predefined set of standard cuts. Returning 0\n");
      return 0;
    }
    
    //Get additional cut mode: first 4 digits of cutMode
    Int_t addCutMode = (int)((float)cutMode/(float)mod);
  
    if(addCutMode == 1000) {
      trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
      tag += " + additonal: SPD any requirement";
    }
    if(addCutMode == 1001) {
      trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kNone);
      tag += " + additional: w/o hits in SPD";
    }
    if(addCutMode == 1002) {
      trackCuts->SetMaxChi2PerClusterITS(1E10);
      tag += " + additional: maxITSChi2=1e10";
    }
    if(addCutMode == 1003) {
      
      trackCuts->SetMinNClustersTPC(0);
      trackCuts->SetMinNCrossedRowsTPC(0);
      trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.);
      tag += " + additional: minClusters=0 minCrossedRows=0 minCrossedRowsOverFindable=0";
    }
    
    if(addCutMode == 1004) {
      
      trackCuts->SetRequireITSRefit(kFALSE);
      tag += " + additional: ITSrefit=kFALSE";
    }
    
    if(addCutMode == 1005) {
      trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kOff);
      tag += " + additional: no SPD requirement (kOff)";
      
    }
    
    Printf("Created track cuts for: %s", tag.Data());
  }

  else {
    trackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE,1);
    Printf(" Default 2010 Cuts ");
  }
    
  

  Printf("%s", tag.Data());
  
  trackCuts->Print();

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