]>
Commit | Line | Data |
---|---|---|
cb690a12 | 1 | /************************************************************************** |
2 | * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | ||
17 | // $Id$ | |
18 | ||
19 | // AliAnalysisMuMuConfig : class to hold various configuration | |
20 | // options for the AliAnalysisMuMu and AliAnalysisMuMuEvolution classes | |
21 | // like the list of triggers to consider, the fit to be performed, etc... | |
22 | // both for real data and for simulations (which might differ in e.g. | |
23 | // the naming of the triggers) | |
24 | // | |
25 | // author: Laurent Aphecetche, Subatech | |
26 | // | |
27 | // | |
28 | // TODO : make it readeable/writeable from/to a simple ASCII file ? | |
29 | // | |
30 | ||
31 | #include "AliAnalysisMuMuConfig.h" | |
32 | #include "TObjArray.h" | |
33 | #include "TObjString.h" | |
34 | #include "Riostream.h" | |
35 | #include "TColor.h" | |
36 | #include "TStyle.h" | |
37 | ||
38 | ClassImp(AliAnalysisMuMuConfig) | |
39 | ||
40 | //_____________________________________________________________________________ | |
41 | AliAnalysisMuMuConfig::AliAnalysisMuMuConfig(const char* beamYear) : TObject(), | |
42 | fLists(new TObjArray), | |
43 | fOCDBPath("raw://"), | |
44 | fIsCompactGraphs(kFALSE) | |
45 | { | |
46 | // ctor | |
47 | ||
48 | fLists->SetOwner(kTRUE); | |
49 | ||
50 | fLists->Add(new TObjArray); // list for real data | |
51 | fLists->Add(new TObjArray); // list for simulations | |
52 | ||
53 | DefineDefaults(beamYear); | |
54 | } | |
55 | ||
56 | //_____________________________________________________________________________ | |
57 | AliAnalysisMuMuConfig::~AliAnalysisMuMuConfig() | |
58 | { | |
59 | // dtor | |
60 | delete fLists; | |
61 | } | |
62 | ||
63 | //_____________________________________________________________________________ | |
64 | void AliAnalysisMuMuConfig::DefineDefaults(const char* beamYear) | |
65 | { | |
66 | // define some sensible defaults | |
67 | ||
68 | TString sbeam(beamYear); | |
69 | ||
70 | SetList(kDimuonTriggerList,kTRUE,"CMULLO-B-NOPF-MUON"); | |
71 | SetList(kMuonTriggerList,kTRUE,"CMSNGL-B-NOPF-MUON"); | |
72 | SetList(kEventSelectionList,kTRUE,"ALL"); | |
73 | SetList(kPairSelectionList,kTRUE,"pRABSETAMATCHLOWPAIRY"); //pRABSETAPDCAMATCHLOWPAIRYPAIRPTIN0.0-15.0 //pRABSETAMATCHLOWPAIRYPAIRPTIN0.0-15.0 | |
74 | SetList(kCentralitySelectionList,kTRUE,"V0A"); | |
75 | SetList(kFitTypeList,kTRUE,"func=PSICB2:histoType=minvJPsi:rebin=2:range=2.2;3.9,func=PSINA60NEW:histoType=minvJPsi:rebin=2:range=1.5;4.2,func=PSICB2:histoType=minvPsiP:rebin=2:range=2.0;4.2,func=PSICOUNT:histoType=minv"); | |
76 | // SetList(kFitTypeList,kTRUE,"func=PSICB2:histoType=minvJPsi:rebin=2:range=2.2;3.9,func=PSICOUNT:histoType=minv"); | |
77 | ||
78 | //,func=PSINA60NEW:histoType=minvJPsi:rebin=2:range=1.5;4.2 | |
79 | //func=PSINA60NEW:histoType=minvJPsi:range=1.6;4.0:rebin=2,func=PSINA60NEW:histoType=minvPsiP:range=1.4;5.0:rebin=2 | |
80 | //:alJPsi=1.0469:nlJPsi=4.1687:auJPsi=2.2517:nuJPsi=3.0778 (JPsi tails from raw spectra) | |
81 | //:alPsiP=1.0289:nlPsiP=3.86131:auPsiP=2.2737:nuPsiP=2.8995 (JPsi tails from AccxEff corr spectra to apply to PsiP spectra) | |
82 | ||
83 | if (sbeam=="pPb2013" || sbeam=="Pbp2013") | |
84 | { | |
85 | SetList(kDimuonTriggerList,kFALSE,"CMUL7-B-NOPF-MUON"); | |
86 | SetList(kMuonTriggerList,kFALSE,"CMSL7-B-NOPF-MUON"); | |
87 | SetList(kMinbiasTriggerList,kFALSE,"CINT7-B-NOPF-ALLNOTRD"); | |
88 | SetList(kEventSelectionList,kFALSE,"PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00,PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50,PSALLHASSPD,PSALL"); | |
89 | SetList(kPairSelectionList,kFALSE,"pRABSETAPDCAMATCHLOWPAIRYPAIRPTIN0.0-15.0"); | |
90 | SetList(kCentralitySelectionList,kFALSE,"V0A"); | |
91 | ||
92 | // SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=0.9,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.1,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=0.9,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.1,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt"); | |
93 | ||
94 | SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt"); | |
95 | ||
96 | // SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=0.9,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.1,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=0.9,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=0.9,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.1,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=0.9,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt"); | |
97 | ||
98 | //,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt //Removed because bad results for pPb mean pt | |
99 | ||
100 | // SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=0.9,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.1,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=0.9,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=0.9,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.1,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=0.9,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWVWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWVWG_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWVWG_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWVWG_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt"); | |
101 | ||
102 | //,func=PSIPSIPRIMENA60NEWVWG:rebin=2:histoType=minv:tails=mctails | |
103 | //func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctailsJPsi&PsiP, func=PSIPSIPRIMECB2VWG;MPT2CB2VWGPOL2:rebin=2:histoType=minv&mpt:tails=mctailsJsi&PsiP(We can think about somth like this to make the combined fits),func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:alJPsi=0.984:nlJPsi=5.839:auJPsi=1.972:nuJPsi=3.444 | |
104 | //func=PSIPSIPRIMECB2VWGINDEPTAILS:rebin=2:tails=mctails:histoType=minv, | |
105 | //Tails key migth be unneccesary since we have already different fitting function names(think about it) | |
106 | } | |
107 | else if (sbeam=="pp2012_7") | |
108 | { | |
109 | // SetList(kDimuonTriggerList,kFALSE,"CMUL7-S-NOPF-MUON"); | |
110 | SetList(kDimuonTriggerList,kFALSE,"CMUL7-S-NOPF-MUON"); | |
111 | SetList(kMuonTriggerList,kFALSE,"CMSL7-S-NOPF-MUON"); | |
112 | SetList(kMinbiasTriggerList,kFALSE,"CINT7-S-NOPF-ALLNOTRD"); | |
113 | SetList(kEventSelectionList,kFALSE,"PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00"); | |
114 | SetList(kPairSelectionList,kFALSE,"pRABSETAPDCAMATCHLOWPAIRYPAIRPTIN0.0-15.0"); | |
115 | SetList(kCentralitySelectionList,kFALSE,"V0A"); | |
116 | ||
117 | SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt");//:sigmapsip=1.0 | |
118 | SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2POL4EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt"); | |
119 | ||
120 | SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=0.9,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.1,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=0.9,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.,func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWVWG:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWVWG:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=0.9,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.0;5.0:fsigmapsip=1.1,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=0.9,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.,func=PSIPSIPRIMECB2POL2EXP:rebin=2:histoType=minv:tails=mctails:range=2.2;4.7:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.0;5.0:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=0.9,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.,func=PSIPSIPRIMENA60NEWPOL2EXP:range=2.2;4.7:rebin=2:histoType=minv:tails=mctails:fsigmapsip=1.1,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMECB2POL2EXP_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWVWG_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWVWG_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWVWG_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWVWG_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2:range=2.2;4.7:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2EXP:range=2.0;5.:rebin=2:histoType=mpt,func=MPTPSIPSIPRIMENA60NEWPOL2EXP_BKGMPTPOL2EXP:range=2.2;4.7:rebin=2:histoType=mpt"); | |
121 | ||
122 | //SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:rebin=2:histoType=mpt"); | |
123 | //MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2 | |
124 | //func=PSIPSIPRIMECB2VWGINDEPTAILS:rebin=2:tails=mctails:histoType=minv, | |
125 | //func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctailsJPsi&PsiP, func=PSIPSIPRIMECB2VWG;MPT2CB2VWGPOL2:rebin=2:histoType=minv&mpt:tails=mctailsJsi&PsiP(We can think about somth like this to make the combined fits),func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:alJPsi=0.984:nlJPsi=5.839:auJPsi=1.972:nuJPsi=3.444 | |
126 | //Tails key migth be unneccesary since we have already different fitting function names(think about it) | |
127 | } | |
128 | ||
129 | else if (sbeam=="pp2012_8") | |
130 | { | |
131 | // SetList(kDimuonTriggerList,kFALSE,"CMUL7-S-NOPF-MUON"); | |
132 | SetList(kDimuonTriggerList,kFALSE,"CMUL8-S-NOPF-MUON"); | |
133 | SetList(kMuonTriggerList,kFALSE,"CMSL7-8-NOPF-MUON"); | |
134 | SetList(kMinbiasTriggerList,kFALSE,"CINT8-S-NOPF-ALLNOTRD"); | |
135 | SetList(kEventSelectionList,kFALSE,"PSALLHASSPDSPDZQA_RES0.25_ZDIF0.50SPDABSZLT10.00"); | |
136 | SetList(kPairSelectionList,kFALSE,"pRABSETAPDCAMATCHLOWPAIRYPAIRPTIN0.0-15.0"); | |
137 | SetList(kCentralitySelectionList,kFALSE,"V0A"); | |
138 | SetList(kFitTypeList,kFALSE,"func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctails,func=MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2:rebin=2:histoType=mpt"); | |
139 | //MPTPSIPSIPRIMECB2VWG_BKGMPTPOL2 | |
140 | //func=PSIPSIPRIMECB2VWGINDEPTAILS:rebin=2:tails=mctails:histoType=minv, | |
141 | //func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:tails=mctailsJPsi&PsiP, func=PSIPSIPRIMECB2VWG;MPT2CB2VWGPOL2:rebin=2:histoType=minv&mpt:tails=mctailsJsi&PsiP(We can think about somth like this to make the combined fits),func=PSIPSIPRIMECB2VWG:rebin=2:histoType=minv:alJPsi=0.984:nlJPsi=5.839:auJPsi=1.972:nuJPsi=3.444 | |
142 | //Tails key migth be unneccesary since we have already different fitting function names(think about it) | |
143 | } | |
144 | ||
145 | } | |
146 | ||
147 | //_____________________________________________________________________________ | |
148 | TString AliAnalysisMuMuConfig::GetList(ETypeList type, Bool_t simulation) const | |
149 | { | |
150 | /// Get the value for a given list. If simulation=true and the list is not | |
151 | /// there for that type, the list from real data is returned | |
152 | TObjArray* array = static_cast<TObjArray*>(fLists->At(simulation)); | |
153 | TObjString* str = static_cast<TObjString*>(array->At(type)); | |
154 | if ( !str && simulation ) | |
155 | { | |
156 | return GetList(type,kFALSE); | |
157 | } | |
158 | return str->String(); | |
159 | } | |
160 | ||
161 | //_____________________________________________________________________________ | |
162 | TObjArray* AliAnalysisMuMuConfig::GetListElements(ETypeList type, Bool_t simulation) const | |
163 | { | |
164 | /// Get list as an array (to be deleted by the user) | |
165 | TString list = GetList(type,simulation); | |
166 | return list.Tokenize(","); | |
167 | } | |
168 | ||
169 | //_____________________________________________________________________________ | |
170 | void AliAnalysisMuMuConfig::SetList(ETypeList type, Bool_t simulation, const char* list) | |
171 | { | |
172 | /// Set the list of a given type | |
173 | TObjArray* array = static_cast<TObjArray*>(fLists->At(simulation)); | |
174 | TObjString* str = static_cast<TObjString*>(array->At(type)); | |
175 | if (!str) | |
176 | { | |
177 | str = new TObjString; | |
178 | array->AddAt(str,type); | |
179 | } | |
180 | str->String() = list; | |
181 | } | |
182 | ||
183 | //_____________________________________________________________________________ | |
184 | void AliAnalysisMuMuConfig::ShowLists(const char* title, ETypeList type, const char separator, const TString& opt) const | |
185 | { | |
186 | /// Show the real and sim list of a given type | |
187 | ||
188 | std::cout << title << std::endl; | |
189 | ||
190 | TString list; | |
191 | ||
192 | if ( opt.Contains("REAL",TString::kIgnoreCase) ) | |
193 | { | |
194 | list = GetList(type,kFALSE); | |
195 | ShowList("real",list,separator); | |
196 | } | |
197 | if ( opt.Contains("SIM",TString::kIgnoreCase) ) | |
198 | { | |
199 | list = GetList(type,kTRUE); | |
200 | ShowList("sim",list,separator); | |
201 | } | |
202 | } | |
203 | ||
204 | //_____________________________________________________________________________ | |
205 | void AliAnalysisMuMuConfig::ShowList(const char* title, const TString& list, const char separator) const | |
206 | { | |
207 | /// Show the list content | |
208 | ||
209 | TObjArray* parts = list.Tokenize(separator); | |
210 | ||
211 | TIter next(parts); | |
212 | TObjString* str; | |
213 | ||
214 | std::cout << " " << title << " (" << parts->GetEntries() << ")" << std::endl; | |
215 | ||
216 | while ( ( str = static_cast<TObjString*>(next()) ) ) | |
217 | { | |
218 | std::cout << " " << str->String().Data() << std::endl; | |
219 | } | |
220 | ||
221 | delete parts; | |
222 | } | |
223 | ||
224 | //_____________________________________________________________________________ | |
225 | void AliAnalysisMuMuConfig::Print(Option_t* opt) const | |
226 | { | |
227 | /// printout | |
228 | /// Use opt = "REAL" to show only things relevant to real data | |
229 | /// Use opt = "SIM" to show only things relevant to simulation | |
230 | /// Use opt = "REAL SIM" or "" to show everything | |
231 | ||
232 | TString sopt(opt); | |
233 | sopt.ToUpper(); | |
234 | ||
235 | if (sopt.Length()==0) | |
236 | { | |
237 | sopt = "REAL SIM"; | |
238 | } | |
239 | ||
240 | ShowLists("Dimuon triggers",kDimuonTriggerList,',',sopt.Data()); | |
241 | ShowLists("Muon triggers",kMuonTriggerList,',',sopt.Data()); | |
242 | ShowLists("MB triggers",kMinbiasTriggerList,',',sopt.Data()); | |
243 | ShowLists("Event selection",kEventSelectionList,',',sopt.Data()); | |
244 | ShowLists("Pair selection",kPairSelectionList,',',sopt.Data()); | |
245 | ShowLists("Centrality selection",kCentralitySelectionList,',',sopt.Data()); | |
246 | ShowLists("Fit types",kFitTypeList,',',sopt.Data()); | |
247 | } | |
248 | ||
249 | //_____________________________________________________________________________ | |
250 | void AliAnalysisMuMuConfig::SetColorScheme() | |
251 | { | |
252 | /// Set a few custom colors | |
253 | ||
254 | new TColor(AliAnalysisMuMuConfig::kBlue,4/255.0,44/255.0,87/255.0,"my blue"); | |
255 | new TColor(AliAnalysisMuMuConfig::kOrange,255/255.0,83/255.0,8/255.0,"my orange"); | |
256 | new TColor(AliAnalysisMuMuConfig::kGreen,152/255.0,202/255.0,52/255.0,"my green"); | |
257 | ||
258 | gStyle->SetGridColor(AliAnalysisMuMuConfig::kBlue); | |
259 | ||
260 | gStyle->SetFrameLineColor(AliAnalysisMuMuConfig::kBlue); | |
261 | gStyle->SetAxisColor(AliAnalysisMuMuConfig::kBlue,"xyz"); | |
262 | gStyle->SetLabelColor(AliAnalysisMuMuConfig::kBlue,"xyz"); | |
263 | ||
264 | gStyle->SetTitleColor(AliAnalysisMuMuConfig::kBlue); | |
265 | gStyle->SetTitleTextColor(AliAnalysisMuMuConfig::kBlue); | |
266 | gStyle->SetLabelColor(AliAnalysisMuMuConfig::kBlue); | |
267 | gStyle->SetStatTextColor(AliAnalysisMuMuConfig::kBlue); | |
268 | ||
269 | gStyle->SetOptStat(0); | |
270 | } |