| Report problems to ATLAS LXR Team (with time and IP address indicated) |
|
[ source navigation ] [ diff markup ] [ identifier search ] [ general search ] |
||||
|
||||||
| Links to LXR source navigation pages for stable releases | [ 12.*.* ] [ 13.*.* ] [ 14.*.* ] [ 15.*.* ] | |||||
001 ///////////////////////////////////////////////////////////////////////////////////////////////////// 002 /// Name : JetFitterLikelihood.h 003 /// Package : BTagTools 004 /// Author : Giacinto Piacquadio, Christian Weiser (University of Freiburg) 005 /// Created : March 2007 006 /// 007 /// DESCRIPTION: 008 /// 009 /// This class computes the likelihood value for being b-jet, c-jet or uds-jet for 010 /// a single event. The RooFit toolkit for data modeling is used here. 011 /// 012 /////////////////////////////////////////////////////////////////////////////////////////////////////// 013 #include "GaudiKernel/ITHistSvc.h" 014 015 #include <TMath.h> 016 #include <TH1.h> 017 018 #include <RooCategory.h> 019 #include <RooMappedCategory.h> 020 #include <RooRealVar.h> 021 #include <RooThresholdCategory.h> 022 #include <RooFormulaVar.h> 023 #include <RooArgList.h> 024 #include <RooProdPdf.h> 025 #include <RooAddPdf.h> 026 #include <RooSuperCategory.h> 027 #include <RooMappedCategory.h> 028 #include <RooSimultaneous.h> 029 #include <RooArgSet.h> 030 #include <RooParametricStepFunction.h> 031 #include <RooDataHist.h> 032 #include <RooHistPdf.h> 033 #include <RooAbsCollection.h> 034 035 036 #include "JetTagTools/JetFitterLikelihood.h" 037 038 #include "JetTagInfo/JetFitterTagInfo.h" 039 040 #include "JetTagCalibration/CalibrationBroker.h" 041 042 namespace Analysis { 043 044 045 JetFitterLikelihood::JetFitterLikelihood(const std::string& name, 046 const std::string& n, const IInterface* p): 047 AthAlgTool(name, n,p), 048 m_calibrationTool("BTagCalibrationBroker"), 049 m_calibrationDirectory("JetFitter"), 050 m_calibrationSubDirectory("RooFitLikelihood") 051 { 052 //this will stay for the moment 053 declareProperty("JetFitterCofficientFileNames",m_textFileNames); 054 declareProperty("JetFitterCoefficientFileKeys",m_keyToTextFileNames); 055 056 //histo files... now from calibrationBroker 057 declareProperty("CalibrationDirectory",m_calibrationDirectory); 058 declareProperty("CalibrationSubDirectory",m_calibrationSubDirectory); 059 declareProperty("calibrationTool", m_calibrationTool); 060 declareInterface<JetFitterLikelihood>(this); 061 } 062 063 ///////////////////////////////////////////////////////////////////////////////////// 064 /// Destructor - check up memory allocation 065 /// delete any memory allocation on the heap 066 067 JetFitterLikelihood::~JetFitterLikelihood() { 068 069 /* 070 std::map<std::string,RooSimultaneous*>::iterator begin=m_likelihoods.begin(); 071 std::map<std::string,RooSimultaneous*>::iterator end=m_likelihoods.end(); 072 073 for( std::map<std::string,RooSimultaneous*>::iterator iter=begin;iter!=end;++iter) { 074 if ((*iter).second!=0) { 075 delete (*iter).second; 076 (*iter).second=0; 077 } 078 } 079 080 */ 081 082 } 083 084 StatusCode JetFitterLikelihood::initialize() { 085 086 // std::cout << " Size of coefficients: " << m_textFileNames.size() << " and " << 087 // m_keyToTextFileNames.size() << std::endl; 088 089 StatusCode sc = m_calibrationTool.retrieve(); 090 if (sc.isFailure()) 091 { 092 ATH_MSG_FATAL(" Could not retrieve " << m_calibrationTool << ". Aborting..."); 093 return sc; 094 } else ATH_MSG_INFO(" Retrieved: " << m_calibrationTool); 095 096 m_myRooVariables=new RooArgSet("JetFitterRooArgSet"); 097 098 RooCategory *cat_nVTX=new RooCategory("cat_nVTX","number of vertices category"); 099 cat_nVTX->defineType("NoVTX",0); 100 cat_nVTX->defineType("1VTX",1); 101 cat_nVTX->defineType("2VTX",2); 102 cat_nVTX->defineType("3VTX",3); 103 cat_nVTX->defineType("4VTX",4); 104 cat_nVTX->defineType("5VTX",5);//I hope not to need more!!! 105 cat_nVTX->defineType("6VTX",6);//I hope not to need more!!! 106 cat_nVTX->defineType("7VTX",7);//I hope not to need more!!! 107 cat_nVTX->defineType("8VTX",8);//I hope not to need more!!! 108 cat_nVTX->defineType("9VTX",9);//I hope not to need more!!! 109 cat_nVTX->defineType("10VTX",10);//I hope not to need more!!! 110 m_myRooVariables->addOwned(*cat_nVTX); 111 112 113 RooCategory* cat_nTracksAtVtx=new RooCategory("cat_nTracksAtVtx","number of tracks at Vertices"); 114 cat_nTracksAtVtx->defineType("NoTrackVTX",0); 115 cat_nTracksAtVtx->defineType("2TrackVTX",2); 116 cat_nTracksAtVtx->defineType("3TrackVTX",3); 117 cat_nTracksAtVtx->defineType("4TrackVTX",4); 118 cat_nTracksAtVtx->defineType("5TrackVTX",5); 119 cat_nTracksAtVtx->defineType("6TrackVTX",6); 120 cat_nTracksAtVtx->defineType("7TrackVTX",7); 121 cat_nTracksAtVtx->defineType("8TrackVTX",8); 122 cat_nTracksAtVtx->defineType("9TrackVTX",9); 123 cat_nTracksAtVtx->defineType("10TrackVTX",10); 124 cat_nTracksAtVtx->defineType("11TrackVTX",11); 125 cat_nTracksAtVtx->defineType("12TrackVTX",12); 126 cat_nTracksAtVtx->defineType("13TrackVTX",13); 127 cat_nTracksAtVtx->defineType("14TrackVTX",14); 128 cat_nTracksAtVtx->defineType("15TrackVTX",15); 129 cat_nTracksAtVtx->defineType("16TrackVTX",16); 130 cat_nTracksAtVtx->defineType("17TrackVTX",17); 131 cat_nTracksAtVtx->defineType("18TrackVTX",18); 132 cat_nTracksAtVtx->defineType("19TrackVTX",19); 133 cat_nTracksAtVtx->defineType("20TrackVTX",20); 134 cat_nTracksAtVtx->defineType("21TrackVTX",21); 135 cat_nTracksAtVtx->defineType("22TrackVTX",22); 136 cat_nTracksAtVtx->defineType("23TrackVTX",23); 137 cat_nTracksAtVtx->defineType("24TrackVTX",24); 138 cat_nTracksAtVtx->defineType("25TrackVTX",25); 139 cat_nTracksAtVtx->defineType("26TrackVTX",26); 140 cat_nTracksAtVtx->defineType("27TrackVTX",27); 141 cat_nTracksAtVtx->defineType("28TrackVTX",28); 142 cat_nTracksAtVtx->defineType("29TrackVTX",29); 143 cat_nTracksAtVtx->defineType("30TrackVTX",30); 144 cat_nTracksAtVtx->defineType("31TrackVTX",31); 145 cat_nTracksAtVtx->defineType("32TrackVTX",32); 146 cat_nTracksAtVtx->defineType("33TrackVTX",33); 147 cat_nTracksAtVtx->defineType("34TrackVTX",34); 148 cat_nTracksAtVtx->defineType("35TrackVTX",35); 149 cat_nTracksAtVtx->defineType("36TrackVTX",36); 150 cat_nTracksAtVtx->defineType("37TrackVTX",37); 151 cat_nTracksAtVtx->defineType("38TrackVTX",38); 152 cat_nTracksAtVtx->defineType("39TrackVTX",39); 153 cat_nTracksAtVtx->defineType("40TrackVTX",40); 154 cat_nTracksAtVtx->defineType("41TrackVTX",41); 155 cat_nTracksAtVtx->defineType("42TrackVTX",42); 156 cat_nTracksAtVtx->defineType("43TrackVTX",43); 157 cat_nTracksAtVtx->defineType("44TrackVTX",44); 158 cat_nTracksAtVtx->defineType("45TrackVTX",45); 159 cat_nTracksAtVtx->defineType("46TrackVTX",46); 160 cat_nTracksAtVtx->defineType("47TrackVTX",47); 161 cat_nTracksAtVtx->defineType("48TrackVTX",48); 162 cat_nTracksAtVtx->defineType("49TrackVTX",49); 163 cat_nTracksAtVtx->defineType("50TrackVTX",50); 164 165 166 m_myRooVariables->addOwned(*cat_nTracksAtVtx); 167 168 RooCategory* cat_nSingleTracks=new RooCategory("cat_nSingleTracks","number of single significant tracks"); 169 cat_nSingleTracks->defineType("NoSingleTrack",0); 170 cat_nSingleTracks->defineType("1SingleTrack",1); 171 cat_nSingleTracks->defineType("2SingleTrack",2); 172 cat_nSingleTracks->defineType("3SingleTrack",3); 173 cat_nSingleTracks->defineType("4SingleTrack",4); 174 cat_nSingleTracks->defineType("5SingleTrack",5); 175 cat_nSingleTracks->defineType("6SingleTrack",6); 176 cat_nSingleTracks->defineType("7SingleTrack",7); 177 cat_nSingleTracks->defineType("8SingleTrack",8); 178 cat_nSingleTracks->defineType("9SingleTrack",9); 179 cat_nSingleTracks->defineType("10SingleTrack",10); 180 cat_nSingleTracks->defineType("11SingleTrack",11); 181 cat_nSingleTracks->defineType("12SingleTrack",12); 182 cat_nSingleTracks->defineType("13SingleTrack",13); 183 cat_nSingleTracks->defineType("14SingleTrack",14); 184 cat_nSingleTracks->defineType("15SingleTrack",15); 185 m_myRooVariables->addOwned(*cat_nSingleTracks); 186 187 RooMappedCategory* mycat_nVTX_nolvalue=new RooMappedCategory("mycat_nVTX_nolvalue","number of vertices categories",*cat_nVTX);//,"Undefined"); 188 mycat_nVTX_nolvalue->map("NoVTX","NoVTX"); 189 mycat_nVTX_nolvalue->map("1VTX","1VTX"); 190 mycat_nVTX_nolvalue->map("2VTX","2orMoreVTX"); 191 mycat_nVTX_nolvalue->map("3VTX","2orMoreVTX"); 192 mycat_nVTX_nolvalue->map("4VTX","2orMoreVTX"); 193 mycat_nVTX_nolvalue->map("5VTX","2orMoreVTX"); 194 mycat_nVTX_nolvalue->map("6VTX","2orMoreVTX"); 195 mycat_nVTX_nolvalue->map("7VTX","2orMoreVTX"); 196 mycat_nVTX_nolvalue->map("8VTX","2orMoreVTX"); 197 mycat_nVTX_nolvalue->map("9VTX","2orMoreVTX"); 198 mycat_nVTX_nolvalue->map("10VTX","2orMoreVTX"); 199 m_myRooVariables->addOwned(*mycat_nVTX_nolvalue); 200 201 RooCategory* mycat_nVTX=static_cast<RooCategory*>(mycat_nVTX_nolvalue->createFundamental("mycat_nVTX")); 202 m_myRooVariables->addOwned(*mycat_nVTX); 203 // m_fictiousToRealCategory[mycat_nVTX_nolvalue]=mycat_nVTX; 204 205 RooMappedCategory* mycat_nTracksAtVtx6Bin_nolvalue= 206 new RooMappedCategory("mycat_nTracksAtVtx6Bin_nolvalue","number of tracks at vertices category",*cat_nTracksAtVtx);//,"Undefined"); 207 mycat_nTracksAtVtx6Bin_nolvalue->map("NoTrackVTX","NoTrackVTX"); 208 mycat_nTracksAtVtx6Bin_nolvalue->map("2TrackVTX","2TrackVTX"); 209 mycat_nTracksAtVtx6Bin_nolvalue->map("3TrackVTX","3TrackVTX"); 210 mycat_nTracksAtVtx6Bin_nolvalue->map("4TrackVTX","4TrackVTX"); 211 mycat_nTracksAtVtx6Bin_nolvalue->map("5TrackVTX","5or6TrackVTX"); 212 mycat_nTracksAtVtx6Bin_nolvalue->map("6TrackVTX","5or6TrackVTX"); 213 mycat_nTracksAtVtx6Bin_nolvalue->map("7TrackVTX","7orMoreTrackVTX"); 214 mycat_nTracksAtVtx6Bin_nolvalue->map("8TrackVTX","7orMoreTrackVTX"); 215 mycat_nTracksAtVtx6Bin_nolvalue->map("9TrackVTX","7orMoreTrackVTX"); 216 mycat_nTracksAtVtx6Bin_nolvalue->map("10TrackVTX","7orMoreTrackVTX"); 217 mycat_nTracksAtVtx6Bin_nolvalue->map("11TrackVTX","7orMoreTrackVTX"); 218 mycat_nTracksAtVtx6Bin_nolvalue->map("12TrackVTX","7orMoreTrackVTX"); 219 mycat_nTracksAtVtx6Bin_nolvalue->map("13TrackVTX","7orMoreTrackVTX"); 220 mycat_nTracksAtVtx6Bin_nolvalue->map("14TrackVTX","7orMoreTrackVTX"); 221 mycat_nTracksAtVtx6Bin_nolvalue->map("15TrackVTX","7orMoreTrackVTX"); 222 mycat_nTracksAtVtx6Bin_nolvalue->map("16TrackVTX","7orMoreTrackVTX"); 223 mycat_nTracksAtVtx6Bin_nolvalue->map("17TrackVTX","7orMoreTrackVTX"); 224 mycat_nTracksAtVtx6Bin_nolvalue->map("18TrackVTX","7orMoreTrackVTX"); 225 mycat_nTracksAtVtx6Bin_nolvalue->map("19TrackVTX","7orMoreTrackVTX"); 226 mycat_nTracksAtVtx6Bin_nolvalue->map("20TrackVTX","7orMoreTrackVTX"); 227 mycat_nTracksAtVtx6Bin_nolvalue->map("21TrackVTX","7orMoreTrackVTX"); 228 mycat_nTracksAtVtx6Bin_nolvalue->map("22TrackVTX","7orMoreTrackVTX"); 229 mycat_nTracksAtVtx6Bin_nolvalue->map("23TrackVTX","7orMoreTrackVTX"); 230 mycat_nTracksAtVtx6Bin_nolvalue->map("24TrackVTX","7orMoreTrackVTX"); 231 mycat_nTracksAtVtx6Bin_nolvalue->map("25TrackVTX","7orMoreTrackVTX"); 232 mycat_nTracksAtVtx6Bin_nolvalue->map("26TrackVTX","7orMoreTrackVTX"); 233 mycat_nTracksAtVtx6Bin_nolvalue->map("27TrackVTX","7orMoreTrackVTX"); 234 mycat_nTracksAtVtx6Bin_nolvalue->map("28TrackVTX","7orMoreTrackVTX"); 235 mycat_nTracksAtVtx6Bin_nolvalue->map("29TrackVTX","7orMoreTrackVTX"); 236 mycat_nTracksAtVtx6Bin_nolvalue->map("30TrackVTX","7orMoreTrackVTX"); 237 mycat_nTracksAtVtx6Bin_nolvalue->map("31TrackVTX","7orMoreTrackVTX"); 238 mycat_nTracksAtVtx6Bin_nolvalue->map("32TrackVTX","7orMoreTrackVTX"); 239 mycat_nTracksAtVtx6Bin_nolvalue->map("33TrackVTX","7orMoreTrackVTX"); 240 mycat_nTracksAtVtx6Bin_nolvalue->map("34TrackVTX","7orMoreTrackVTX"); 241 mycat_nTracksAtVtx6Bin_nolvalue->map("35TrackVTX","7orMoreTrackVTX"); 242 mycat_nTracksAtVtx6Bin_nolvalue->map("36TrackVTX","7orMoreTrackVTX"); 243 mycat_nTracksAtVtx6Bin_nolvalue->map("37TrackVTX","7orMoreTrackVTX"); 244 mycat_nTracksAtVtx6Bin_nolvalue->map("38TrackVTX","7orMoreTrackVTX"); 245 mycat_nTracksAtVtx6Bin_nolvalue->map("39TrackVTX","7orMoreTrackVTX"); 246 mycat_nTracksAtVtx6Bin_nolvalue->map("40TrackVTX","7orMoreTrackVTX"); 247 mycat_nTracksAtVtx6Bin_nolvalue->map("41TrackVTX","7orMoreTrackVTX"); 248 mycat_nTracksAtVtx6Bin_nolvalue->map("42TrackVTX","7orMoreTrackVTX"); 249 mycat_nTracksAtVtx6Bin_nolvalue->map("43TrackVTX","7orMoreTrackVTX"); 250 mycat_nTracksAtVtx6Bin_nolvalue->map("44TrackVTX","7orMoreTrackVTX"); 251 mycat_nTracksAtVtx6Bin_nolvalue->map("45TrackVTX","7orMoreTrackVTX"); 252 mycat_nTracksAtVtx6Bin_nolvalue->map("46TrackVTX","7orMoreTrackVTX"); 253 mycat_nTracksAtVtx6Bin_nolvalue->map("47TrackVTX","7orMoreTrackVTX"); 254 mycat_nTracksAtVtx6Bin_nolvalue->map("48TrackVTX","7orMoreTrackVTX"); 255 mycat_nTracksAtVtx6Bin_nolvalue->map("49TrackVTX","7orMoreTrackVTX"); 256 mycat_nTracksAtVtx6Bin_nolvalue->map("50TrackVTX","7orMoreTrackVTX"); 257 m_myRooVariables->addOwned(*mycat_nTracksAtVtx6Bin_nolvalue); 258 259 RooCategory* mycat_nTracksAtVtx6Bin=static_cast<RooCategory*>(mycat_nTracksAtVtx6Bin_nolvalue->createFundamental("mycat_nTracksAtVtx6Bin")); 260 m_myRooVariables->addOwned(*mycat_nTracksAtVtx6Bin); 261 // m_fictiousToRealCategory[mycat_nTracksAtVtx6Bin_nolvalue]=mycat_nTracksAtVtx6Bin; 262 263 RooMappedCategory* mycat_nSingleTracks_nolvalue= 264 new RooMappedCategory("mycat_nSingleTracks_nolvalue","number of single significant tracks category",*cat_nSingleTracks);//,"Undefined"); 265 mycat_nSingleTracks_nolvalue->map("NoSingleTrack","NoSingleTrack"); 266 mycat_nSingleTracks_nolvalue->map("1SingleTrack","1SingleTrack"); 267 mycat_nSingleTracks_nolvalue->map("2SingleTrack","2SingleTrack"); 268 mycat_nSingleTracks_nolvalue->map("3SingleTrack","3orMoreSingleTrack"); 269 mycat_nSingleTracks_nolvalue->map("4SingleTrack","3orMoreSingleTrack"); 270 mycat_nSingleTracks_nolvalue->map("5SingleTrack","3orMoreSingleTrack"); 271 mycat_nSingleTracks_nolvalue->map("6SingleTrack","3orMoreSingleTrack"); 272 mycat_nSingleTracks_nolvalue->map("7SingleTrack","3orMoreSingleTrack"); 273 mycat_nSingleTracks_nolvalue->map("8SingleTrack","3orMoreSingleTrack"); 274 mycat_nSingleTracks_nolvalue->map("9SingleTrack","3orMoreSingleTrack"); 275 mycat_nSingleTracks_nolvalue->map("10SingleTrack","3orMoreSingleTrack"); 276 mycat_nSingleTracks_nolvalue->map("11SingleTrack","3orMoreSingleTrack"); 277 mycat_nSingleTracks_nolvalue->map("12SingleTrack","3orMoreSingleTrack"); 278 mycat_nSingleTracks_nolvalue->map("13SingleTrack","3orMoreSingleTrack"); 279 mycat_nSingleTracks_nolvalue->map("14SingleTrack","3orMoreSingleTrack"); 280 mycat_nSingleTracks_nolvalue->map("15SingleTrack","3orMoreSingleTrack"); 281 m_myRooVariables->addOwned(*mycat_nSingleTracks_nolvalue); 282 283 RooCategory* mycat_nSingleTracks=static_cast<RooCategory*>(mycat_nSingleTracks_nolvalue->createFundamental("mycat_nSingleTracks")); 284 m_myRooVariables->addOwned(*mycat_nSingleTracks); 285 // m_fictiousToRealCategory[mycat_nSingleTracks_nolvalue]=mycat_nSingleTracks; 286 287 RooRealVar *energyFraction=new RooRealVar("energyFraction","energyFraction",0.5,0.,1.00001); 288 RooRealVar *significance3d=new RooRealVar("significance3d","significance3d",5.,0.,100.); 289 RooRealVar *mass=new RooRealVar("mass","mass",2000.,0.,10000.); 290 m_myRooVariables->addOwned(*energyFraction); 291 m_myRooVariables->addOwned(*significance3d); 292 m_myRooVariables->addOwned(*mass); 293 294 295 RooThresholdCategory* energyFractionCat_nolvalue=new RooThresholdCategory("energyFractionCat_nolvalue","energyFractionCat", 296 *energyFraction,"NoFrag"); 297 298 energyFractionCat_nolvalue->addThreshold(0.999,"Normal"); 299 m_myRooVariables->addOwned(*energyFractionCat_nolvalue); 300 301 RooCategory* energyFractionCat=static_cast<RooCategory*>(energyFractionCat_nolvalue->createFundamental("energyFractionCat")); 302 m_myRooVariables->addOwned(*energyFractionCat); 303 // m_fictiousToRealCategory[energyFractionCat_nolvalue]=energyFractionCat; 304 305 RooSuperCategory* allCategoriesCombined=new RooSuperCategory("allCategoriesCombined", 306 "allCategoriesCombined", 307 RooArgList(*mycat_nVTX, 308 *mycat_nSingleTracks, 309 *mycat_nTracksAtVtx6Bin, 310 *energyFractionCat)); 311 312 // allCategoriesCombined->Print("v"); 313 m_myRooVariables->addOwned(*allCategoriesCombined); 314 315 RooMappedCategory* allCategoriesCombined_reduced_nolvalue=new RooMappedCategory("allCategoriesCombined_reduced_nolvalue", 316 "allCategoriesCombined_reduced", 317 *allCategoriesCombined, 318 "Undefined"); 319 320 allCategoriesCombined_reduced_nolvalue->map("{NoVTX;NoSingleTrack;NoTrackVTX;NoFrag}","{NoVTX;NoSingleTrack}"); 321 allCategoriesCombined_reduced_nolvalue->map("{NoVTX;NoSingleTrack;NoTrackVTX;Normal}","{NoVTX;NoSingleTrack}"); 322 323 allCategoriesCombined_reduced_nolvalue->map("{NoVTX;1SingleTrack;NoTrackVTX;Normal}","{NoVTX;1SingleTrack;Normal}"); 324 allCategoriesCombined_reduced_nolvalue->map("{NoVTX;2SingleTrack;NoTrackVTX;Normal}","{NoVTX;2SingleTrack;Normal}"); 325 allCategoriesCombined_reduced_nolvalue->map("{NoVTX;3orMoreSingleTrack;NoTrackVTX;Normal}","{NoVTX;3orMoreSingleTrack;Normal}"); 326 327 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;2TrackVTX;Normal}","{1VTX;NoSingleTrack;2TrackVTX;Normal}"); 328 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;2TrackVTX;Normal}","{1VTX;1SingleTrack;2TrackVTX;Normal}"); 329 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;2TrackVTX;Normal}","{1VTX;2orMoreSingleTrack;2TrackVTX;Normal}"); 330 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;2TrackVTX;Normal}","{1VTX;2orMoreSingleTrack;2TrackVTX;Normal}"); 331 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NotMapped;3TrackVTX;Normal}","{1VTX;NotMapped;3TrackVTX;Normal}"); 332 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;3TrackVTX;Normal}","{1VTX;NoSingleTrack;3TrackVTX;Normal}"); 333 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;3TrackVTX;Normal}","{1VTX;1SingleTrack;3TrackVTX;Normal}"); 334 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;3TrackVTX;Normal}","{1VTX;2orMoreSingleTrack;3TrackVTX;Normal}"); 335 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;3TrackVTX;Normal}","{1VTX;2orMoreSingleTrack;3TrackVTX;Normal}"); 336 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;4TrackVTX;Normal}","{1VTX;NoSingleTrack;4TrackVTX;Normal}"); 337 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;4TrackVTX;Normal}","{1VTX;1SingleTrack;4TrackVTX;Normal}"); 338 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;4TrackVTX;Normal}","{1VTX;2orMoreSingleTrack;4TrackVTX;Normal}"); 339 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;4TrackVTX;Normal}","{1VTX;2orMoreSingleTrack;4TrackVTX;Normal}"); 340 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;5or6TrackVTX;Normal}","{1VTX;NoSingleTrack;5or6TrackVTX;Normal}"); 341 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;5or6TrackVTX;Normal}","{1VTX;1SingleTrack;5or6TrackVTX;Normal}"); 342 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;5or6TrackVTX;Normal}","{1VTX;2orMoreSingleTrack;5or6TrackVTX;Normal}"); 343 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;5or6TrackVTX;Normal}","{1VTX;2orMoreSingleTrack;5or6TrackVTX;Normal}"); 344 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;7orMoreTrackVTX;Normal}","{1VTX;NoSingleTrack;7orMoreTrackVTX;Normal}"); 345 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;7orMoreTrackVTX;Normal}","{1VTX;1SingleTrack;7orMoreTrackVTX;Normal}"); 346 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;7orMoreTrackVTX;Normal}","{1VTX;2orMoreSingleTrack;7orMoreTrackVTX;Normal}"); 347 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;7orMoreTrackVTX;Normal}","{1VTX;2orMoreSingleTrack;7orMoreTrackVTX;Normal}"); 348 349 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;NoSingleTrack;4TrackVTX;Normal}","{2orMoreVTX;4TrackVTX;Normal}"); 350 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;1SingleTrack;4TrackVTX;Normal}","{2orMoreVTX;4TrackVTX;Normal}"); 351 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;2SingleTrack;4TrackVTX;Normal}","{2orMoreVTX;4TrackVTX;Normal}"); 352 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;3orMoreSingleTrack;4TrackVTX;Normal}","{2orMoreVTX;4TrackVTX;Normal}"); 353 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;NoSingleTrack;5or6TrackVTX;Normal}","{2orMoreVTX;5orMoreTrackVTX;Normal}"); 354 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;1SingleTrack;5or6TrackVTX;Normal}","{2orMoreVTX;5orMoreTrackVTX;Normal}"); 355 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;2SingleTrack;5or6TrackVTX;Normal}","{2orMoreVTX;5orMoreTrackVTX;Normal}"); 356 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;3orMoreSingleTrack;5or6TrackVTX;Normal}","{2orMoreVTX;5orMoreTrackVTX;Normal}"); 357 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;NoSingleTrack;7orMoreTrackVTX;Normal}","{2orMoreVTX;5orMoreTrackVTX;Normal}"); 358 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;1SingleTrack;7orMoreTrackVTX;Normal}","{2orMoreVTX;5orMoreTrackVTX;Normal}"); 359 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;2SingleTrack;7orMoreTrackVTX;Normal}","{2orMoreVTX;5orMoreTrackVTX;Normal}"); 360 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;3orMoreSingleTrack;7orMoreTrackVTX;Normal}","{2orMoreVTX;5orMoreTrackVTX;Normal}"); 361 362 allCategoriesCombined_reduced_nolvalue->map("{NoVTX;1SingleTrack;NoTrackVTX;NoFrag}","{NoVTX;1SingleTrack;NoFrag}"); 363 allCategoriesCombined_reduced_nolvalue->map("{NoVTX;2SingleTrack;NoTrackVTX;NoFrag}","{NoVTX;2SingleTrack;NoFrag}"); 364 allCategoriesCombined_reduced_nolvalue->map("{NoVTX;3orMoreSingleTrack;NoTrackVTX;NoFrag}","{NoVTX;3orMoreSingleTrack;NoFrag}"); 365 366 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;2TrackVTX;NoFrag}","{1VTX;NoSingleTrack;2TrackVTX;NoFrag}"); 367 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;2TrackVTX;NoFrag}","{1VTX;1SingleTrack;2TrackVTX;NoFrag}"); 368 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;2TrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;2TrackVTX;NoFrag}"); 369 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;2TrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;2TrackVTX;NoFrag}"); 370 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NotMapped;3TrackVTX;NoFrag}","{1VTX;NotMapped;3TrackVTX;NoFrag}"); 371 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;3TrackVTX;NoFrag}","{1VTX;NoSingleTrack;3TrackVTX;NoFrag}"); 372 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;3TrackVTX;NoFrag}","{1VTX;1SingleTrack;3TrackVTX;NoFrag}"); 373 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;3TrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;3TrackVTX;NoFrag}"); 374 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;3TrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;3TrackVTX;NoFrag}"); 375 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;4TrackVTX;NoFrag}","{1VTX;NoSingleTrack;4TrackVTX;NoFrag}"); 376 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;4TrackVTX;NoFrag}","{1VTX;1SingleTrack;4TrackVTX;NoFrag}"); 377 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;4TrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;4TrackVTX;NoFrag}"); 378 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;4TrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;4TrackVTX;NoFrag}"); 379 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;5or6TrackVTX;NoFrag}","{1VTX;NoSingleTrack;5or6TrackVTX;NoFrag}"); 380 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;5or6TrackVTX;NoFrag}","{1VTX;1SingleTrack;5or6TrackVTX;NoFrag}"); 381 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;5or6TrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;5or6TrackVTX;NoFrag}"); 382 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;5or6TrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;5or6TrackVTX;NoFrag}"); 383 allCategoriesCombined_reduced_nolvalue->map("{1VTX;NoSingleTrack;7orMoreTrackVTX;NoFrag}","{1VTX;NoSingleTrack;7orMoreTrackVTX;NoFrag}"); 384 allCategoriesCombined_reduced_nolvalue->map("{1VTX;1SingleTrack;7orMoreTrackVTX;NoFrag}","{1VTX;1SingleTrack;7orMoreTrackVTX;NoFrag}"); 385 allCategoriesCombined_reduced_nolvalue->map("{1VTX;2SingleTrack;7orMoreTrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;7orMoreTrackVTX;NoFrag}"); 386 allCategoriesCombined_reduced_nolvalue->map("{1VTX;3orMoreSingleTrack;7orMoreTrackVTX;NoFrag}","{1VTX;2orMoreSingleTrack;7orMoreTrackVTX;NoFrag}"); 387 388 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;NoSingleTrack;4TrackVTX;NoFrag}","{2orMoreVTX;4TrackVTX;NoFrag}"); 389 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;1SingleTrack;4TrackVTX;NoFrag}","{2orMoreVTX;4TrackVTX;NoFrag}"); 390 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;2SingleTrack;4TrackVTX;NoFrag}","{2orMoreVTX;4TrackVTX;NoFrag}"); 391 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;3orMoreSingleTrack;4TrackVTX;NoFrag}","{2orMoreVTX;4TrackVTX;NoFrag}"); 392 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;NoSingleTrack;5or6TrackVTX;NoFrag}","{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 393 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;1SingleTrack;5or6TrackVTX;NoFrag}","{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 394 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;2SingleTrack;5or6TrackVTX;NoFrag}","{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 395 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;3orMoreSingleTrack;5or6TrackVTX;NoFrag}","{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 396 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;NoSingleTrack;7orMoreTrackVTX;NoFrag}","{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 397 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;1SingleTrack;7orMoreTrackVTX;NoFrag}","{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 398 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;2SingleTrack;7orMoreTrackVTX;NoFrag}","{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 399 allCategoriesCombined_reduced_nolvalue->map("{2orMoreVTX;3orMoreSingleTrack;7orMoreTrackVTX;NoFrag}","{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 400 m_myRooVariables->addOwned(*allCategoriesCombined_reduced_nolvalue); 401 402 RooCategory* allCategoriesCombined_reduced=static_cast<RooCategory*>(allCategoriesCombined_reduced_nolvalue->createFundamental("allCategoriesCombined_reduced")); 403 m_myRooVariables->addOwned(*allCategoriesCombined_reduced); 404 // m_fictiousToRealCategory[allCategoriesCombined_reduced_nolvalue]=allCategoriesCombined_reduced; 405 406 //now register all the needed histograms... 407 408 409 410 ATH_MSG_INFO(" Initialization of JetFitterLikelihood succesfull"); 411 return StatusCode::SUCCESS; 412 } 413 414 StatusCode JetFitterLikelihood::finalize() { 415 416 //here you should probably delete something :-) 417 418 //(19-3-2008) Let's try... 419 420 421 std::map<std::string, std::vector<RooDataHist*>* >::iterator histogramsBegin=m_likelihoodHistograms.begin(); 422 std::map<std::string, std::vector<RooDataHist*>* >::iterator histogramsEnd=m_likelihoodHistograms.end(); 423 424 for (std::map<std::string, std::vector<RooDataHist*>* >::iterator histogramsIter=histogramsBegin; 425 histogramsIter!=histogramsEnd;histogramsIter++) 426 { 427 428 if ((*histogramsIter).second==0) 429 { 430 ATH_MSG_WARNING(" Found 0 pointer. This is a bug. "); 431 } 432 433 std::vector<RooDataHist*>::iterator dataBegin=(*histogramsIter).second->begin(); 434 std::vector<RooDataHist*>::iterator dataEnd=(*histogramsIter).second->end(); 435 436 for (std::vector<RooDataHist*>::iterator dataIter=dataBegin;dataIter!=dataEnd;++dataIter) 437 { 438 439 delete *dataIter; 440 *dataIter=0; 441 } 442 443 delete (*histogramsIter).second; 444 (*histogramsIter).second=0; 445 446 } 447 448 std::map<std::string, RooArgSet* >::iterator objectsBegin=m_likelihoodObjects.begin(); 449 std::map<std::string, RooArgSet* >::iterator objectsEnd=m_likelihoodObjects.end(); 450 451 for (std::map<std::string, RooArgSet* >::iterator objectsIter=objectsBegin; 452 objectsIter!=objectsEnd;++objectsIter) 453 { 454 delete (*objectsIter).second; 455 (*objectsIter).second=0; 456 } 457 458 delete m_myRooVariables; 459 m_myRooVariables=0; 460 461 ATH_MSG_INFO(" Finalization of JetFitterLikelihood succesfull"); 462 return StatusCode::SUCCESS; 463 } 464 465 void JetFitterLikelihood::initializeCalibrationFile(const std::string & hypothesis) 466 { 467 468 TString directory(m_calibrationSubDirectory); 469 directory+="/"; 470 471 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_noVTX_significance3d_histo"))); 472 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_noVTX_1SingleTrack_energyFraction_normal_histo"))); 473 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_noVTX_2orMoreSingleTrack_energyFraction_normal_histo"))); 474 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_1orMoreVTX_2TrackVTX_energyFraction_normal_histo"))); 475 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_1orMoreVTX_3TrackVTX_energyFraction_normal_histo"))); 476 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_histo"))); 477 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_1orMoreVTX_significance3d_histo"))); 478 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_1orMoreVTX_2TrackVTX_mass_histo"))); 479 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_1orMoreVTX_3orMoreTrackVTX_mass_histo"))); 480 481 //here store the names to load for the coefficients... 482 std::vector<TString> coefficientNamesToLoad; 483 coefficientNamesToLoad.push_back(TString("coef")); 484 coefficientNamesToLoad.push_back(TString("e_1VTX")); 485 coefficientNamesToLoad.push_back(TString("e_1VTX_2TrackVTX")); 486 coefficientNamesToLoad.push_back(TString("e_1VTX_3TrackVTX")); 487 coefficientNamesToLoad.push_back(TString("e_1VTX_4TrackVTX")); 488 coefficientNamesToLoad.push_back(TString("e_1VTX_5or6TrackVTX")); 489 coefficientNamesToLoad.push_back(TString("e_1Vtx_1SingleTrack")); 490 coefficientNamesToLoad.push_back(TString("e_1Vtx_NoSingleTrack")); 491 coefficientNamesToLoad.push_back(TString("e_1orMoreVTX_2TrackVTX_energyFraction_normal")); 492 coefficientNamesToLoad.push_back(TString("e_1orMoreVTX_3TrackVTX_energyFraction_normal")); 493 coefficientNamesToLoad.push_back(TString("e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal")); 494 coefficientNamesToLoad.push_back(TString("e_2orMoreVTX_4TrackVTX")); 495 coefficientNamesToLoad.push_back(TString("e_NoVTX")); 496 coefficientNamesToLoad.push_back(TString("e_NoVtx_1SingleTrack")); 497 coefficientNamesToLoad.push_back(TString("e_NoVtx_1SingleTrack_energyFraction_normal")); 498 coefficientNamesToLoad.push_back(TString("e_NoVtx_2SingleTrack")); 499 coefficientNamesToLoad.push_back(TString("e_NoVtx_2orMoreSingleTrack_energyFraction_normal")); 500 coefficientNamesToLoad.push_back(TString("e_NoVtx_NoSingleTrack")); 501 502 //as a second step read the coefficients directly from the calibration histograms (1 histogram per coefficient) 503 std::vector<TString>::const_iterator beginCoef=coefficientNamesToLoad.begin(); 504 std::vector<TString>::const_iterator endCoef=coefficientNamesToLoad.end(); 505 506 for (std::vector<TString>::const_iterator iterCoef=beginCoef;iterCoef!=endCoef;++iterCoef) 507 { 508 m_calibrationTool->registerHistogram(m_calibrationDirectory,std::string((const char*)(directory+hypothesis+"_"+*iterCoef))); 509 } 510 511 ATH_MSG_VERBOSE(" Initialized calibration file for: " << hypothesis << " tagger name: " << m_calibrationDirectory << " subdirectory: " << m_calibrationSubDirectory); 512 513 m_calibrationTool->printStatus(); 514 515 } 516 517 518 void JetFitterLikelihood::loadCalibration(const std::string & jetauthor,const std::string & hypothesis) { 519 520 521 string refFileName(jetauthor); 522 523 bool deleteOldCalibration=false; 524 525 526 if (m_likelihoods[jetauthor+hypothesis]!=0) 527 { 528 if (isCalibrationUpdated(refFileName,hypothesis+"_noVTX_significance3d_histo")) 529 { 530 deleteOldCalibration=true; 531 } 532 else 533 { 534 return; 535 } 536 } 537 538 if (deleteOldCalibration) 539 { 540 ATH_MSG_VERBOSE(" deleting calibration " ); 541 std::vector<RooDataHist*>* histogramsVector=m_likelihoodHistograms[jetauthor+hypothesis]; 542 543 if (histogramsVector==0) 544 { 545 ATH_MSG_ERROR("Should delete old calibration, but cannot find related histograms... This is a bug. "); 546 return; 547 } 548 549 std::vector<RooDataHist*>::iterator dataBegin=histogramsVector->begin(); 550 std::vector<RooDataHist*>::iterator dataEnd=histogramsVector->end(); 551 552 for (std::vector<RooDataHist*>::iterator dataIter=dataBegin;dataIter!=dataEnd;++dataIter) 553 { 554 delete *dataIter; 555 *dataIter=0; 556 } 557 558 delete histogramsVector; 559 m_likelihoodHistograms[jetauthor+hypothesis]=0; 560 561 RooArgSet* likelihoodObjects=m_likelihoodObjects[jetauthor+hypothesis]; 562 563 if (likelihoodObjects==0) 564 { 565 ATH_MSG_ERROR("Should delete old calibration, but cannot find related likelihood objects... This is a bug. "); 566 return; 567 } 568 569 delete likelihoodObjects; 570 m_likelihoodObjects[jetauthor+hypothesis]=0; 571 572 } 573 574 std::vector<RooDataHist*>* histogramsVector=new std::vector<RooDataHist*>(); 575 576 m_likelihoodHistograms[jetauthor+hypothesis]=histogramsVector; 577 578 RooArgSet* likelihoodObjects=new RooArgSet(); 579 580 m_likelihoodObjects[jetauthor+hypothesis]=likelihoodObjects; 581 582 583 //m_likelihoodObjects[jetauthor+hypothesis]=objectsRooArgSet; 584 585 586 // RooCategory* cat_nVTX=static_cast<RooCategory*>(m_myRooVariables->find("cat_nVTX")); 587 // RooCategory* cat_nTracksAtVtx=static_cast<RooCategory*>(m_myRooVariables->find("cat_nTracksAtVtx")); 588 // RooCategory* cat_nSingleTracks=static_cast<RooCategory*>(m_myRooVariables->find("cat_nSingleTracks")); 589 590 // RooCategory* mycat_nVTX=static_cast<RooCategory*>(m_myRooVariables->find("mycat_nVTX")); 591 // RooCategory* mycat_nSingleTracks=static_cast<RooCategory*>(m_myRooVariables->find("mycat_nSingleTracks")); 592 593 RooRealVar *energyFraction=static_cast<RooRealVar*>(m_myRooVariables->find("energyFraction")); 594 RooRealVar *significance3d=static_cast<RooRealVar*>(m_myRooVariables->find("significance3d")); 595 RooRealVar *mass=static_cast<RooRealVar*>(m_myRooVariables->find("mass")); 596 597 // RooCategory* energyFractionCat=static_cast<RooCategory*>(m_myRooVariables->find("energyFractionCat")); 598 599 RooRealVar* singleflavour_coef=new RooRealVar((hypothesis+"_"+jetauthor+"_coef").c_str(),(hypothesis+"_"+jetauthor+" jet component").c_str(),100000.,0.,1000000.); 600 601 RooRealVar* singleflavour_e_NoVTX=new RooRealVar((hypothesis+"_"+jetauthor+"_e_NoVTX").c_str(),"no vertex coefficient",0.2,0.,1.); 602 603 RooRealVar* singleflavour_e_1VTX=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1VTX").c_str(),"1 vertex coefficient",0.2,0.,1.); 604 605 RooFormulaVar* singleflavour_e_2orMoreVTX=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_2orMoreVTX").c_str(),"2 vertex coefficient","1.-@0-@1",RooArgList(*singleflavour_e_NoVTX, 606 *singleflavour_e_1VTX)); 607 RooRealVar* singleflavour_e_1VTX_2TrackVTX=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1VTX_2TrackVTX").c_str(), 608 (hypothesis+"_"+jetauthor+"_e_1VTX_2TrackVTX").c_str(),0.2,0.,1.); 609 RooRealVar* singleflavour_e_1VTX_3TrackVTX=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1VTX_3TrackVTX").c_str(), 610 (hypothesis+"_"+jetauthor+"_e_1VTX_3TrackVTX").c_str(),0.2,0.,1.); 611 612 RooRealVar* singleflavour_e_1VTX_4TrackVTX=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1VTX_4TrackVTX").c_str(), 613 (hypothesis+"_"+jetauthor+"_e_1VTX_4TrackVTX").c_str(),0.2,0.,1.); 614 615 RooRealVar* singleflavour_e_1VTX_5or6TrackVTX=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1VTX_5or6TrackVTX").c_str(), 616 (hypothesis+"_"+jetauthor+"_e_1VTX_5or6TrackVTX").c_str(),0.2,0.,1.); 617 618 RooFormulaVar* singleflavour_e_1VTX_7orMoreTrackVTX =new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_1VTX_7orMoreTrackVTX").c_str(), 619 (hypothesis+"_"+jetauthor+"_e_1VTX_7orMoreTrackVTX").c_str(), 620 "1.-@0-@1-@2-@3",RooArgList(*singleflavour_e_1VTX_2TrackVTX, 621 *singleflavour_e_1VTX_3TrackVTX, 622 *singleflavour_e_1VTX_4TrackVTX, 623 *singleflavour_e_1VTX_5or6TrackVTX)); 624 625 626 RooRealVar* singleflavour_e_1Vtx_NoSingleTrack=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1Vtx_NoSingleTrack").c_str(), 627 (hypothesis+"_"+jetauthor+"_e_1Vtx_NoSingleTrack").c_str(), 628 0.4,0.,1.); 629 630 RooRealVar* singleflavour_e_1Vtx_1SingleTrack=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1Vtx_1SingleTrack").c_str(), 631 (hypothesis+"_"+jetauthor+"_e_1Vtx_1SingleTrack").c_str(), 632 0.4,0.,1.); 633 634 RooFormulaVar* singleflavour_e_1Vtx_2orMoreSingleTrack=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_1Vtx_2orMoreSingleTrack").c_str(), 635 (hypothesis+"_"+jetauthor+"_e_1Vtx_2orMoreSingleTrack").c_str(), 636 "1.-@0-@1",RooArgList(*singleflavour_e_1Vtx_NoSingleTrack, 637 *singleflavour_e_1Vtx_1SingleTrack)); 638 639 640 RooRealVar* singleflavour_e_2orMoreVTX_4TrackVTX=new RooRealVar((hypothesis+"_"+jetauthor+"_e_2orMoreVTX_4TrackVTX").c_str(), 641 (hypothesis+"_"+jetauthor+"_e_2orMoreVTX_4TrackVTX").c_str(),0.2,0.,1.); 642 643 RooFormulaVar* singleflavour_e_2orMoreVTX_5orMoreTrackVTX=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_2orMoreVTX_5orMoreTrackVTX").c_str(), 644 (hypothesis+"_"+jetauthor+"_e_2orMoreVTX_5orMoreTrackVTX").c_str(), 645 "1.-@0",RooArgList(*singleflavour_e_2orMoreVTX_4TrackVTX)); 646 647 648 //energyFraction normal... 649 650 651 RooRealVar* singleflavour_e_NoVtx_1SingleTrack_energyFraction_normal=new RooRealVar((hypothesis+"_"+jetauthor+"_e_NoVtx_1SingleTrack_energyFraction_normal").c_str(), 652 (hypothesis+"_"+jetauthor+"_e_NoVtx_1SingleTrack_energyFraction_normal").c_str(), 653 0.8,0.,1.); 654 655 656 657 658 RooFormulaVar* singleflavour_e_NoVtx_1SingleTrack_energyFraction_nofrag=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_NoVtx_1SingleTrack_energyFraction_nofrag").c_str(), 659 (hypothesis+"_"+jetauthor+"_e_NoVtx_1SingleTrack_energyFraction_nofrag").c_str(), 660 "1.-@0",RooArgList(*singleflavour_e_NoVtx_1SingleTrack_energyFraction_normal)); 661 662 663 664 RooRealVar* singleflavour_e_NoVtx_2orMoreSingleTrack_energyFraction_normal=new RooRealVar((hypothesis+"_"+jetauthor+"_e_NoVtx_2orMoreSingleTrack_energyFraction_normal").c_str(), 665 (hypothesis+"_"+jetauthor+"_e_NoVtx_2orMoreSingleTrack_energyFraction_normal").c_str(), 666 0.8,0.,1.); 667 668 669 670 671 RooFormulaVar* singleflavour_e_NoVtx_2orMoreSingleTrack_energyFraction_nofrag=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_NoVtx_2orMoreSingleTrack_energyFraction_nofrag").c_str(), 672 (hypothesis+"_"+jetauthor+"_e_NoVtx_2orMoreSingleTrack_energyFraction_nofrag").c_str(), 673 "1-@0",RooArgList(*singleflavour_e_NoVtx_2orMoreSingleTrack_energyFraction_normal)); 674 675 676 677 RooRealVar* singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_normal=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1orMoreVTX_2TrackVTX_energyFraction_normal").c_str(), 678 (hypothesis+"_"+jetauthor+"_e_1orMoreVTX_2TrackVTX_energyFraction_normal").c_str(), 679 0.8,0.,1.); 680 681 682 683 684 RooFormulaVar* singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_nofrag=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_1orMoreVTX_2TrackVTX_energyFraction_nofrag").c_str(), 685 (hypothesis+"_"+jetauthor+"_e_1orMoreVTX_2TrackVTX_energyFraction_nofrag").c_str(), 686 "1-@0",RooArgList(*singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_normal)); 687 688 689 690 RooRealVar* singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_normal=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1orMoreVTX_3TrackVTX_energyFraction_normal").c_str(), 691 (hypothesis+"_"+jetauthor+"_e_1orMoreVTX_3TrackVTX_energyFraction_normal").c_str(), 692 0.8,0.,1.); 693 694 695 696 697 RooFormulaVar* singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_nofrag=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_1orMoreVTX_3TrackVTX_energyFraction_nofrag").c_str(), 698 (hypothesis+"_"+jetauthor+"_e_1orMoreVTX_3TrackVTX_energyFraction_nofrag").c_str(), 699 "1-@0",RooArgList(*singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_normal)); 700 701 702 RooRealVar* singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal=new RooRealVar((hypothesis+"_"+jetauthor+"_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal").c_str(), 703 (hypothesis+"_"+jetauthor+"_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal").c_str(), 704 0.8,0.,1.); 705 706 707 RooFormulaVar* singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag").c_str(), 708 (hypothesis+"_"+jetauthor+"_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag").c_str(), 709 "1-@0",RooArgList(*singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 710 711 712 //0ST 713 714 715 RooFormulaVar* singleflavour_1VTX_0ST_2VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_normal").c_str(), 716 (hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_normal").c_str(), 717 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 718 *singleflavour_e_1VTX, 719 *singleflavour_e_1Vtx_NoSingleTrack, 720 *singleflavour_e_1VTX_2TrackVTX, 721 *singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_normal)); 722 723 724 725 RooFormulaVar* singleflavour_1VTX_0ST_3VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_normal").c_str(), 726 (hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_normal").c_str(), 727 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 728 *singleflavour_e_1VTX, 729 *singleflavour_e_1Vtx_NoSingleTrack, 730 *singleflavour_e_1VTX_3TrackVTX, 731 *singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_normal)); 732 733 734 RooFormulaVar* singleflavour_1VTX_0ST_4VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_normal").c_str(), 735 (hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_normal").c_str(), 736 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 737 *singleflavour_e_1VTX, 738 *singleflavour_e_1Vtx_NoSingleTrack, 739 *singleflavour_e_1VTX_4TrackVTX, 740 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 741 742 743 RooFormulaVar* singleflavour_1VTX_0ST_5or6VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_normal").c_str(), 744 (hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_normal").c_str(), 745 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 746 *singleflavour_e_1VTX, 747 *singleflavour_e_1Vtx_NoSingleTrack, 748 *singleflavour_e_1VTX_5or6TrackVTX, 749 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 750 751 752 RooFormulaVar* singleflavour_1VTX_0ST_7orMoreVTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_normal").c_str(), 753 (hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_normal").c_str(), 754 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 755 *singleflavour_e_1VTX, 756 *singleflavour_e_1Vtx_NoSingleTrack, 757 *singleflavour_e_1VTX_7orMoreTrackVTX, 758 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 759 760 //1ST 761 762 763 RooFormulaVar* singleflavour_1VTX_1ST_2VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_normal").c_str(), 764 (hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_normal").c_str(), 765 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 766 *singleflavour_e_1VTX, 767 *singleflavour_e_1Vtx_1SingleTrack, 768 *singleflavour_e_1VTX_2TrackVTX, 769 *singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_normal)); 770 771 772 773 RooFormulaVar* singleflavour_1VTX_1ST_3VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_normal").c_str(), 774 (hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_normal").c_str(), 775 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 776 *singleflavour_e_1VTX, 777 *singleflavour_e_1Vtx_1SingleTrack, 778 *singleflavour_e_1VTX_3TrackVTX, 779 *singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_normal)); 780 781 782 RooFormulaVar* singleflavour_1VTX_1ST_4VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_normal").c_str(), 783 (hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_normal").c_str(), 784 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 785 *singleflavour_e_1VTX, 786 *singleflavour_e_1Vtx_1SingleTrack, 787 *singleflavour_e_1VTX_4TrackVTX, 788 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 789 790 791 RooFormulaVar* singleflavour_1VTX_1ST_5or6VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_normal").c_str(), 792 (hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_normal").c_str(), 793 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 794 *singleflavour_e_1VTX, 795 *singleflavour_e_1Vtx_1SingleTrack, 796 *singleflavour_e_1VTX_5or6TrackVTX, 797 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 798 799 800 RooFormulaVar* singleflavour_1VTX_1ST_7orMoreVTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_normal").c_str(), 801 (hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_normal").c_str(), 802 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 803 *singleflavour_e_1VTX, 804 *singleflavour_e_1Vtx_1SingleTrack, 805 *singleflavour_e_1VTX_7orMoreTrackVTX, 806 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 807 808 809 //2orMoreST 810 811 812 RooFormulaVar* singleflavour_1VTX_2orMoreST_2VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_normal").c_str(), 813 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_normal").c_str(), 814 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 815 *singleflavour_e_1VTX, 816 *singleflavour_e_1Vtx_2orMoreSingleTrack, 817 *singleflavour_e_1VTX_2TrackVTX, 818 *singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_normal)); 819 820 821 822 RooFormulaVar* singleflavour_1VTX_2orMoreST_3VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_normal").c_str(), 823 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_normal").c_str(), 824 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 825 *singleflavour_e_1VTX, 826 *singleflavour_e_1Vtx_2orMoreSingleTrack, 827 *singleflavour_e_1VTX_3TrackVTX, 828 *singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_normal)); 829 830 831 RooFormulaVar* singleflavour_1VTX_2orMoreST_4VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_normal").c_str(), 832 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_normal").c_str(), 833 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 834 *singleflavour_e_1VTX, 835 *singleflavour_e_1Vtx_2orMoreSingleTrack, 836 *singleflavour_e_1VTX_4TrackVTX, 837 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 838 839 840 RooFormulaVar* singleflavour_1VTX_2orMoreST_5or6VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_normal").c_str(), 841 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_normal").c_str(), 842 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 843 *singleflavour_e_1VTX, 844 *singleflavour_e_1Vtx_2orMoreSingleTrack, 845 *singleflavour_e_1VTX_5or6TrackVTX, 846 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 847 848 849 RooFormulaVar* singleflavour_1VTX_2orMoreST_7orMoreVTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_normal").c_str(), 850 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_normal").c_str(), 851 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 852 *singleflavour_e_1VTX, 853 *singleflavour_e_1Vtx_2orMoreSingleTrack, 854 *singleflavour_e_1VTX_7orMoreTrackVTX, 855 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 856 857 858 859 //2orMoreVTX 860 861 862 RooFormulaVar* singleflavour_2orMoreVTX_4VTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_normal").c_str(), 863 (hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_normal").c_str(), 864 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 865 *singleflavour_e_2orMoreVTX, 866 *singleflavour_e_2orMoreVTX_4TrackVTX, 867 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 868 869 870 RooFormulaVar* singleflavour_2orMoreVTX_5orMoreVTX_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_normal").c_str(), 871 (hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_normal").c_str(), 872 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 873 *singleflavour_e_2orMoreVTX, 874 *singleflavour_e_2orMoreVTX_5orMoreTrackVTX, 875 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal)); 876 877 878 // 879 880 881 RooRealVar* singleflavour_e_NoVtx_NoSingleTrack=new RooRealVar((hypothesis+"_"+jetauthor+"_e_NoVtx_NoSingleTrack").c_str(), 882 (hypothesis+"_"+jetauthor+"_e_NoVtx_NoSingleTrack").c_str(), 883 0.4,0.,1.); 884 885 RooRealVar* singleflavour_e_NoVtx_1SingleTrack=new RooRealVar((hypothesis+"_"+jetauthor+"_e_NoVtx_1SingleTrack").c_str(), 886 (hypothesis+"_"+jetauthor+"_e_NoVtx_1SingleTrack").c_str(), 887 0.2,0.,1.); 888 889 RooRealVar* singleflavour_e_NoVtx_2SingleTrack=new RooRealVar((hypothesis+"_"+jetauthor+"_e_NoVtx_2SingleTrack").c_str(), 890 (hypothesis+"_"+jetauthor+"_e_NoVtx_2SingleTrack").c_str(), 891 0.2,0.,1.); 892 893 RooFormulaVar* singleflavour_e_NoVtx_3orMoreSingleTrack=new RooFormulaVar((hypothesis+"_"+jetauthor+"_e_NoVtx_3orMoreSingleTrack").c_str(), 894 (hypothesis+"_"+jetauthor+"_e_NoVtx_3orMoreSingleTrack").c_str(), 895 "1.-@0-@1-@2",RooArgList(*singleflavour_e_NoVtx_NoSingleTrack, 896 *singleflavour_e_NoVtx_1SingleTrack, 897 *singleflavour_e_NoVtx_2SingleTrack)); 898 899 //coef for noVTX case 900 901 902 RooFormulaVar* singleflavour_noVTX_0ST_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_noVTX_0ST").c_str(), 903 (hypothesis+"_"+jetauthor+"_noVTX_0ST").c_str(), 904 "@0*@1*@2",RooArgList(*singleflavour_coef, 905 *singleflavour_e_NoVTX, 906 *singleflavour_e_NoVtx_NoSingleTrack)); 907 908 909 RooFormulaVar* singleflavour_noVTX_1ST_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_noVTX_1ST_normal").c_str(), 910 (hypothesis+"_"+jetauthor+"_noVTX_1ST_normal").c_str(), 911 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 912 *singleflavour_e_NoVTX, 913 *singleflavour_e_NoVtx_1SingleTrack, 914 *singleflavour_e_NoVtx_1SingleTrack_energyFraction_normal)); 915 916 917 RooFormulaVar* singleflavour_noVTX_2ST_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_noVTX_2ST_normal").c_str(), 918 (hypothesis+"_"+jetauthor+"_noVTX_2ST_normal").c_str(), 919 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 920 *singleflavour_e_NoVTX, 921 *singleflavour_e_NoVtx_2SingleTrack, 922 *singleflavour_e_NoVtx_2orMoreSingleTrack_energyFraction_normal)); 923 924 925 RooFormulaVar* singleflavour_noVTX_3orMoreST_normal_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_normal").c_str(), 926 (hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_normal").c_str(), 927 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 928 *singleflavour_e_NoVTX, 929 *singleflavour_e_NoVtx_3orMoreSingleTrack, 930 *singleflavour_e_NoVtx_2orMoreSingleTrack_energyFraction_normal)); 931 932 //ALL COEFFICIENTS FOR NOFRAG CASE AGAIN 933 934 935 //0ST 936 937 938 RooFormulaVar* singleflavour_1VTX_0ST_2VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_nofrag").c_str(), 939 (hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_nofrag").c_str(), 940 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 941 *singleflavour_e_1VTX, 942 *singleflavour_e_1Vtx_NoSingleTrack, 943 *singleflavour_e_1VTX_2TrackVTX, 944 *singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_nofrag)); 945 946 947 948 RooFormulaVar* singleflavour_1VTX_0ST_3VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_nofrag").c_str(), 949 (hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_nofrag").c_str(), 950 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 951 *singleflavour_e_1VTX, 952 *singleflavour_e_1Vtx_NoSingleTrack, 953 *singleflavour_e_1VTX_3TrackVTX, 954 *singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_nofrag)); 955 956 957 RooFormulaVar* singleflavour_1VTX_0ST_4VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_nofrag").c_str(), 958 (hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_nofrag").c_str(), 959 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 960 *singleflavour_e_1VTX, 961 *singleflavour_e_1Vtx_NoSingleTrack, 962 *singleflavour_e_1VTX_4TrackVTX, 963 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 964 965 966 RooFormulaVar* singleflavour_1VTX_0ST_5or6VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_nofrag").c_str(), 967 (hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_nofrag").c_str(), 968 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 969 *singleflavour_e_1VTX, 970 *singleflavour_e_1Vtx_NoSingleTrack, 971 *singleflavour_e_1VTX_5or6TrackVTX, 972 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 973 974 975 RooFormulaVar* singleflavour_1VTX_0ST_7orMoreVTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_nofrag").c_str(), 976 (hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_nofrag").c_str(), 977 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 978 *singleflavour_e_1VTX, 979 *singleflavour_e_1Vtx_NoSingleTrack, 980 *singleflavour_e_1VTX_7orMoreTrackVTX, 981 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 982 983 //1ST 984 985 986 RooFormulaVar* singleflavour_1VTX_1ST_2VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_nofrag").c_str(), 987 (hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_nofrag").c_str(), 988 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 989 *singleflavour_e_1VTX, 990 *singleflavour_e_1Vtx_1SingleTrack, 991 *singleflavour_e_1VTX_2TrackVTX, 992 *singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_nofrag)); 993 994 995 996 RooFormulaVar* singleflavour_1VTX_1ST_3VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_nofrag").c_str(), 997 (hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_nofrag").c_str(), 998 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 999 *singleflavour_e_1VTX, 1000 *singleflavour_e_1Vtx_1SingleTrack, 1001 *singleflavour_e_1VTX_3TrackVTX, 1002 *singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_nofrag)); 1003 1004 1005 RooFormulaVar* singleflavour_1VTX_1ST_4VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_nofrag").c_str(), 1006 (hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_nofrag").c_str(), 1007 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 1008 *singleflavour_e_1VTX, 1009 *singleflavour_e_1Vtx_1SingleTrack, 1010 *singleflavour_e_1VTX_4TrackVTX, 1011 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 1012 1013 1014 RooFormulaVar* singleflavour_1VTX_1ST_5or6VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_nofrag").c_str(), 1015 (hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_nofrag").c_str(), 1016 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 1017 *singleflavour_e_1VTX, 1018 *singleflavour_e_1Vtx_1SingleTrack, 1019 *singleflavour_e_1VTX_5or6TrackVTX, 1020 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 1021 1022 1023 RooFormulaVar* singleflavour_1VTX_1ST_7orMoreVTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_nofrag").c_str(), 1024 (hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_nofrag").c_str(), 1025 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 1026 *singleflavour_e_1VTX, 1027 *singleflavour_e_1Vtx_1SingleTrack, 1028 *singleflavour_e_1VTX_7orMoreTrackVTX, 1029 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 1030 1031 1032 //2orMoreST 1033 1034 1035 RooFormulaVar* singleflavour_1VTX_2orMoreST_2VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_nofrag").c_str(), 1036 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_nofrag").c_str(), 1037 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 1038 *singleflavour_e_1VTX, 1039 *singleflavour_e_1Vtx_2orMoreSingleTrack, 1040 *singleflavour_e_1VTX_2TrackVTX, 1041 *singleflavour_e_1orMoreVTX_2TrackVTX_energyFraction_nofrag)); 1042 1043 1044 1045 RooFormulaVar* singleflavour_1VTX_2orMoreST_3VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_nofrag").c_str(), 1046 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_nofrag").c_str(), 1047 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 1048 *singleflavour_e_1VTX, 1049 *singleflavour_e_1Vtx_2orMoreSingleTrack, 1050 *singleflavour_e_1VTX_3TrackVTX, 1051 *singleflavour_e_1orMoreVTX_3TrackVTX_energyFraction_nofrag)); 1052 1053 1054 RooFormulaVar* singleflavour_1VTX_2orMoreST_4VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_nofrag").c_str(), 1055 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_nofrag").c_str(), 1056 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 1057 *singleflavour_e_1VTX, 1058 *singleflavour_e_1Vtx_2orMoreSingleTrack, 1059 *singleflavour_e_1VTX_4TrackVTX, 1060 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 1061 1062 1063 RooFormulaVar* singleflavour_1VTX_2orMoreST_5or6VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_nofrag").c_str(), 1064 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_nofrag").c_str(), 1065 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 1066 *singleflavour_e_1VTX, 1067 *singleflavour_e_1Vtx_2orMoreSingleTrack, 1068 *singleflavour_e_1VTX_5or6TrackVTX, 1069 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 1070 1071 1072 RooFormulaVar* singleflavour_1VTX_2orMoreST_7orMoreVTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_nofrag").c_str(), 1073 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_nofrag").c_str(), 1074 "@0*@1*@2*@3*@4",RooArgList(*singleflavour_coef, 1075 *singleflavour_e_1VTX, 1076 *singleflavour_e_1Vtx_2orMoreSingleTrack, 1077 *singleflavour_e_1VTX_7orMoreTrackVTX, 1078 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 1079 1080 1081 1082 //2orMoreVTX 1083 1084 1085 RooFormulaVar* singleflavour_2orMoreVTX_4VTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_nofrag").c_str(), 1086 (hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_nofrag").c_str(), 1087 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 1088 *singleflavour_e_2orMoreVTX, 1089 *singleflavour_e_2orMoreVTX_4TrackVTX, 1090 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 1091 1092 1093 RooFormulaVar* singleflavour_2orMoreVTX_5orMoreVTX_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_nofrag").c_str(), 1094 (hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_nofrag").c_str(), 1095 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 1096 *singleflavour_e_2orMoreVTX, 1097 *singleflavour_e_2orMoreVTX_5orMoreTrackVTX, 1098 *singleflavour_e_1orMoreVTX_4orMoreTrackVTX_energyFraction_nofrag)); 1099 1100 1101 1102 //coef for noVTX case 1103 1104 1105 RooFormulaVar* singleflavour_noVTX_1ST_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_noVTX_1ST_nofrag").c_str(), 1106 (hypothesis+"_"+jetauthor+"_noVTX_1ST_nofrag").c_str(), 1107 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 1108 *singleflavour_e_NoVTX, 1109 *singleflavour_e_NoVtx_1SingleTrack, 1110 *singleflavour_e_NoVtx_1SingleTrack_energyFraction_nofrag)); 1111 1112 1113 RooFormulaVar* singleflavour_noVTX_2ST_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_noVTX_2ST_nofrag").c_str(), 1114 (hypothesis+"_"+jetauthor+"_noVTX_2ST_nofrag").c_str(), 1115 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 1116 *singleflavour_e_NoVTX, 1117 *singleflavour_e_NoVtx_2SingleTrack, 1118 *singleflavour_e_NoVtx_2orMoreSingleTrack_energyFraction_nofrag)); 1119 1120 1121 RooFormulaVar* singleflavour_noVTX_3orMoreST_nofrag_coef=new RooFormulaVar((hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_nofrag").c_str(), 1122 (hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_nofrag").c_str(), 1123 "@0*@1*@2*@3",RooArgList(*singleflavour_coef, 1124 *singleflavour_e_NoVTX, 1125 *singleflavour_e_NoVtx_3orMoreSingleTrack, 1126 *singleflavour_e_NoVtx_2orMoreSingleTrack_energyFraction_nofrag)); 1127 1128 1129 //DUMMY PDF 1130 Int_t singleflavour_noVTX_noSingleTrack_nbins(1); 1131 TArrayD singleflavour_noVTX_noSingleTrack_limits(singleflavour_noVTX_noSingleTrack_nbins+1); 1132 singleflavour_noVTX_noSingleTrack_limits[0]=0.; 1133 singleflavour_noVTX_noSingleTrack_limits[1]=1.00001; 1134 RooArgList* singleflavour_noVTX_noSingleTrack_list = new RooArgList((hypothesis+"_"+jetauthor+"_noVTX_noSingleTrack_list").c_str()); 1135 RooParametricStepFunction* singleflavour_noVTX_noSingleTrack_pdf=new RooParametricStepFunction((hypothesis+"_"+jetauthor+"_noVTX_noSingleTrack_pdf").c_str(), 1136 (hypothesis+"_"+jetauthor+"_noVTX_noSingleTrack_pdf").c_str(), 1137 *significance3d, 1138 *singleflavour_noVTX_noSingleTrack_list, 1139 singleflavour_noVTX_noSingleTrack_limits, 1140 singleflavour_noVTX_noSingleTrack_nbins); 1141 1142 1143 if (retrieveHistoFromFile(refFileName,hypothesis+"_noVTX_significance3d_histo")==0) 1144 { 1145 ATH_MSG_ERROR(" Cannot get calibration histograms. JetFitterTag and JetFitterCOMB taggers will produce nonsense"); 1146 } 1147 1148 RooDataHist* singleflavour_noVTX_significance3d_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_noVTX_significance3d_histo").c_str(), 1149 (hypothesis+"_"+jetauthor+"_noVTX_significance3d_histo").c_str(), 1150 *significance3d, 1151 retrieveHistoFromFile(refFileName,hypothesis+"_noVTX_significance3d_histo"), 1152 1.0); 1153 1154 histogramsVector->push_back(singleflavour_noVTX_significance3d_histo); 1155 1156 RooHistPdf* singleflavour_noVTX_significance3d_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_noVTX_significance3d_pdf").c_str(), 1157 (hypothesis+"_"+jetauthor+"_noVTX_significance3d_pdf").c_str(), 1158 *significance3d, 1159 *singleflavour_noVTX_significance3d_histo); 1160 1161 1162 RooDataHist* singleflavour_noVTX_1SingleTrack_energyFraction_normal_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_noVTX_1SingleTrack_energyFraction_normal_histo").c_str(), 1163 (hypothesis+"_"+jetauthor+"_noVTX_1SingleTrack_energyFraction_normal_histo").c_str(), 1164 *energyFraction, 1165 retrieveHistoFromFile(refFileName,hypothesis+"_noVTX_1SingleTrack_energyFraction_normal_histo"), 1166 1.0); 1167 1168 histogramsVector->push_back(singleflavour_noVTX_1SingleTrack_energyFraction_normal_histo); 1169 1170 1171 RooHistPdf* singleflavour_noVTX_1SingleTrack_energyFraction_normal_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_noVTX_1SingleTrack_energyFraction_normal_pdf").c_str(), 1172 (hypothesis+"_"+jetauthor+"_noVTX_1SingleTrack_energyFraction_normal_pdf").c_str(), 1173 *energyFraction, 1174 *singleflavour_noVTX_1SingleTrack_energyFraction_normal_histo); 1175 1176 1177 1178 RooDataHist* singleflavour_noVTX_2orMoreSingleTrack_energyFraction_normal_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_noVTX_2orMoreSingleTrack_energyFraction_normal_histo").c_str(), 1179 (hypothesis+"_"+jetauthor+"_noVTX_2orMoreSingleTrack_energyFraction_normal_histo").c_str(), 1180 *energyFraction, 1181 retrieveHistoFromFile(refFileName,hypothesis+"_noVTX_2orMoreSingleTrack_energyFraction_normal_histo"), 1182 1.0); 1183 1184 histogramsVector->push_back(singleflavour_noVTX_2orMoreSingleTrack_energyFraction_normal_histo); 1185 1186 1187 1188 RooHistPdf* singleflavour_noVTX_2orMoreSingleTrack_energyFraction_normal_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_noVTX_2orMoreSingleTrack_energyFraction_normal_pdf").c_str(), 1189 (hypothesis+"_"+jetauthor+"_noVTX_2orMoreSingleTrack_energyFraction_normal_pdf").c_str(), 1190 *energyFraction, 1191 *singleflavour_noVTX_2orMoreSingleTrack_energyFraction_normal_histo); 1192 1193 1194 RooDataHist* singleflavour_1orMoreVTX_2TrackVTX_energyFraction_normal_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_1orMoreVTX_2TrackVTX_energyFraction_normal_histo").c_str(), 1195 (hypothesis+"_"+jetauthor+"_1orMoreVTX_2TrackVTX_energyFraction_normal_histo").c_str(), 1196 *energyFraction, 1197 retrieveHistoFromFile(refFileName,hypothesis+"_1orMoreVTX_2TrackVTX_energyFraction_normal_histo"), 1198 1.0); 1199 1200 histogramsVector->push_back(singleflavour_1orMoreVTX_2TrackVTX_energyFraction_normal_histo); 1201 1202 1203 RooHistPdf* singleflavour_1orMoreVTX_2TrackVTX_energyFraction_normal_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_1orMoreVTX_2TrackVTX_energyFraction_normal_pdf").c_str(), 1204 (hypothesis+"_"+jetauthor+"_1orMoreVTX_2TrackVTX_energyFraction_normal_pdf").c_str(), 1205 *energyFraction, 1206 *singleflavour_1orMoreVTX_2TrackVTX_energyFraction_normal_histo); 1207 1208 1209 RooDataHist* singleflavour_1orMoreVTX_3TrackVTX_energyFraction_normal_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_1orMoreVTX_3TrackVTX_energyFraction_normal_histo").c_str(), 1210 (hypothesis+"_"+jetauthor+"_1orMoreVTX_3TrackVTX_energyFraction_normal_histo").c_str(), 1211 *energyFraction, 1212 retrieveHistoFromFile(refFileName,hypothesis+"_1orMoreVTX_3TrackVTX_energyFraction_normal_histo"), 1213 1.0); 1214 1215 histogramsVector->push_back(singleflavour_1orMoreVTX_3TrackVTX_energyFraction_normal_histo); 1216 1217 1218 RooHistPdf* singleflavour_1orMoreVTX_3TrackVTX_energyFraction_normal_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_1orMoreVTX_3TrackVTX_energyFraction_normal_pdf").c_str(), 1219 (hypothesis+"_"+jetauthor+"_1orMoreVTX_3TrackVTX_energyFraction_normal_pdf").c_str(), 1220 *energyFraction, 1221 *singleflavour_1orMoreVTX_3TrackVTX_energyFraction_normal_histo); 1222 1223 1224 1225 RooDataHist* singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_histo").c_str(), 1226 (hypothesis+"_"+jetauthor+"_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_histo").c_str(), 1227 *energyFraction, 1228 retrieveHistoFromFile(refFileName,hypothesis+"_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_histo"), 1229 1.0); 1230 1231 histogramsVector->push_back(singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_histo); 1232 1233 RooHistPdf* singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf").c_str(), 1234 (hypothesis+"_"+jetauthor+"_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf").c_str(), 1235 *energyFraction, 1236 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_histo); 1237 1238 1239 RooDataHist* singleflavour_1orMoreVTX_significance3d_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_1orMoreVTX_significance3d_histo").c_str(), 1240 (hypothesis+"_"+jetauthor+"_1orMoreVTX_significance3d_histo").c_str(), 1241 *significance3d, 1242 retrieveHistoFromFile(refFileName,hypothesis+"_1orMoreVTX_significance3d_histo"), 1243 1.0); 1244 1245 histogramsVector->push_back(singleflavour_1orMoreVTX_significance3d_histo); 1246 1247 1248 RooHistPdf* singleflavour_1orMoreVTX_significance3d_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_1orMoreVTX_significance3d_pdf").c_str(), 1249 (hypothesis+"_"+jetauthor+"_1orMoreVTX_significance3d_pdf").c_str(), 1250 *significance3d, 1251 *singleflavour_1orMoreVTX_significance3d_histo); 1252 1253 1254 RooDataHist* singleflavour_1orMoreVTX_2TrackVTX_mass_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_1orMoreVTX_2TrackVTX_mass_histo").c_str(), 1255 (hypothesis+"_"+jetauthor+"_1orMoreVTX_2TrackVTX_mass_histo").c_str(), 1256 *mass, 1257 retrieveHistoFromFile(refFileName,hypothesis+"_1orMoreVTX_2TrackVTX_mass_histo"), 1258 1.0); 1259 1260 histogramsVector->push_back(singleflavour_1orMoreVTX_2TrackVTX_mass_histo); 1261 1262 1263 RooHistPdf* singleflavour_1orMoreVTX_2TrackVTX_mass_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_1orMoreVTX_2TrackVTX_mass_pdf").c_str(), 1264 (hypothesis+"_"+jetauthor+"_1orMoreVTX_2TrackVTX_mass_pdf").c_str(), 1265 *mass, 1266 *singleflavour_1orMoreVTX_2TrackVTX_mass_histo); 1267 1268 RooDataHist* singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_histo=new RooDataHist((hypothesis+"_"+jetauthor+"_1orMoreVTX_3orMoreTrackVTX_mass_histo").c_str(), 1269 (hypothesis+"_"+jetauthor+"_1orMoreVTX_3orMoreTrackVTX_mass_histo").c_str(), 1270 *mass, 1271 retrieveHistoFromFile(refFileName,hypothesis+"_1orMoreVTX_3orMoreTrackVTX_mass_histo"), 1272 1.0); 1273 1274 histogramsVector->push_back(singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_histo); 1275 1276 RooHistPdf* singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf=new RooHistPdf((hypothesis+"_"+jetauthor+"_1orMoreVTX_3orMoreTrackVTX_mass_pdf").c_str(), 1277 (hypothesis+"_"+jetauthor+"_1orMoreVTX_3orMoreTrackVTX_mass_pdf").c_str(), 1278 *mass, 1279 *singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_histo); 1280 1281 1282 1283 RooProdPdf* singleflavour_noVTX_0ST_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_noVTX_0ST_pdf").c_str(), 1284 (hypothesis+"_"+jetauthor+"_noVTX_0ST_pdf").c_str(), 1285 RooArgList(*singleflavour_noVTX_noSingleTrack_pdf)); 1286 1287 RooAddPdf* singleflavour_noVTX_0ST_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_noVTX_0ST_pdf_add").c_str(), 1288 (hypothesis+"_"+jetauthor+"_noVTX_0ST_pdf_add").c_str(), 1289 RooArgList(*singleflavour_noVTX_0ST_pdf), 1290 RooArgList(*singleflavour_noVTX_0ST_coef)); 1291 1292 1293 RooProdPdf* singleflavour_noVTX_1ST_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_noVTX_1ST_normal_pdf").c_str(), 1294 (hypothesis+"_"+jetauthor+"_noVTX_1ST_normal_pdf").c_str(), 1295 RooArgList(*singleflavour_noVTX_1SingleTrack_energyFraction_normal_pdf, 1296 *singleflavour_noVTX_significance3d_pdf)); 1297 1298 RooAddPdf* singleflavour_noVTX_1ST_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_noVTX_1ST_normal_pdf_add").c_str(), 1299 (hypothesis+"_"+jetauthor+"_noVTX_1ST_normal_pdf_add").c_str(), 1300 RooArgList(*singleflavour_noVTX_1ST_normal_pdf), 1301 RooArgList(*singleflavour_noVTX_1ST_normal_coef)); 1302 1303 RooProdPdf* singleflavour_noVTX_2ST_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_noVTX_2ST_normal_pdf").c_str(), 1304 (hypothesis+"_"+jetauthor+"_noVTX_2ST_normal_pdf").c_str(), 1305 RooArgList(*singleflavour_noVTX_2orMoreSingleTrack_energyFraction_normal_pdf, 1306 *singleflavour_noVTX_significance3d_pdf)); 1307 1308 RooAddPdf* singleflavour_noVTX_2ST_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_noVTX_2ST_normal_pdf_add").c_str(), 1309 (hypothesis+"_"+jetauthor+"_noVTX_2ST_normal_pdf_add").c_str(), 1310 RooArgList(*singleflavour_noVTX_2ST_normal_pdf), 1311 RooArgList(*singleflavour_noVTX_2ST_normal_coef)); 1312 1313 RooProdPdf* singleflavour_noVTX_3orMoreST_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_normal_pdf").c_str(), 1314 (hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_normal_pdf").c_str(), 1315 RooArgList(*singleflavour_noVTX_2orMoreSingleTrack_energyFraction_normal_pdf, 1316 *singleflavour_noVTX_significance3d_pdf)); 1317 1318 RooAddPdf* singleflavour_noVTX_3orMoreST_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_normal_pdf_add").c_str(), 1319 (hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_normal_pdf_add").c_str(), 1320 RooArgList(*singleflavour_noVTX_3orMoreST_normal_pdf), 1321 RooArgList(*singleflavour_noVTX_3orMoreST_normal_coef)); 1322 1323 1324 //1 1325 1326 RooProdPdf* singleflavour_1VTX_0ST_2VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_normal_pdf").c_str(), 1327 (hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_normal_pdf").c_str(), 1328 RooArgList(*singleflavour_1orMoreVTX_2TrackVTX_mass_pdf, 1329 *singleflavour_1orMoreVTX_significance3d_pdf, 1330 *singleflavour_1orMoreVTX_2TrackVTX_energyFraction_normal_pdf)); 1331 1332 RooAddPdf* singleflavour_1VTX_0ST_2VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_normal_pdf_add").c_str(), 1333 (hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_normal_pdf_add").c_str(), 1334 RooArgList(*singleflavour_1VTX_0ST_2VTX_normal_pdf), 1335 RooArgList(*singleflavour_1VTX_0ST_2VTX_normal_coef)); 1336 1337 RooProdPdf* singleflavour_1VTX_0ST_3VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_normal_pdf").c_str(), 1338 (hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_normal_pdf").c_str(), 1339 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1340 *singleflavour_1orMoreVTX_significance3d_pdf, 1341 *singleflavour_1orMoreVTX_3TrackVTX_energyFraction_normal_pdf)); 1342 1343 RooAddPdf* singleflavour_1VTX_0ST_3VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_normal_pdf_add").c_str(), 1344 (hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_normal_pdf_add").c_str(), 1345 RooArgList(*singleflavour_1VTX_0ST_3VTX_normal_pdf), 1346 RooArgList(*singleflavour_1VTX_0ST_3VTX_normal_coef)); 1347 1348 RooProdPdf* singleflavour_1VTX_0ST_4VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_normal_pdf").c_str(), 1349 (hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_normal_pdf").c_str(), 1350 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1351 *singleflavour_1orMoreVTX_significance3d_pdf, 1352 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1353 1354 RooAddPdf* singleflavour_1VTX_0ST_4VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_normal_pdf_add").c_str(), 1355 (hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_normal_pdf_add").c_str(), 1356 RooArgList(*singleflavour_1VTX_0ST_4VTX_normal_pdf), 1357 RooArgList(*singleflavour_1VTX_0ST_4VTX_normal_coef)); 1358 1359 1360 RooProdPdf* singleflavour_1VTX_0ST_5or6VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_normal_pdf").c_str(), 1361 (hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_normal_pdf").c_str(), 1362 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1363 *singleflavour_1orMoreVTX_significance3d_pdf, 1364 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1365 1366 RooAddPdf* singleflavour_1VTX_0ST_5or6VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_normal_pdf_add").c_str(), 1367 (hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_normal_pdf_add").c_str(), 1368 RooArgList(*singleflavour_1VTX_0ST_5or6VTX_normal_pdf), 1369 RooArgList(*singleflavour_1VTX_0ST_5or6VTX_normal_coef)); 1370 1371 RooProdPdf* singleflavour_1VTX_0ST_7orMoreVTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_normal_pdf").c_str(), 1372 (hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMore_pdf").c_str(), 1373 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1374 *singleflavour_1orMoreVTX_significance3d_pdf, 1375 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1376 1377 1378 RooAddPdf* singleflavour_1VTX_0ST_7orMoreVTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_normal_pdf_add").c_str(), 1379 (hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_normal_pdf_add").c_str(), 1380 RooArgList(*singleflavour_1VTX_0ST_7orMoreVTX_normal_pdf), 1381 RooArgList(*singleflavour_1VTX_0ST_7orMoreVTX_normal_coef)); 1382 1383 1384 1385 //1ST 1386 1387 RooProdPdf* singleflavour_1VTX_1ST_2VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_normal_pdf").c_str(), 1388 (hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_normal_pdf").c_str(), 1389 RooArgList(*singleflavour_1orMoreVTX_2TrackVTX_mass_pdf, 1390 *singleflavour_1orMoreVTX_significance3d_pdf, 1391 *singleflavour_1orMoreVTX_2TrackVTX_energyFraction_normal_pdf)); 1392 1393 RooAddPdf* singleflavour_1VTX_1ST_2VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_normal_pdf_add").c_str(), 1394 (hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_normal_pdf_add").c_str(), 1395 RooArgList(*singleflavour_1VTX_1ST_2VTX_normal_pdf), 1396 RooArgList(*singleflavour_1VTX_1ST_2VTX_normal_coef)); 1397 1398 RooProdPdf* singleflavour_1VTX_1ST_3VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_normal_pdf").c_str(), 1399 (hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_normal_pdf").c_str(), 1400 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1401 *singleflavour_1orMoreVTX_significance3d_pdf, 1402 *singleflavour_1orMoreVTX_3TrackVTX_energyFraction_normal_pdf)); 1403 1404 RooAddPdf* singleflavour_1VTX_1ST_3VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_normal_pdf_add").c_str(), 1405 (hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_normal_pdf_add").c_str(), 1406 RooArgList(*singleflavour_1VTX_1ST_3VTX_normal_pdf), 1407 RooArgList(*singleflavour_1VTX_1ST_3VTX_normal_coef)); 1408 1409 RooProdPdf* singleflavour_1VTX_1ST_4VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_normal_pdf").c_str(), 1410 (hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_normal_pdf").c_str(), 1411 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1412 *singleflavour_1orMoreVTX_significance3d_pdf, 1413 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1414 1415 RooAddPdf* singleflavour_1VTX_1ST_4VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_normal_pdf_add").c_str(), 1416 (hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_normal_pdf_add").c_str(), 1417 RooArgList(*singleflavour_1VTX_1ST_4VTX_normal_pdf), 1418 RooArgList(*singleflavour_1VTX_1ST_4VTX_normal_coef)); 1419 1420 1421 RooProdPdf* singleflavour_1VTX_1ST_5or6VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_normal_pdf").c_str(), 1422 (hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_normal_pdf").c_str(), 1423 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1424 *singleflavour_1orMoreVTX_significance3d_pdf, 1425 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1426 1427 RooAddPdf* singleflavour_1VTX_1ST_5or6VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_normal_pdf_add").c_str(), 1428 (hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_normal_pdf_add").c_str(), 1429 RooArgList(*singleflavour_1VTX_1ST_5or6VTX_normal_pdf), 1430 RooArgList(*singleflavour_1VTX_1ST_5or6VTX_normal_coef)); 1431 1432 RooProdPdf* singleflavour_1VTX_1ST_7orMoreVTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_normal_pdf").c_str(), 1433 (hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_normal_pdf").c_str(), 1434 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1435 *singleflavour_1orMoreVTX_significance3d_pdf, 1436 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1437 1438 1439 RooAddPdf* singleflavour_1VTX_1ST_7orMoreVTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_normal_pdf_add").c_str(), 1440 (hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_normal_pdf_add").c_str(), 1441 RooArgList(*singleflavour_1VTX_1ST_7orMoreVTX_normal_pdf), 1442 RooArgList(*singleflavour_1VTX_1ST_7orMoreVTX_normal_coef)); 1443 1444 1445 //2orMoreST 1446 1447 1448 RooProdPdf* singleflavour_1VTX_2orMoreST_2VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_normal_pdf").c_str(), 1449 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_normal_pdf").c_str(), 1450 RooArgList(*singleflavour_1orMoreVTX_2TrackVTX_mass_pdf, 1451 *singleflavour_1orMoreVTX_significance3d_pdf, 1452 *singleflavour_1orMoreVTX_2TrackVTX_energyFraction_normal_pdf)); 1453 1454 RooAddPdf* singleflavour_1VTX_2orMoreST_2VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_normal_pdf_add").c_str(), 1455 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_normal_pdf_add").c_str(), 1456 RooArgList(*singleflavour_1VTX_2orMoreST_2VTX_normal_pdf), 1457 RooArgList(*singleflavour_1VTX_2orMoreST_2VTX_normal_coef)); 1458 1459 RooProdPdf* singleflavour_1VTX_2orMoreST_3VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_normal_pdf").c_str(), 1460 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_normal_pdf").c_str(), 1461 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1462 *singleflavour_1orMoreVTX_significance3d_pdf, 1463 *singleflavour_1orMoreVTX_3TrackVTX_energyFraction_normal_pdf)); 1464 1465 RooAddPdf* singleflavour_1VTX_2orMoreST_3VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_normal_pdf_add").c_str(), 1466 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_normal_pdf_add").c_str(), 1467 RooArgList(*singleflavour_1VTX_2orMoreST_3VTX_normal_pdf), 1468 RooArgList(*singleflavour_1VTX_2orMoreST_3VTX_normal_coef)); 1469 1470 RooProdPdf* singleflavour_1VTX_2orMoreST_4VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_normal_pdf").c_str(), 1471 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_normal_pdf").c_str(), 1472 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1473 *singleflavour_1orMoreVTX_significance3d_pdf, 1474 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1475 1476 RooAddPdf* singleflavour_1VTX_2orMoreST_4VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_normal_pdf_add").c_str(), 1477 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_normal_pdf_add").c_str(), 1478 RooArgList(*singleflavour_1VTX_2orMoreST_4VTX_normal_pdf), 1479 RooArgList(*singleflavour_1VTX_2orMoreST_4VTX_normal_coef)); 1480 1481 1482 RooProdPdf* singleflavour_1VTX_2orMoreST_5or6VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_normal_pdf").c_str(), 1483 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_normal_pdf").c_str(), 1484 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1485 *singleflavour_1orMoreVTX_significance3d_pdf, 1486 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1487 1488 RooAddPdf* singleflavour_1VTX_2orMoreST_5or6VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_normal_pdf_add").c_str(), 1489 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_normal_pdf_add").c_str(), 1490 RooArgList(*singleflavour_1VTX_2orMoreST_5or6VTX_normal_pdf), 1491 RooArgList(*singleflavour_1VTX_2orMoreST_5or6VTX_normal_coef)); 1492 1493 1494 RooProdPdf* singleflavour_1VTX_2orMoreST_7orMoreVTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_normal_pdf").c_str(), 1495 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_normal_pdf").c_str(), 1496 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1497 *singleflavour_1orMoreVTX_significance3d_pdf, 1498 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1499 1500 RooAddPdf* singleflavour_1VTX_2orMoreST_7orMoreVTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_normal_pdf_add").c_str(), 1501 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_normal_pdf_add").c_str(), 1502 RooArgList(*singleflavour_1VTX_2orMoreST_7orMoreVTX_normal_pdf), 1503 RooArgList(*singleflavour_1VTX_2orMoreST_7orMoreVTX_normal_coef)); 1504 1505 1506 1507 //2orMore 1508 1509 RooProdPdf* singleflavour_2orMoreVTX_4VTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_normal_pdf").c_str(), 1510 (hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_normal_pdf").c_str(), 1511 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1512 *singleflavour_1orMoreVTX_significance3d_pdf, 1513 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1514 1515 RooAddPdf* singleflavour_2orMoreVTX_4VTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_normal_pdf_add").c_str(), 1516 (hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_normal_pdf_add").c_str(), 1517 RooArgList(*singleflavour_2orMoreVTX_4VTX_normal_pdf), 1518 RooArgList(*singleflavour_2orMoreVTX_4VTX_normal_coef)); 1519 1520 1521 1522 RooProdPdf* singleflavour_2orMoreVTX_5orMoreVTX_normal_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_normal_pdf").c_str(), 1523 (hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_normal_pdf").c_str(), 1524 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1525 *singleflavour_1orMoreVTX_significance3d_pdf, 1526 *singleflavour_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal_pdf)); 1527 1528 RooAddPdf* singleflavour_2orMoreVTX_5orMoreVTX_normal_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_normal_pdf_add").c_str(), 1529 (hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_normal_pdf_add").c_str(), 1530 RooArgList(*singleflavour_2orMoreVTX_5orMoreVTX_normal_pdf), 1531 RooArgList(*singleflavour_2orMoreVTX_5orMoreVTX_normal_coef)); 1532 1533 //SAME FOR NOFRAG CASE... 1534 1535 RooProdPdf* singleflavour_noVTX_1ST_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_noVTX_1ST_nofrag_pdf").c_str(), 1536 (hypothesis+"_"+jetauthor+"_noVTX_1ST_nofrag_pdf").c_str(), 1537 RooArgList(*singleflavour_noVTX_significance3d_pdf)); 1538 1539 RooAddPdf* singleflavour_noVTX_1ST_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_noVTX_1ST_nofrag_pdf_add").c_str(), 1540 (hypothesis+"_"+jetauthor+"_noVTX_1ST_nofrag_pdf_add").c_str(), 1541 RooArgList(*singleflavour_noVTX_1ST_nofrag_pdf), 1542 RooArgList(*singleflavour_noVTX_1ST_nofrag_coef)); 1543 1544 RooProdPdf* singleflavour_noVTX_2ST_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_noVTX_2ST_nofrag_pdf").c_str(), 1545 (hypothesis+"_"+jetauthor+"_noVTX_2ST_nofrag_pdf").c_str(), 1546 RooArgList(*singleflavour_noVTX_significance3d_pdf)); 1547 1548 RooAddPdf* singleflavour_noVTX_2ST_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_noVTX_2ST_nofrag_pdf_add").c_str(), 1549 (hypothesis+"_"+jetauthor+"_noVTX_2ST_nofrag_pdf_add").c_str(), 1550 RooArgList(*singleflavour_noVTX_2ST_nofrag_pdf), 1551 RooArgList(*singleflavour_noVTX_2ST_nofrag_coef)); 1552 1553 RooProdPdf* singleflavour_noVTX_3orMoreST_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_nofrag_pdf").c_str(), 1554 (hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_nofrag_pdf").c_str(), 1555 RooArgList(*singleflavour_noVTX_significance3d_pdf)); 1556 1557 RooAddPdf* singleflavour_noVTX_3orMoreST_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_nofrag_pdf_add").c_str(), 1558 (hypothesis+"_"+jetauthor+"_noVTX_3orMoreST_nofrag_pdf_add").c_str(), 1559 RooArgList(*singleflavour_noVTX_3orMoreST_nofrag_pdf), 1560 RooArgList(*singleflavour_noVTX_3orMoreST_nofrag_coef)); 1561 1562 1563 //1 1564 1565 RooProdPdf* singleflavour_1VTX_0ST_2VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_nofrag_pdf").c_str(), 1566 (hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_nofrag_pdf").c_str(), 1567 RooArgList(*singleflavour_1orMoreVTX_2TrackVTX_mass_pdf, 1568 *singleflavour_1orMoreVTX_significance3d_pdf)); 1569 1570 RooAddPdf* singleflavour_1VTX_0ST_2VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_nofrag_pdf_add").c_str(), 1571 (hypothesis+"_"+jetauthor+"_1VTX_0ST_2VTX_nofrag_pdf_add").c_str(), 1572 RooArgList(*singleflavour_1VTX_0ST_2VTX_nofrag_pdf), 1573 RooArgList(*singleflavour_1VTX_0ST_2VTX_nofrag_coef)); 1574 1575 RooProdPdf* singleflavour_1VTX_0ST_3VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_nofrag_pdf").c_str(), 1576 (hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_nofrag_pdf").c_str(), 1577 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1578 *singleflavour_1orMoreVTX_significance3d_pdf)); 1579 1580 RooAddPdf* singleflavour_1VTX_0ST_3VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_nofrag_pdf_add").c_str(), 1581 (hypothesis+"_"+jetauthor+"_1VTX_0ST_3VTX_nofrag_pdf_add").c_str(), 1582 RooArgList(*singleflavour_1VTX_0ST_3VTX_nofrag_pdf), 1583 RooArgList(*singleflavour_1VTX_0ST_3VTX_nofrag_coef)); 1584 1585 RooProdPdf* singleflavour_1VTX_0ST_4VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_nofrag_pdf").c_str(), 1586 (hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_nofrag_pdf").c_str(), 1587 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1588 *singleflavour_1orMoreVTX_significance3d_pdf)); 1589 1590 RooAddPdf* singleflavour_1VTX_0ST_4VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_nofrag_pdf_add").c_str(), 1591 (hypothesis+"_"+jetauthor+"_1VTX_0ST_4VTX_nofrag_pdf_add").c_str(), 1592 RooArgList(*singleflavour_1VTX_0ST_4VTX_nofrag_pdf), 1593 RooArgList(*singleflavour_1VTX_0ST_4VTX_nofrag_coef)); 1594 1595 1596 RooProdPdf* singleflavour_1VTX_0ST_5or6VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_nofrag_pdf").c_str(), 1597 (hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_nofrag_pdf").c_str(), 1598 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1599 *singleflavour_1orMoreVTX_significance3d_pdf)); 1600 1601 RooAddPdf* singleflavour_1VTX_0ST_5or6VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_nofrag_pdf_add").c_str(), 1602 (hypothesis+"_"+jetauthor+"_1VTX_0ST_5or6VTX_nofrag_pdf_add").c_str(), 1603 RooArgList(*singleflavour_1VTX_0ST_5or6VTX_nofrag_pdf), 1604 RooArgList(*singleflavour_1VTX_0ST_5or6VTX_nofrag_coef)); 1605 1606 RooProdPdf* singleflavour_1VTX_0ST_7orMoreVTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_nofrag_pdf").c_str(), 1607 (hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMore_pdf").c_str(), 1608 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1609 *singleflavour_1orMoreVTX_significance3d_pdf)); 1610 1611 1612 RooAddPdf* singleflavour_1VTX_0ST_7orMoreVTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_nofrag_pdf_add").c_str(), 1613 (hypothesis+"_"+jetauthor+"_1VTX_0ST_7orMoreVTX_nofrag_pdf_add").c_str(), 1614 RooArgList(*singleflavour_1VTX_0ST_7orMoreVTX_nofrag_pdf), 1615 RooArgList(*singleflavour_1VTX_0ST_7orMoreVTX_nofrag_coef)); 1616 1617 1618 1619 //1ST 1620 1621 RooProdPdf* singleflavour_1VTX_1ST_2VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_nofrag_pdf").c_str(), 1622 (hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_nofrag_pdf").c_str(), 1623 RooArgList(*singleflavour_1orMoreVTX_2TrackVTX_mass_pdf, 1624 *singleflavour_1orMoreVTX_significance3d_pdf)); 1625 1626 RooAddPdf* singleflavour_1VTX_1ST_2VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_nofrag_pdf_add").c_str(), 1627 (hypothesis+"_"+jetauthor+"_1VTX_1ST_2VTX_nofrag_pdf_add").c_str(), 1628 RooArgList(*singleflavour_1VTX_1ST_2VTX_nofrag_pdf), 1629 RooArgList(*singleflavour_1VTX_1ST_2VTX_nofrag_coef)); 1630 1631 RooProdPdf* singleflavour_1VTX_1ST_3VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_nofrag_pdf").c_str(), 1632 (hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_nofrag_pdf").c_str(), 1633 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1634 *singleflavour_1orMoreVTX_significance3d_pdf)); 1635 1636 RooAddPdf* singleflavour_1VTX_1ST_3VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_nofrag_pdf_add").c_str(), 1637 (hypothesis+"_"+jetauthor+"_1VTX_1ST_3VTX_nofrag_pdf_add").c_str(), 1638 RooArgList(*singleflavour_1VTX_1ST_3VTX_nofrag_pdf), 1639 RooArgList(*singleflavour_1VTX_1ST_3VTX_nofrag_coef)); 1640 1641 RooProdPdf* singleflavour_1VTX_1ST_4VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_nofrag_pdf").c_str(), 1642 (hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_nofrag_pdf").c_str(), 1643 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1644 *singleflavour_1orMoreVTX_significance3d_pdf)); 1645 1646 RooAddPdf* singleflavour_1VTX_1ST_4VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_nofrag_pdf_add").c_str(), 1647 (hypothesis+"_"+jetauthor+"_1VTX_1ST_4VTX_nofrag_pdf_add").c_str(), 1648 RooArgList(*singleflavour_1VTX_1ST_4VTX_nofrag_pdf), 1649 RooArgList(*singleflavour_1VTX_1ST_4VTX_nofrag_coef)); 1650 1651 1652 RooProdPdf* singleflavour_1VTX_1ST_5or6VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_nofrag_pdf").c_str(), 1653 (hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_nofrag_pdf").c_str(), 1654 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1655 *singleflavour_1orMoreVTX_significance3d_pdf)); 1656 1657 RooAddPdf* singleflavour_1VTX_1ST_5or6VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_nofrag_pdf_add").c_str(), 1658 (hypothesis+"_"+jetauthor+"_1VTX_1ST_5or6VTX_nofrag_pdf_add").c_str(), 1659 RooArgList(*singleflavour_1VTX_1ST_5or6VTX_nofrag_pdf), 1660 RooArgList(*singleflavour_1VTX_1ST_5or6VTX_nofrag_coef)); 1661 1662 RooProdPdf* singleflavour_1VTX_1ST_7orMoreVTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_nofrag_pdf").c_str(), 1663 (hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_nofrag_pdf").c_str(), 1664 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1665 *singleflavour_1orMoreVTX_significance3d_pdf)); 1666 1667 1668 RooAddPdf* singleflavour_1VTX_1ST_7orMoreVTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_nofrag_pdf_add").c_str(), 1669 (hypothesis+"_"+jetauthor+"_1VTX_1ST_7orMoreVTX_nofrag_pdf_add").c_str(), 1670 RooArgList(*singleflavour_1VTX_1ST_7orMoreVTX_nofrag_pdf), 1671 RooArgList(*singleflavour_1VTX_1ST_7orMoreVTX_nofrag_coef)); 1672 1673 1674 //2orMoreST 1675 1676 1677 RooProdPdf* singleflavour_1VTX_2orMoreST_2VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_nofrag_pdf").c_str(), 1678 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_nofrag_pdf").c_str(), 1679 RooArgList(*singleflavour_1orMoreVTX_2TrackVTX_mass_pdf, 1680 *singleflavour_1orMoreVTX_significance3d_pdf)); 1681 1682 RooAddPdf* singleflavour_1VTX_2orMoreST_2VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_nofrag_pdf_add").c_str(), 1683 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_2VTX_nofrag_pdf_add").c_str(), 1684 RooArgList(*singleflavour_1VTX_2orMoreST_2VTX_nofrag_pdf), 1685 RooArgList(*singleflavour_1VTX_2orMoreST_2VTX_nofrag_coef)); 1686 1687 RooProdPdf* singleflavour_1VTX_2orMoreST_3VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_nofrag_pdf").c_str(), 1688 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_nofrag_pdf").c_str(), 1689 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1690 *singleflavour_1orMoreVTX_significance3d_pdf)); 1691 1692 RooAddPdf* singleflavour_1VTX_2orMoreST_3VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_nofrag_pdf_add").c_str(), 1693 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_3VTX_nofrag_pdf_add").c_str(), 1694 RooArgList(*singleflavour_1VTX_2orMoreST_3VTX_nofrag_pdf), 1695 RooArgList(*singleflavour_1VTX_2orMoreST_3VTX_nofrag_coef)); 1696 1697 RooProdPdf* singleflavour_1VTX_2orMoreST_4VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_nofrag_pdf").c_str(), 1698 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_nofrag_pdf").c_str(), 1699 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1700 *singleflavour_1orMoreVTX_significance3d_pdf)); 1701 1702 RooAddPdf* singleflavour_1VTX_2orMoreST_4VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_nofrag_pdf_add").c_str(), 1703 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_4VTX_nofrag_pdf_add").c_str(), 1704 RooArgList(*singleflavour_1VTX_2orMoreST_4VTX_nofrag_pdf), 1705 RooArgList(*singleflavour_1VTX_2orMoreST_4VTX_nofrag_coef)); 1706 1707 1708 RooProdPdf* singleflavour_1VTX_2orMoreST_5or6VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_nofrag_pdf").c_str(), 1709 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_nofrag_pdf").c_str(), 1710 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1711 *singleflavour_1orMoreVTX_significance3d_pdf)); 1712 1713 RooAddPdf* singleflavour_1VTX_2orMoreST_5or6VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_nofrag_pdf_add").c_str(), 1714 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_5or6VTX_nofrag_pdf_add").c_str(), 1715 RooArgList(*singleflavour_1VTX_2orMoreST_5or6VTX_nofrag_pdf), 1716 RooArgList(*singleflavour_1VTX_2orMoreST_5or6VTX_nofrag_coef)); 1717 1718 RooProdPdf* singleflavour_1VTX_2orMoreST_7orMoreVTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_nofrag_pdf").c_str(), 1719 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_nofrag_pdf").c_str(), 1720 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1721 *singleflavour_1orMoreVTX_significance3d_pdf)); 1722 1723 RooAddPdf* singleflavour_1VTX_2orMoreST_7orMoreVTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_nofrag_pdf_add").c_str(), 1724 (hypothesis+"_"+jetauthor+"_1VTX_2orMoreST_7orMoreVTX_nofrag_pdf_add").c_str(), 1725 RooArgList(*singleflavour_1VTX_2orMoreST_7orMoreVTX_nofrag_pdf), 1726 RooArgList(*singleflavour_1VTX_2orMoreST_7orMoreVTX_nofrag_coef)); 1727 1728 1729 1730 //2orMore 1731 1732 RooProdPdf* singleflavour_2orMoreVTX_4VTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_nofrag_pdf").c_str(), 1733 (hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_nofrag_pdf").c_str(), 1734 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1735 *singleflavour_1orMoreVTX_significance3d_pdf)); 1736 1737 RooAddPdf* singleflavour_2orMoreVTX_4VTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_nofrag_pdf_add").c_str(), 1738 (hypothesis+"_"+jetauthor+"_2orMoreVTX_4VTX_nofrag_pdf_add").c_str(), 1739 RooArgList(*singleflavour_2orMoreVTX_4VTX_nofrag_pdf), 1740 RooArgList(*singleflavour_2orMoreVTX_4VTX_nofrag_coef)); 1741 1742 1743 1744 RooProdPdf* singleflavour_2orMoreVTX_5orMoreVTX_nofrag_pdf=new RooProdPdf((hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_nofrag_pdf").c_str(), 1745 (hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_nofrag_pdf").c_str(), 1746 RooArgList(*singleflavour_1orMoreVTX_3orMoreTrackVTX_mass_pdf, 1747 *singleflavour_1orMoreVTX_significance3d_pdf)); 1748 1749 RooAddPdf* singleflavour_2orMoreVTX_5orMoreVTX_nofrag_pdf_add=new RooAddPdf((hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_nofrag_pdf_add").c_str(), 1750 (hypothesis+"_"+jetauthor+"_2orMoreVTX_5orMoreVTX_nofrag_pdf_add").c_str(), 1751 RooArgList(*singleflavour_2orMoreVTX_5orMoreVTX_nofrag_pdf), 1752 RooArgList(*singleflavour_2orMoreVTX_5orMoreVTX_nofrag_coef)); 1753 1754 1755 1756 1757 1758 // RooSuperCategory* allCategoriesCombined=static_cast<RooSuperCategory*>(m_myRooVariables->find("allCategoriesCombined")); 1759 1760 1761 1762 1763 1764 RooCategory* allCategoriesCombined_reduced=static_cast<RooCategory*>(m_myRooVariables->find("allCategoriesCombined_reduced")); 1765 1766 1767 RooSimultaneous* singleflavour_pdf=new RooSimultaneous((hypothesis+"_"+jetauthor+"_pdf").c_str(), 1768 (hypothesis+"_"+jetauthor+"_pdf").c_str(), 1769 *allCategoriesCombined_reduced); 1770 1771 singleflavour_pdf->addPdf(*singleflavour_noVTX_0ST_pdf_add,"{NoVTX;NoSingleTrack}"); 1772 singleflavour_pdf->addPdf(*singleflavour_noVTX_1ST_normal_pdf_add,"{NoVTX;1SingleTrack;Normal}"); 1773 singleflavour_pdf->addPdf(*singleflavour_noVTX_2ST_normal_pdf_add,"{NoVTX;2SingleTrack;Normal}"); 1774 singleflavour_pdf->addPdf(*singleflavour_noVTX_3orMoreST_normal_pdf_add,"{NoVTX;3orMoreSingleTrack;Normal}"); 1775 1776 1777 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_2VTX_normal_pdf_add,"{1VTX;NoSingleTrack;2TrackVTX;Normal}"); 1778 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_3VTX_normal_pdf_add,"{1VTX;NoSingleTrack;3TrackVTX;Normal}"); 1779 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_4VTX_normal_pdf_add,"{1VTX;NoSingleTrack;4TrackVTX;Normal}"); 1780 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_5or6VTX_normal_pdf_add,"{1VTX;NoSingleTrack;5or6TrackVTX;Normal}"); 1781 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_7orMoreVTX_normal_pdf_add,"{1VTX;NoSingleTrack;7orMoreTrackVTX;Normal}"); 1782 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_2VTX_normal_pdf_add,"{1VTX;1SingleTrack;2TrackVTX;Normal}"); 1783 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_3VTX_normal_pdf_add,"{1VTX;1SingleTrack;3TrackVTX;Normal}"); 1784 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_4VTX_normal_pdf_add,"{1VTX;1SingleTrack;4TrackVTX;Normal}"); 1785 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_5or6VTX_normal_pdf_add,"{1VTX;1SingleTrack;5or6TrackVTX;Normal}"); 1786 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_7orMoreVTX_normal_pdf_add,"{1VTX;1SingleTrack;7orMoreTrackVTX;Normal}"); 1787 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_2VTX_normal_pdf_add,"{1VTX;2orMoreSingleTrack;2TrackVTX;Normal}"); 1788 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_3VTX_normal_pdf_add,"{1VTX;2orMoreSingleTrack;3TrackVTX;Normal}"); 1789 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_4VTX_normal_pdf_add,"{1VTX;2orMoreSingleTrack;4TrackVTX;Normal}"); 1790 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_5or6VTX_normal_pdf_add,"{1VTX;2orMoreSingleTrack;5or6TrackVTX;Normal}"); 1791 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_7orMoreVTX_normal_pdf_add,"{1VTX;2orMoreSingleTrack;7orMoreTrackVTX;Normal}"); 1792 1793 singleflavour_pdf->addPdf(*singleflavour_2orMoreVTX_4VTX_normal_pdf_add,"{2orMoreVTX;4TrackVTX;Normal}"); 1794 singleflavour_pdf->addPdf(*singleflavour_2orMoreVTX_5orMoreVTX_normal_pdf_add,"{2orMoreVTX;5orMoreTrackVTX;Normal}"); 1795 1796 1797 singleflavour_pdf->addPdf(*singleflavour_noVTX_1ST_nofrag_pdf_add,"{NoVTX;1SingleTrack;NoFrag}"); 1798 singleflavour_pdf->addPdf(*singleflavour_noVTX_2ST_nofrag_pdf_add,"{NoVTX;2SingleTrack;NoFrag}"); 1799 singleflavour_pdf->addPdf(*singleflavour_noVTX_3orMoreST_nofrag_pdf_add,"{NoVTX;3orMoreSingleTrack;NoFrag}"); 1800 1801 1802 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_2VTX_nofrag_pdf_add,"{1VTX;NoSingleTrack;2TrackVTX;NoFrag}"); 1803 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_3VTX_nofrag_pdf_add,"{1VTX;NoSingleTrack;3TrackVTX;NoFrag}"); 1804 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_4VTX_nofrag_pdf_add,"{1VTX;NoSingleTrack;4TrackVTX;NoFrag}"); 1805 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_5or6VTX_nofrag_pdf_add,"{1VTX;NoSingleTrack;5or6TrackVTX;NoFrag}"); 1806 singleflavour_pdf->addPdf(*singleflavour_1VTX_0ST_7orMoreVTX_nofrag_pdf_add,"{1VTX;NoSingleTrack;7orMoreTrackVTX;NoFrag}"); 1807 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_2VTX_nofrag_pdf_add,"{1VTX;1SingleTrack;2TrackVTX;NoFrag}"); 1808 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_3VTX_nofrag_pdf_add,"{1VTX;1SingleTrack;3TrackVTX;NoFrag}"); 1809 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_4VTX_nofrag_pdf_add,"{1VTX;1SingleTrack;4TrackVTX;NoFrag}"); 1810 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_5or6VTX_nofrag_pdf_add,"{1VTX;1SingleTrack;5or6TrackVTX;NoFrag}"); 1811 singleflavour_pdf->addPdf(*singleflavour_1VTX_1ST_7orMoreVTX_nofrag_pdf_add,"{1VTX;1SingleTrack;7orMoreTrackVTX;NoFrag}"); 1812 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_2VTX_nofrag_pdf_add,"{1VTX;2orMoreSingleTrack;2TrackVTX;NoFrag}"); 1813 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_3VTX_nofrag_pdf_add,"{1VTX;2orMoreSingleTrack;3TrackVTX;NoFrag}"); 1814 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_4VTX_nofrag_pdf_add,"{1VTX;2orMoreSingleTrack;4TrackVTX;NoFrag}"); 1815 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_5or6VTX_nofrag_pdf_add,"{1VTX;2orMoreSingleTrack;5or6TrackVTX;NoFrag}"); 1816 singleflavour_pdf->addPdf(*singleflavour_1VTX_2orMoreST_7orMoreVTX_nofrag_pdf_add,"{1VTX;2orMoreSingleTrack;7orMoreTrackVTX;NoFrag}"); 1817 1818 1819 singleflavour_pdf->addPdf(*singleflavour_2orMoreVTX_4VTX_nofrag_pdf_add,"{2orMoreVTX;4TrackVTX;NoFrag}"); 1820 singleflavour_pdf->addPdf(*singleflavour_2orMoreVTX_5orMoreVTX_nofrag_pdf_add,"{2orMoreVTX;5orMoreTrackVTX;NoFrag}"); 1821 1822 1823 // singleflavour_pdf->Print("v"); 1824 1825 1826 //look for the correct jetauthor file 1827 int size=m_textFileNames.size(); 1828 std::string textfilename=""; 1829 for (int count=0;count<size;++count) { 1830 // std::cout << "textfilename " << m_keyToTextFileNames[count] << " key " << m_keyToTextFileNames[count] << std::endl; 1831 if (m_keyToTextFileNames[count]==jetauthor) { 1832 // std::cout << " chosen " << m_textFileNames[count] << std::endl; 1833 textfilename=m_textFileNames[count]; 1834 } 1835 } 1836 1837 // std::cout << " testing now " << std::endl; 1838 1839 bool noTextFile(false); 1840 1841 if (textfilename=="") { 1842 if (size>0) 1843 { 1844 ATH_MSG_INFO(" Could not retrieve calibration text file. Using first available, which is for: " << 1845 m_keyToTextFileNames[0] ); 1846 textfilename=m_textFileNames[0]; 1847 } 1848 else 1849 { 1850 ATH_MSG_INFO(" Could not retrieve calibration text file."); 1851 noTextFile=true; 1852 } 1853 // std::cout << " failed " << std::endl; 1854 // return; 1855 } else { 1856 // std::cout << " not failed " << std::endl; 1857 ATH_MSG_DEBUG(" Successfully found text file : " << textfilename ); 1858 } 1859 1860 1861 RooArgSet* singleflavour_parameters=(RooArgSet*)singleflavour_pdf->getVariables(); 1862 1863 ATH_MSG_DEBUG(" Got pointer to the RooArgSet. print before " << singleflavour_parameters ); 1864 1865 if (!noTextFile) 1866 { 1867 singleflavour_parameters->readFromFile(textfilename.c_str()); 1868 } 1869 1870 if (msgLvl(MSG::VERBOSE)) 1871 { 1872 ATH_MSG_DEBUG(" After reading file, coefficients set to "); 1873 singleflavour_parameters->Print("v"); 1874 } 1875 1876 // ATH_MSG_DEBUG("Print after reading "); 1877 //singleflavour_parameters->Print("v"); 1878 1879 1880 //here store the names to load for the coefficients... 1881 std::vector<TString> coefficientNamesToLoad; 1882 coefficientNamesToLoad.push_back(TString("coef")); 1883 coefficientNamesToLoad.push_back(TString("e_1VTX")); 1884 coefficientNamesToLoad.push_back(TString("e_1VTX_2TrackVTX")); 1885 coefficientNamesToLoad.push_back(TString("e_1VTX_3TrackVTX")); 1886 coefficientNamesToLoad.push_back(TString("e_1VTX_4TrackVTX")); 1887 coefficientNamesToLoad.push_back(TString("e_1VTX_5or6TrackVTX")); 1888 coefficientNamesToLoad.push_back(TString("e_1Vtx_1SingleTrack")); 1889 coefficientNamesToLoad.push_back(TString("e_1Vtx_NoSingleTrack")); 1890 coefficientNamesToLoad.push_back(TString("e_1orMoreVTX_2TrackVTX_energyFraction_normal")); 1891 coefficientNamesToLoad.push_back(TString("e_1orMoreVTX_3TrackVTX_energyFraction_normal")); 1892 coefficientNamesToLoad.push_back(TString("e_1orMoreVTX_4orMoreTrackVTX_energyFraction_normal")); 1893 coefficientNamesToLoad.push_back(TString("e_2orMoreVTX_4TrackVTX")); 1894 coefficientNamesToLoad.push_back(TString("e_NoVTX")); 1895 coefficientNamesToLoad.push_back(TString("e_NoVtx_1SingleTrack")); 1896 coefficientNamesToLoad.push_back(TString("e_NoVtx_1SingleTrack_energyFraction_normal")); 1897 coefficientNamesToLoad.push_back(TString("e_NoVtx_2SingleTrack")); 1898 coefficientNamesToLoad.push_back(TString("e_NoVtx_2orMoreSingleTrack_energyFraction_normal")); 1899 coefficientNamesToLoad.push_back(TString("e_NoVtx_NoSingleTrack")); 1900 1901 //as