<commit_before>//------------------------------------------------------------------------------
// Implementation of AliPerformanceTPC class. It keeps information from 
// comparison of reconstructed and MC particle tracks. In addtion, 
// it keeps selection cuts used during comparison. The comparison 
// information is stored in the ROOT histograms. Analysis of these 
// histograms can be done by using Analyse() class function. The result of 
// the analysis (histograms/graphs) are stored in the folder which is
// a data member of AliPerformanceTPC.
//
// Author: J.Otwinowski 04/02/2008 
// Changes by M.Knichel 15/10/2010
// Changes by J.Salzwedel 01/10/2014
//------------------------------------------------------------------------------

/*
 
  // after running comparison task, read the file, and get component
  gROOT->LoadMacro("$ALICE_PHYSICS/PWGPP/Macros/LoadMyLibs.C");
  LoadMyLibs();

  TFile f("Output.root");
  AliPerformanceTPC * compObj = (AliPerformanceTPC*)coutput->FindObject("AliPerformanceTPC");
 
  // analyse comparison data
  compObj->Analyse();

  // the output histograms/graphs will be stored in the folder "folderTPC" 
  compObj->GetAnalysisFolder()->ls("*");

  // user can save whole comparison object (or only folder with anlysed histograms) 
  // in the seperate output file (e.g.)
  TFile fout("Analysed_TPC.root","recreate");
  compObj->Write(); // compObj->GetAnalysisFolder()->Write();
  fout.Close();

*/

#include "TCanvas.h"
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "TH1D.h"
#include "TH2D.h"
#include "TAxis.h"
#include "TPostScript.h"
#include "TString.h"
#include "TUUID.h"
#include "TTree.h"
#include "TChain.h"
#include "TStopwatch.h"
#include "AliTPCPerformanceSummary.h"
#include "TSystem.h"
#include "AliPerformanceTPC.h"
#include "AliVEvent.h" 
#include "AliVTrack.h"
#include "AliVVertex.h"
#include "AliESDVertex.h"
#include "AliESDtrack.h"
#include "AliLog.h" 
#include "AliMCEvent.h" 
#include "AliHeader.h" 
#include "AliGenEventHeader.h" 
#include "AliMCInfoCuts.h" 
#include "AliRecInfoCuts.h" 
#include "AliTracker.h" 
#include "AliTreeDraw.h" 
#include "AliTPCTransform.h" 
#include "AliTPCseed.h" 
#include "AliTPCcalibDB.h" 
#include "AliVfriendEvent.h" 
#include "AliVfriendTrack.h" 
#include "AliTPCclusterMI.h"
#include "AliFlatESDTrack.h"

using namespace std;

ClassImp(AliPerformanceTPC)

Bool_t AliPerformanceTPC::fgMergeTHnSparse = kFALSE;
Bool_t AliPerformanceTPC::fgUseMergeTHnSparse = kFALSE;

//_____________________________________________________________________________
AliPerformanceTPC::AliPerformanceTPC(TRootIOCtor*):
  AliPerformanceObject(),
  fTPCClustHisto(0),
  fTPCEventHisto(0),
  fTPCTrackHisto(0),
  fFolderObj(0),

  // histogram folder
  fAnalysisFolder(0),
  fUseHLT(kFALSE),
  h_tpc_clust_0_1_2(NULL),
  h_tpc_event_recvertex_0(NULL),
  h_tpc_event_recvertex_1(NULL),
  h_tpc_event_recvertex_2(NULL),
  h_tpc_event_recvertex_3(NULL),
  h_tpc_event_recvertex_4(NULL),
  h_tpc_event_recvertex_5(NULL),
  h_tpc_event_6(NULL),
  h_tpc_track_pos_recvertex_2_5_6(NULL),
  h_tpc_track_neg_recvertex_2_5_6(NULL),
  h_tpc_track_all_recvertex_5_8(NULL),
  h_tpc_track_all_recvertex_0_5_7(NULL),
  h_tpc_track_pos_recvertex_0_5_7(NULL),
  h_tpc_track_neg_recvertex_0_5_7(NULL),
  h_tpc_track_all_recvertex_1_5_7(NULL),
  h_tpc_track_all_recvertex_2_5_7(NULL),
  h_tpc_track_all_recvertex_3_5_7(NULL),
  h_tpc_track_pos_recvertex_3_5_7(NULL),
  h_tpc_track_neg_recvertex_3_5_7(NULL),
  h_tpc_track_all_recvertex_4_5_7(NULL),
  h_tpc_track_pos_recvertex_4_5_7(NULL),
  h_tpc_track_neg_recvertex_4_5_7(NULL),
  h_tpc_track_pos_recvertex_3_5_6(NULL),
  h_tpc_track_pos_recvertex_4_5_6(NULL),
  h_tpc_track_neg_recvertex_3_5_6(NULL),
  h_tpc_track_neg_recvertex_4_5_6(NULL)
{
  // io ctor
}

//_____________________________________________________________________________
AliPerformanceTPC::AliPerformanceTPC(const Char_t* name, const Char_t* title,Int_t analysisMode,Bool_t hptGenerator, Int_t run, Bool_t highMult, Bool_t useSparse):
  AliPerformanceObject(name,title,run,highMult),
  fTPCClustHisto(0),
  fTPCEventHisto(0),
  fTPCTrackHisto(0),
  fFolderObj(0),

  // histogram folder 
  fAnalysisFolder(0),
  fUseHLT(kFALSE),
  h_tpc_clust_0_1_2(NULL),
  h_tpc_event_recvertex_0(NULL),
  h_tpc_event_recvertex_1(NULL),
  h_tpc_event_recvertex_2(NULL),
  h_tpc_event_recvertex_3(NULL),
  h_tpc_event_recvertex_4(NULL),
  h_tpc_event_recvertex_5(NULL),
  h_tpc_event_6(NULL),
  h_tpc_track_pos_recvertex_2_5_6(NULL),
  h_tpc_track_neg_recvertex_2_5_6(NULL),
  h_tpc_track_all_recvertex_5_8(NULL),
  h_tpc_track_all_recvertex_0_5_7(NULL),
  h_tpc_track_pos_recvertex_0_5_7(NULL),
  h_tpc_track_neg_recvertex_0_5_7(NULL),<commit_msg>Intializing class members, as per Mikolaj's request<commit_after>//------------------------------------------------------------------------------
// Implementation of AliPerformanceTPC class. It keeps information from 
// comparison of reconstructed and MC particle tracks. In addtion, 
// it keeps selection cuts used during comparison. The comparison 
// information is stored in the ROOT histograms. Analysis of these 
// histograms can be done by using Analyse() class function. The result of 
// the analysis (histograms/graphs) are stored in the folder which is
// a data member of AliPerformanceTPC.
//
// Author: J.Otwinowski 04/02/2008 
// Changes by M.Knichel 15/10/2010
// Changes by J.Salzwedel 01/10/2014
//------------------------------------------------------------------------------

/*
 
  // after running comparison task, read the file, and get component
  gROOT->LoadMacro("$ALICE_PHYSICS/PWGPP/Macros/LoadMyLibs.C");
  LoadMyLibs();

  TFile f("Output.root");
  AliPerformanceTPC * compObj = (AliPerformanceTPC*)coutput->FindObject("AliPerformanceTPC");
 
  // analyse comparison data
  compObj->Analyse();

  // the output histograms/graphs will be stored in the folder "folderTPC" 
  compObj->GetAnalysisFolder()->ls("*");

  // user can save whole comparison object (or only folder with anlysed histograms) 
  // in the seperate output file (e.g.)
  TFile fout("Analysed_TPC.root","recreate");
  compObj->Write(); // compObj->GetAnalysisFolder()->Write();
  fout.Close();

*/

#include "TCanvas.h"
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "TH1D.h"
#include "TH2D.h"
#include "TAxis.h"
#include "TPostScript.h"
#include "TString.h"
#include "TUUID.h"
#include "TTree.h"
#include "TChain.h"
#include "TStopwatch.h"
#include "AliTPCPerformanceSummary.h"
#include "TSystem.h"
#include "AliPerformanceTPC.h"
#include "AliVEvent.h" 
#include "AliVTrack.h"
#include "AliVVertex.h"
#include "AliESDVertex.h"
#include "AliESDtrack.h"
#include "AliLog.h" 
#include "AliMCEvent.h" 
#include "AliHeader.h" 
#include "AliGenEventHeader.h" 
#include "AliMCInfoCuts.h" 
#include "AliRecInfoCuts.h" 
#include "AliTracker.h" 
#include "AliTreeDraw.h" 
#include "AliTPCTransform.h" 
#include "AliTPCseed.h" 
#include "AliTPCcalibDB.h" 
#include "AliVfriendEvent.h" 
#include "AliVfriendTrack.h" 
#include "AliTPCclusterMI.h"
#include "AliFlatESDTrack.h"

using namespace std;

ClassImp(AliPerformanceTPC)

Bool_t AliPerformanceTPC::fgMergeTHnSparse = kFALSE;
Bool_t AliPerformanceTPC::fgUseMergeTHnSparse = kFALSE;

//_____________________________________________________________________________
AliPerformanceTPC::AliPerformanceTPC(TRootIOCtor*):
  AliPerformanceObject(),
  fTPCClustHisto(0),
  fTPCEventHisto(0),
  fTPCTrackHisto(0),
  fFolderObj(0),

  // histogram folder
  fAnalysisFolder(0),
  fUseHLT(kFALSE),
  h_tpc_clust_0_1_2(NULL),
  h_tpc_event_recvertex_0(NULL),
  h_tpc_event_recvertex_1(NULL),
  h_tpc_event_recvertex_2(NULL),
  h_tpc_event_recvertex_3(NULL),
  h_tpc_event_recvertex_4(NULL),
  h_tpc_event_recvertex_5(NULL),
  h_tpc_event_6(NULL),
  h_tpc_track_pos_recvertex_2_5_6(NULL),
  h_tpc_track_neg_recvertex_2_5_6(NULL),
  h_tpc_track_all_recvertex_5_8(NULL),
  h_tpc_track_all_recvertex_0_5_7(NULL),
  h_tpc_track_pos_recvertex_0_5_7(NULL),
  h_tpc_track_neg_recvertex_0_5_7(NULL),
  h_tpc_track_all_recvertex_1_5_7(NULL),
  h_tpc_track_all_recvertex_2_5_7(NULL),
  h_tpc_track_all_recvertex_3_5_7(NULL),
  h_tpc_track_pos_recvertex_3_5_7(NULL),
  h_tpc_track_neg_recvertex_3_5_7(NULL),
  h_tpc_track_all_recvertex_4_5_7(NULL),
  h_tpc_track_pos_recvertex_4_5_7(NULL),
  h_tpc_track_neg_recvertex_4_5_7(NULL),
  h_tpc_track_pos_recvertex_3_5_6(NULL),
  h_tpc_track_pos_recvertex_4_5_6(NULL),
  h_tpc_track_neg_recvertex_3_5_6(NULL),
  h_tpc_track_neg_recvertex_4_5_6(NULL)
{
  // io ctor
    fMult = 0;
    fMultP = 0;
    fMultN = 0;
}

//_____________________________________________________________________________
AliPerformanceTPC::AliPerformanceTPC(const Char_t* name, const Char_t* title,Int_t analysisMode,Bool_t hptGenerator, Int_t run, Bool_t highMult, Bool_t useSparse):
  AliPerformanceObject(name,title,run,highMult),
  fTPCClustHisto(0),
  fTPCEventHisto(0),
  fTPCTrackHisto(0),
  fFolderObj(0),

  // histogram folder 
  fAnalysisFolder(0),
  fUseHLT(kFALSE),
  h_tpc_clust_0_1_2(NULL),
  h_tpc_event_recvertex_0(NULL),
  h_tpc_event_recvertex_1(NULL),
  h_tpc_event_recvertex_2(NULL),
  h_tpc_event_recvertex_3(NULL),
  h_tpc_event_recvertex_4(NULL),
  h_tpc_event_recvertex_5(NULL),
  h_tpc_event_6(NULL),
  h_tpc_track_pos_recvertex_2_5_6(NULL),
  h_tpc_track_neg_recvertex_2_5_6(NULL),
  h_tpc_track_all_recvertex_5_8(NULL),
  h_tpc_track_all_recvertex_0_5_7(NULL),
  h_tpc_track_pos_recvertex_0_5_7(NULL),
  h_tpc_track_neg_recvertex_0_5_7(NULL),
{'fraction_non_alphanumeric': 0.1391941391941392, 'fraction_numerical': 0.027315541601255888, 'mean_word_length': 5.055766793409379, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5807559', 'n_tokens_mistral': 3872, 'n_tokens_neox': 3725, 'n_words': 585}