ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

// average track multiplicity
// author: Eulogio Serradilla <eulogio.serradilla@cern.ch>

#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include <TString.h>
#endif

Double_t GetMeanNtrk08(const TString& period);
Double_t GetMeanNtrk05(const TString& period);
Double_t GetV0ANDMeanNtrk08(const TString& period);
Double_t GetV0ANDMeanNtrk05(const TString& period);

Double_t MeanNtrk(const TString& period, Double_t eta, Bool_t v0and)
{
//
// average track multiplicity for the given period and speudorapidity
//
	Double_t mntrk = 1;
	
	TString periodl = period;
	periodl.ToLower();
	
	if(TMath::Abs(eta) > 0.51)
	{
		mntrk = (v0and) ? GetV0ANDMeanNtrk08(periodl) : GetMeanNtrk08(periodl);
	}
	else
	{
		mntrk = (v0and) ? GetV0ANDMeanNtrk05(periodl) : GetMeanNtrk05(periodl);
	}
	
	if(mntrk == 1)
	{
		std::cerr << "Warning in MeanNtrk: no <Ntrk> for period " << period << " and |eta| < " << eta << std::endl;
	}
	
	return mntrk;
}

Double_t GetMeanNtrk08(const TString& period)
{
//
// average track multiplicity for |eta| < 0.8
//
	if(period == "lhc10b")   return 9.68887; // pass3
	if(period == "lhc10c")   return 9.66970; // pass3
	if(period == "lhc10d")   return 9.47466; // pass2
	if(period == "lhc10e")   return 9.55678; // pass2
	
	// MC
	if(period == "lhc10f6a") return 7.15259;
	if(period == "lhc10e21") return 7.69483;
	
	return 1;
}

Double_t GetMeanNtrk05(const TString& period)
{
//
// average track multiplicity for |eta| < 0.5
//
	if(period == "lhc10c900")    return 3.70158; // pass3
	if(period == "lhc10b_pass2") return 9.86258;
	if(period == "lhc10c_pass2") return 9.61402;
	if(period == "lhc10b")       return 5.96104; // pass3
	if(period == "lhc10c")       return 5.94719; // pass3
	if(period == "lhc10d")       return 5.82333; // pass2
	if(period == "lhc10e")       return 5.89367; // pass2
	if(period == "lhc11a_wosdd") return 4.28597; // pass3
	if(period == "lhc11a_wsdd")  return 4.69927; // pass4
	
	// MC
	if(period == "lhc10e13")            return 3.13712;
	if(period == "lhc10f6a")            return 4.41362;
	if(period == "lhc10e21")            return 4.74991;
	if(period == "lhc11e3a_plus_wosdd") return 3.37669;
	if(period == "lhc11e3a_plus_wsdd")  return 3.47885;
	
	if(period == "lhc12a5a")            return 29.264;
	if(period == "lhc12a5bb")           return 31.0288;
	if(period == "lhc12a5bc")           return 30.6888;
	if(period == "lhc12a5bd")           return 30.3528;
	if(period == "lhc12a5be")           return 29.9859;
	if(period == "lhc12a5c_wsdd")       return 27.5981;
	
	return 1;
}

Double_t GetV0ANDMeanNtrk08(const TString& period)
{
//
// average track multiplicity for |eta| < 0.8 (V0AND)
//
	if(period == "lhc10b")   return 10.0630; // pass3
	if(period == "lhc10c")   return 10.0292; // pass3
	if(period == "lhc10d")   return 9.77129; // pass2
	if(period == "lhc10e")   return 9.90511; // pass2
	
	// MC
	if(period == "lhc10f6a") return 7.5087;
	if(period == "lhc10e21") return 7.91423;
	
	return 1;
}

Double_t GetV0ANDMeanNtrk05(const TString& period)
{
//
// average track multiplicity for |eta| < 0.5 (V0AND)
//
	if(period =="lhc10c900")    return 3.84362; // pass3
	if(period =="lhc10b")       return 6.18470; // pass3
	if(period =="lhc10c")       return 6.16175; // pass3
	if(period =="lhc10d")       return 6.03108; // pass2
	if(period =="lhc10e")       return 6.10384; // pass2
	if(period =="lhc11a_wosdd") return 4.40312; // pass3
	if(period =="lhc11a_wsdd")  return 4.87609; // pass4
	
	// MC
	if(period =="lhc10e13")            return 3.33273;
	if(period =="lhc10f6a")            return 4.80771;
	if(period =="lhc10e21")            return 4.91967;
	if(period =="lhc11e3a_plus_wosdd") return 3.4774;
	if(period =="lhc11e3a_plus_wsdd")  return 3.6467;
	
	if(period =="lhc12a5a")            return 29.3414;
	if(period =="lhc12a5bb")           return 31.1514;
	if(period =="lhc12a5bc")           return 30.7877;
	if(period =="lhc12a5bd")           return 30.4706;
	if(period =="lhc12a5be")           return 30.1013;
	if(period =="lhc12a5c_wsdd")       return 27.6921;
	
	return 1;
}
 MeanNtrk.C:1
 MeanNtrk.C:2
 MeanNtrk.C:3
 MeanNtrk.C:4
 MeanNtrk.C:5
 MeanNtrk.C:6
 MeanNtrk.C:7
 MeanNtrk.C:8
 MeanNtrk.C:9
 MeanNtrk.C:10
 MeanNtrk.C:11
 MeanNtrk.C:12
 MeanNtrk.C:13
 MeanNtrk.C:14
 MeanNtrk.C:15
 MeanNtrk.C:16
 MeanNtrk.C:17
 MeanNtrk.C:18
 MeanNtrk.C:19
 MeanNtrk.C:20
 MeanNtrk.C:21
 MeanNtrk.C:22
 MeanNtrk.C:23
 MeanNtrk.C:24
 MeanNtrk.C:25
 MeanNtrk.C:26
 MeanNtrk.C:27
 MeanNtrk.C:28
 MeanNtrk.C:29
 MeanNtrk.C:30
 MeanNtrk.C:31
 MeanNtrk.C:32
 MeanNtrk.C:33
 MeanNtrk.C:34
 MeanNtrk.C:35
 MeanNtrk.C:36
 MeanNtrk.C:37
 MeanNtrk.C:38
 MeanNtrk.C:39
 MeanNtrk.C:40
 MeanNtrk.C:41
 MeanNtrk.C:42
 MeanNtrk.C:43
 MeanNtrk.C:44
 MeanNtrk.C:45
 MeanNtrk.C:46
 MeanNtrk.C:47
 MeanNtrk.C:48
 MeanNtrk.C:49
 MeanNtrk.C:50
 MeanNtrk.C:51
 MeanNtrk.C:52
 MeanNtrk.C:53
 MeanNtrk.C:54
 MeanNtrk.C:55
 MeanNtrk.C:56
 MeanNtrk.C:57
 MeanNtrk.C:58
 MeanNtrk.C:59
 MeanNtrk.C:60
 MeanNtrk.C:61
 MeanNtrk.C:62
 MeanNtrk.C:63
 MeanNtrk.C:64
 MeanNtrk.C:65
 MeanNtrk.C:66
 MeanNtrk.C:67
 MeanNtrk.C:68
 MeanNtrk.C:69
 MeanNtrk.C:70
 MeanNtrk.C:71
 MeanNtrk.C:72
 MeanNtrk.C:73
 MeanNtrk.C:74
 MeanNtrk.C:75
 MeanNtrk.C:76
 MeanNtrk.C:77
 MeanNtrk.C:78
 MeanNtrk.C:79
 MeanNtrk.C:80
 MeanNtrk.C:81
 MeanNtrk.C:82
 MeanNtrk.C:83
 MeanNtrk.C:84
 MeanNtrk.C:85
 MeanNtrk.C:86
 MeanNtrk.C:87
 MeanNtrk.C:88
 MeanNtrk.C:89
 MeanNtrk.C:90
 MeanNtrk.C:91
 MeanNtrk.C:92
 MeanNtrk.C:93
 MeanNtrk.C:94
 MeanNtrk.C:95
 MeanNtrk.C:96
 MeanNtrk.C:97
 MeanNtrk.C:98
 MeanNtrk.C:99
 MeanNtrk.C:100
 MeanNtrk.C:101
 MeanNtrk.C:102
 MeanNtrk.C:103
 MeanNtrk.C:104
 MeanNtrk.C:105
 MeanNtrk.C:106
 MeanNtrk.C:107
 MeanNtrk.C:108
 MeanNtrk.C:109
 MeanNtrk.C:110
 MeanNtrk.C:111
 MeanNtrk.C:112
 MeanNtrk.C:113
 MeanNtrk.C:114
 MeanNtrk.C:115
 MeanNtrk.C:116
 MeanNtrk.C:117
 MeanNtrk.C:118
 MeanNtrk.C:119
 MeanNtrk.C:120
 MeanNtrk.C:121
 MeanNtrk.C:122
 MeanNtrk.C:123
 MeanNtrk.C:124
 MeanNtrk.C:125
 MeanNtrk.C:126
 MeanNtrk.C:127
 MeanNtrk.C:128
 MeanNtrk.C:129
 MeanNtrk.C:130
 MeanNtrk.C:131
 MeanNtrk.C:132
 MeanNtrk.C:133
 MeanNtrk.C:134
 MeanNtrk.C:135
 MeanNtrk.C:136
 MeanNtrk.C:137
 MeanNtrk.C:138
 MeanNtrk.C:139
 MeanNtrk.C:140
 MeanNtrk.C:141
 MeanNtrk.C:142
 MeanNtrk.C:143
 MeanNtrk.C:144
 MeanNtrk.C:145
 MeanNtrk.C:146
 MeanNtrk.C:147
 MeanNtrk.C:148
 MeanNtrk.C:149
 MeanNtrk.C:150
 MeanNtrk.C:151