/*===============================================================================* # * Copyright (C) 2020 * # * * # * Authors: Dario Menasce * # * * # * INFN: Piazza della Scienza 3, Edificio U2, Milano, Italy 20126 * # * * # * This program is free software: you can redistribute it and/or modify * # * it under the terms of the GNU General Public License as published by * # * the Free Software Foundation, either version 3 of the License, or * # * (at your option) any later version. * # * * # * This program is distributed in the hope that it will be useful, * # * but WITHOUT ANY WARRANTY; without even the implied warranty of * # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * # * GNU General Public License for more details. * # * * # * You should have received a copy of the GNU General Public License * # * along with this program. If not, see . * # ================================================================================*/ #ifndef analisi_H_ #define analisi_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; class Analisi { public: typedef vector vDef ; typedef map mapDef ; // typedef map > annDef ; typedef pair paiDef ; Analisi (string) ; ~Analisi (void ) {;} /* Public interface (in alphabetical order) */ void bookHistograms (vDef , vDef ) ; void draw (bool , bool ) ; void dumpAllData (bool ) ; void fillHistograms (vDef , vDef ) ; paiDef fitLogistic (TH1F* ) ; vDef getDates (void ) ; vDef getAllDates (void ) ; mapDef getData (string , // data string) ; // regione // annDef getAnnotatedData(string , // data // string) ; // regione int getDataDate (string , // data string , // regione string) ; // tipo dato string getLastDate (void ) ; vDef getRegioni (void ) ; vDef getTipiDati (void ) ; TH1F * getSinglePlot (string , string) ; TH1F * getDerivative (string , string) ; void listaRegioni (void ) ; void listaTipiDati (void ) ; void makeBranch (void ) ; void makePlot (string , string) ; TH1F * makePlotTotale (string) ; void plotAndFit (TH1F* , bool ) ; void readTree (bool ) ; void userCode (vDef , vDef ) ; bool wrongField (string) ; // System utility string formatter (double , int , int ) ; private: typedef map ptrMapDef_ ; typedef map hisMapDef_ ; typedef map binMapDef_ ; typedef map strMapDef_ ; typedef map valMapDef_ ; typedef map ssrMapDef_ ; typedef map datMapDef_ ; typedef vector strVecDef_ ; typedef vector tf1VecDef_ ; Long64_t nentries_ ; string * data_ ; string * stato_ ; int codice_regione_ ; string * denominazione_regione_ ; double latitude_ ; double longitude_ ; int ricoverati_con_sintomi_ ; int terapia_intensiva_ ; int totale_ospedalizzati_ ; int isolamento_domiciliare_ ; int totale_attualmente_positivi_ ; int nuovi_attualmente_positivi_ ; int dimessi_guariti_ ; int deceduti_ ; int totale_casi_ ; int tamponi_ ; int nBins_ ; double xmi_ ; double xma_ ; string TFileName_ ; bool addAll_ ; datMapDef_ mapData_ ; vDef internalTipologia_ ; binMapDef_ binMap_ ; hisMapDef_ hisMap_ ; TFile * file_ ; TTree * branch_ ; TCanvas * canvas_ ; TH1F * granTotaleN_ ; TH1F * conSintomiN_ ; tf1VecDef_ erfFunc_ ; tf1VecDef_ expFunc_ ; binMapDef_ listaRegioni_ ; binMapDef_ listaTipoDato_ ; strMapDef_ listaEstesaTipi_ ; } ; #endif