ROOT logo

void InitHistograms(AliDielectron *die, Int_t cutDefinition);
void InitCF(AliDielectron* die, Int_t cutDefinition);

void SetupCuts(AliDielectron *die, Int_t cutDefinition);

AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition);
AliDielectronPID *SetPIDcuts(Int_t cutDefinition);


TString names= ("pt400;pt400DCA;V0gamma;PhiV;strPID");

	Bool_t kRot = 0;
	Bool_t kMix = 1;

TObjArray *arrNames=names.Tokenize(";");
const Int_t nDie=arrNames->GetEntriesFast();

AliDielectron* Config_lowmass(Int_t cutDefinition=1)
{
  //
  // Setup the instance of AliDielectron
  //
  
  // create the actual framework object
  TString name=Form("%02d",cutDefinition);
  if (cutDefinition<arrNames->GetEntriesFast()){
    name=arrNames->At(cutDefinition)->GetName();
  }
  AliDielectron *die =
    new AliDielectron(Form("%s",name.Data()),
                      Form("Track cuts: %s",name.Data()));

  
	if(kRot){
	AliDielectronTrackRotator *rot = new AliDielectronTrackRotator;
	rot->SetConeAnglePhi(TMath::Pi());
	rot->SetIterations(10);
	die->SetTrackRotator(rot);
	}//kRot
 

	if(kMix){
	AliDielectronMixingHandler *mix = new AliDielectronMixingHandler;
	mix->SetMixType(AliDielectronMixingHandler::kAll);
	mix->AddVariable(AliDielectronVarManager::kZvPrim,"-10., -7.5, -5., -2.5 , 0., 2.5, 5., 7.5 , 10.");
	mix->SetDepth(10);
	die->SetMixingHandler(mix);
	}//kMix


	// set track cuts
 SetupCuts(die,cutDefinition);



  //
  // histogram setup
  // only if an AliDielectronHistos object is attached to the
  // dielectron framework histograms will be filled
  //

  InitHistograms(die,cutDefinition);
  InitCF(die,cutDefinition);

  
  return die;

}

//______________________________________________________________________________________
void SetupCuts(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Setup the track cuts
  //



	//options
        die->SetPreFilterAllSigns();

	//pairing with TLorentzVector
	die->SetUseKF(kFALSE);

	//tracks only
//	if(cutDefinition == 0)die->SetNoPairing(); 

	//track cuts
        die->GetTrackFilter().AddCuts(SetupESDtrackCuts(cutDefinition));
	//pid cuts
	die->GetTrackFilter().AddCuts(SetPIDcuts(cutDefinition));


           if(cutDefinition >= 0){
                AliDielectronVarCuts *RapidityCut=new AliDielectronVarCuts("RapidityCut","RapidityCut");
                RapidityCut->AddCut(AliDielectronVarManager::kY, -0.9 , 0.9);
                die->GetPairFilter().AddCuts(RapidityCut);
           }


	   if(cutDefinition==2){//try the V0 finder
	     AliDielectronTrackCuts *noconv=new AliDielectronTrackCuts("noConv","noConv");
	     noconv->SetV0DaughterCut(AliPID::kElectron,kTRUE);
	     die->GetTrackFilter().AddCuts(noconv);
	   }

         if(cutDefinition == 3){
         AliDielectronVarCuts *phiVcut=new AliDielectronVarCuts("phiVcut","Phi_V cut <2.5 rad");
	 phiVcut->AddCut(AliDielectronVarManager::kPhivPair, 2.5, TMath::ACos(-1.0), kTRUE);
	 die->GetPairPreFilter().AddCuts(phiVcut);
           }


}
//______________________________________________________________________________________
//-----------------------------------pid------------------------------------------------

AliDielectronPID *SetPIDcuts(Int_t cutDefinition){

  AliDielectronPID *pid = new AliDielectronPID();


  if(cutDefinition >= 0){//400
        //TPC
        pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.4,100.,kFALSE);
        pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,3.,0.4,100.,kTRUE);
        //TOF
        pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3.,3.,0.4, 3., kFALSE);
        }


  if(cutDefinition == 4){//str PID
        //TPC
        pid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,0.,3.,0.4,100.,kFALSE);
        pid->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-100.,3.,0.4,100.,kTRUE);
        //TOF
        pid->AddCut(AliDielectronPID::kTOF,AliPID::kElectron,-3.,3.,0.4, 3., kFALSE);
        }


 return pid;

}

//______________________________________________________________________________________
AliESDtrackCuts *SetupESDtrackCuts(Int_t cutDefinition)
{

  //
  // Setup default AliESDtrackCuts
  //
  AliESDtrackCuts *fesdTrackCuts1 = new AliESDtrackCuts;

  //global

  //  if(cutDefinition == 0)fesdTrackCuts1->SetPtRange( 0.2 , 100. );
  fesdTrackCuts1->SetPtRange( 0.4 , 100. );
  fesdTrackCuts1->SetAcceptKinkDaughters(kFALSE);
  fesdTrackCuts1->SetDCAToVertex2D(kTRUE);
  if(cutDefinition == 1){
  fesdTrackCuts1->SetMaxDCAToVertexZ(3.);
  fesdTrackCuts1->SetMaxDCAToVertexXY(1.);
  }else{
  fesdTrackCuts1->SetMaxDCAToVertexZ(2.5);
  fesdTrackCuts1->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");
  }
  fesdTrackCuts1->SetEtaRange( -0.8 , 0.8 );

//  fesdTrackCuts1->SetMaxNsigmaToVertex( 2. );
//  fesdTrackCuts1->SetMaxCovDiagonalElements( 2 , 2, 0.5, 0.5 , 2 );

  //ITS
  fesdTrackCuts1->SetRequireITSRefit(kTRUE);
  fesdTrackCuts1->SetMinNClustersITS(3); 
  //fesdTrackCuts1->SetMaxChi2PerClusterITS(4);
  fesdTrackCuts1->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
  //kAny kBoth kFirst kSecond

  //TPC
  fesdTrackCuts1->SetRequireTPCRefit(kTRUE);
  fesdTrackCuts1->SetMinNClustersTPC(80);
  fesdTrackCuts1->SetMinNCrossedRowsTPC(100);
  fesdTrackCuts1->SetMinRatioCrossedRowsOverFindableClustersTPC(0.6);
  fesdTrackCuts1->SetMaxChi2PerClusterTPC(4);
  fesdTrackCuts1->SetMaxFractionSharedTPCClusters(0.5); 

  return fesdTrackCuts1;

}

//______________________________________________________________________________________
void InitHistograms(AliDielectron *die, Int_t cutDefinition)
{
  //
  // Initialise the histograms
  //
  
  //Setup histogram classes
  AliDielectronHistos *histos=
    new AliDielectronHistos(die->GetName(),
                            die->GetTitle());
  


  //Initialise histogram classes
  histos->SetReservedWords("Track;Pair");
  
  //Event class
  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)));

  }

  if(kMix){
  histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(3))); //ME ++
  histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(4)));//ME -+
  histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(6)));//ME +-
  histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(7))); // ME --
  }

  if(kRot)histos->AddClass(Form("Pair_%s",AliDielectron::PairClassName(10)));//Rot


  //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","ZVertex","ZVertex;ZVertex/cm",480,-12.,12.,AliDielectronVarManager::kZvPrim);
  histos->UserHistogram("Event","nESDTracks","ESD tracks;ESD tracks;Number events",100,0,200,AliDielectronVarManager::kTracks);
  histos->UserHistogram("Event","Nacc","Number of accepted tracks;Number events",100,0,200,AliDielectronVarManager::kNacc);
  histos->UserHistogram("Event","NVtxContrib","Number of Vertex Contributor;NVtx;Number events",100,0,100,AliDielectronVarManager::kNVtxContrib);


  //add histograms to Track classes
  histos->UserHistogram("Track","P","P;P [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPIn);
  histos->UserHistogram("Track","Pt","Pt;Pt [GeV];#tracks",500,0.,10.,AliDielectronVarManager::kPt);
  histos->UserHistogram("Track","Eta","Eta; Eta ;#tracks",100,-1.,1.,AliDielectronVarManager::kEta);
  histos->UserHistogram("Track","Phi","Phi; Phi ;#tracks",640,0.,6.4,AliDielectronVarManager::kPhi);


  histos->UserHistogram("Track","Eta_phi","Eta vs Phi;Eta;Phi",100,-1.,1.,320,0.,6.4,AliDielectronVarManager::kEta,AliDielectronVarManager::kPhi);
  histos->UserHistogram("Track","Eta_pt","Eta vs Pt;Eta;Pt",100,-1.,1.,500,0.,10.,AliDielectronVarManager::kEta,AliDielectronVarManager::kPt);
  histos->UserHistogram("Track","ImpParXY_Pt","ImpParXY_Pt; Pt; ÍmpParXY",500,0.,10.,500,-5.,5.,AliDielectronVarManager::kPt,AliDielectronVarManager::kImpactParXY);
  histos->UserHistogram("Track","ImpParZ_Pt","ImpParZ_Pt; Pt; ÍmpParZ",500,0.,10.,500,-5.,5.,AliDielectronVarManager::kPt,AliDielectronVarManager::kImpactParZ);


  //track checks (ITS)
  histos->UserHistogram("Track","ITSchi2Cl_Mom","ITS Chi2 vs Momentum;Mom;ITS chi2",500,0.,5.,50,0.,5.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSchi2Cl);
  histos->UserHistogram("Track","NclsITS_Mom",";Mom;kNclsITS",500,0.,5.,7,0,7,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsITS);

  //track checks (TPC)
  histos->UserHistogram("Track","TPCsignalNfrac_Mom",";fraction TPCSignalN/TPCncls vs Momentum;Mom;TPCSignalN/TPCncls",500,0.,5.,60,0.,1.2,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignalNfrac);
  histos->UserHistogram("Track","TPCchi2Cl_Mom","TPC Chi2 vs Momentum;Mom;TPC Chi2",500,0.,10.,100,0,5,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCchi2Cl);
  histos->UserHistogram("Track","TPCclsDiff_Mom","kTPCclsDiff vs Momentum;Mom;kTPCclsDiff",500,0.,10.,100,-10,10,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCclsDiff);
  histos->UserHistogram("Track","FindableTPCcls_Mom","kNFclsTPC vs Momentum;Mom;kNFclsTPC",500,0.,10.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNFclsTPC);
  histos->UserHistogram("Track","TPCcls_Mom","kNclsTPC vs Momentum;Mom;kNclsTPC",500,0.,10.,200,0.,200.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsTPC);
  histos->UserHistogram("Track","kNclsSFracTPC_Mom","kNclsSFracTPC vs Momentum;Mom;kTPCclsSFrac",500,0.,10.,60,0.,0.12,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsSFracTPC);
  histos->UserHistogram("Track","kNFclsTPCrFrac_Mom","kNFclsTPCrFrac vs Momentum;Mom;kNFclsTPCrFrac",500,0.,10.,60,0.,1.2.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNFclsTPCrFrac);

  //track checks (TOF)
  histos->UserHistogram("Track","TOFbeta_Mom","kTOFbeta vs Momentum;Mom;TOFbeta",500,0.,5.,120,0.,1.2,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFbeta);
  histos->UserHistogram("Track","TOFPIDBit_Mom","kTOFPIDBit vs Momentum;Mom;TOFPIDbit",500,0.,5.,2,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFPIDBit);

  //track checks (TRD)
  histos->UserHistogram("Track","NclsTRD_Mom","kNclsTRD vs Momentum;Mom;NclsTRD",500,0.,5.,20,0.,20,AliDielectronVarManager::kPIn,AliDielectronVarManager::kNclsTRD);

  histos->UserHistogram("Track","TRDntracklets_Mom","TRDntracklets vs Momentum;Mom;TRDnTracklets",500,0.,5.,20,0.,10.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDntracklets);

  histos->UserHistogram("Track","TRDpidProb_Electrons_Mom","kTRDpidProb_Electrons vs Momentum;Mom;TRDpidProb_Electrons",500,0.,5.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobEle);

   histos->UserHistogram("Track","kTRDpidProb_Pions_Mom","kTRDpidProb_Pions vs Momentum;Mom;kTRDpidProb_Pions",500,0.,5.,100,0.,1.,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTRDprobPio);

  //pid checks
  histos->UserHistogram("Track","ITSnSigma_MomPio","ITS number of sigmas Pion vs Momentum;Mom;ITSsigmaPion",500,0.,5.,1000,-20,20,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSnSigmaPio);
  histos->UserHistogram("Track","TPCnSigma_MomPio","TPC number of sigmas Pions vs Momentum;Mom;TPCsigmaPion",500,0.,5.,1000,-20,20,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaPio);

  histos->UserHistogram("Track","ITSnSigma_MomEle","ITS number of sigmas Electrons vs Momentum;Mom;ITSsigmaEle",500,0.,5.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSnSigmaEle);
  histos->UserHistogram("Track","TPCnSigma_MomEle","TPC number of sigmas Electrons vs Momentum;Mom;TPCsigmaEle",1000,0.,10.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCnSigmaEle);
  histos->UserHistogram("Track","TOFnSigma_MomEle","TOF number of sigmas Electrons vs Momentum;Mom;TOFsigmaEle",500,0.,5.,800,-40,40,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTOFnSigmaEle);

  histos->UserHistogram("Track","ITSdEdx_P","dEdx;P [GeV];ITS signal (arb units) vs Momentum;Mom;ITSsignal", 500,0,5,800,0,200,AliDielectronVarManager::kPIn,AliDielectronVarManager::kITSsignal);
  histos->UserHistogram("Track","TPCdEdx_P","dEdx;P [GeV];TPC signal (arb units) vs Momentum;Mom;TPCsignal", 500,0,10.,800,0,200,AliDielectronVarManager::kPIn,AliDielectronVarManager::kTPCsignal);

  //
  //add histograms to Pair classes
  //

  histos->UserHistogram("Pair","InvMass","Inv.Mass;Inv. Mass [GeV];#pairs",
                        500,0,4,AliDielectronVarManager::kM);

  histos->UserHistogram("Pair","PhiV",";PhiV;#pairs",
                        320,0.,6.4,AliDielectronVarManager::kPhivPair);


   histos->UserHistogram("Pair","PhiV_Pt",";Pt;PhiV",
			 100,0.,10.,320,0.,6.4,AliDielectronVarManager::kPt,AliDielectronVarManager::kPhivPair);

   histos->UserHistogram("Pair","InvMass_bin2","Inv.Mass;Inv. Mass [GeV];#pairs",
	"0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 , 
 	0.4 ,  0.5 , 0.6, 0.65 , 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
	 0.95,  0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 , 
	2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 , 
	3.3 , 3.5, 3.75 , 4.0",AliDielectronVarManager::kM);


   histos->UserHistogram("Pair","InvMass_bin3","Inv.Mass;Inv. Mass [GeV];#pairs",
	"0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 , 
 	0.4 ,  0.5 , 0.6, 0.65 , 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
	 0.95,  0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 , 
	2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 , 
	3.3 , 3.5, 3.65 ,3.8, 4.0",AliDielectronVarManager::kM);

   histos->UserHistogram("Pair","InvMass_bin4","Inv.Mass;Inv. Mass [GeV];#pairs",
	"0. , 0.025, 0.05 , 0.075 ,0.1 ,0.15 , 0.2 , 0.25 , 0.3 , 
 	 0.5 , 0.6, 0.688 , 0.725, 0.75, 0.775, 0.8 , 0.85 ,
	 0.975 , 1.0 , 1.025 , 1.05, 1.125 , 1.25 , 1.5 , 1.75 , 2.0 , 
	2.25, 2.5 , 2.75 , 2.85, 2.95,3.05, 3.1 , 3.15 , 
	3.3 , 3.5, 3.65 ,3.8, 4.0",AliDielectronVarManager::kM);

  histos->UserHistogram("Pair",
                        "InvMass_Pt","InvMass_Pt;InvMass;Pt",
                        500, 0. , 4., 100 , 0., 10. ,
                         AliDielectronVarManager::kM , AliDielectronVarManager::kPt );

  histos->UserHistogram("Pair",
                        "OpAngle","Opening angle;Opening angle;#pairs",
                        320, 0. , 3.2, 
                         AliDielectronVarManager::kOpeningAngle);

  histos->UserHistogram("Pair",
                        "OpAngle_InvMass","OpAngle_InvMass;Opening angle;Invariant Mass",
                        320, 0. , 3.2, 500 , 0. , 4. ,
                         AliDielectronVarManager::kOpeningAngle,AliDielectronVarManager::kM);


  histos->UserHistogram("Pair",
                        "Phi","Phi;counts;Phi",
                        320, 0. , 6.4, AliDielectronVarManager::kPhi);

  histos->UserHistogram("Pair",
                        "Y","Y;counts;Y",
                        -1.2, 1.2 , 2.4, AliDielectronVarManager::kY);

  die->SetHistogramManager(histos);
}




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


   //pair variables
  cf->AddVariable(AliDielectronVarManager::kPt,"0., 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,2.5, 3., 3.5, 4.0, 4.5, 5.");
  //  cf->AddVariable(AliDielectronVarManager::kP,"0., 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,2.5, 3., 3.5, 4.0, 4.5, 5.");
  cf->AddVariable(AliDielectronVarManager::kM,100,0.,4.);
  cf->AddVariable(AliDielectronVarManager::kY,24,-1.2,1.2);
  //  cf->AddVariable(AliDielectronVarManager::kPhi,36, 0., 360.);

  cf->AddVariable(AliDielectronVarManager::kOpeningAngle,62,0.,6.2);
  cf->AddVariable(AliDielectronVarManager::kPhivPair,64, 0., 6.4);
  cf->AddVariable(AliDielectronVarManager::kPairType,4,-0.5,3.5);
  //leg 
  cf->AddVariable(AliDielectronVarManager::kPt,"0., 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,2.5, 3., 3.5, 4.0, 4.5, 5.",kTRUE);
    cf->AddVariable(AliDielectronVarManager::kP,"0., 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0,2.5, 3., 3.5, 4.0, 4.5, 5.",kTRUE);
  cf->AddVariable(AliDielectronVarManager::kEta,20,-1.,1.,kTRUE);
  cf->AddVariable(AliDielectronVarManager::kPhi,36,0.,360.,kTRUE);
  cf->AddVariable(AliDielectronVarManager::kY,50,-1.,1.,kTRUE);
  cf->AddVariable(AliDielectronVarManager::kTPCnSigmaEle,40,-2.,2.,kTRUE);

  //  cf->AddVariable(AliDielectronVarManager::kTOFnSigmaEle,50,-10.,10.,kTRUE);
  //  cf->AddVariable(AliDielectronVarManager::kNclsTPC,"0, 70, 75, 80, 85, 90, 100, 120, 160",kTRUE);

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