Update (Andrea)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliNormalizationCounter.h
CommitLineData
27de2dfb 1#ifndef ALINORMALIZATIONCOUNTER_H
2#define ALINORMALIZATIONCOUNTER_H
3
e0fdfa52 4/**************************************************************************
5 * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
6 * *
7 * Author: The ALICE Off-line Project. *
8 * Contributors are mentioned in the code where appropriate. *
9 * *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
18
27de2dfb 19/* $Id$ */
20
e0fdfa52 21//*************************************************************************
22// Class AliNormalizationCounter
23// Class to store the informations relevant for the normalization in the
24// barrel for each run
25// Authors: G. Ortona, ortona@to.infn.it
26// D. Caffarri, davide.caffarri@pd.to.infn.it
27// with many thanks to P. Pillot
28/////////////////////////////////////////////////////////////
29
a96083b9 30#include <TROOT.h>
31#include <TSystem.h>
32#include <TNtuple.h>
33#include <TH1F.h>
e0fdfa52 34#include <TH2F.h>
a96083b9 35#include <TH1D.h>
36#include <AliESDEvent.h>
37#include <AliESDtrack.h>
38#include <AliAODTrack.h>
39#include <AliAODEvent.h>
40#include <AliVParticle.h>
41#include "AliAnalysisTaskSE.h"
42#include "AliCounterCollection.h"
e0fdfa52 43#include "AliAnalysisDataSlot.h"
44#include "AliAnalysisDataContainer.h"
1879baec 45#include "AliRDHFCuts.h"
a96083b9 46//#include "AliAnalysisVertexingHF.h"
47
e0fdfa52 48class AliNormalizationCounter : public TNamed
a96083b9 49{
50 public:
51
52 AliNormalizationCounter();
53 AliNormalizationCounter(const char *name);
54 virtual ~AliNormalizationCounter();
e0fdfa52 55 Long64_t Merge(TCollection* list);
a96083b9 56
e0fdfa52 57 AliCounterCollection* GetCounter(){return &fCounters;}
58 void Add(const AliNormalizationCounter*);
a96083b9 59 void SetESD(Bool_t flag){fESD=flag;}
1879baec 60 void StoreEvent(AliVEvent*,AliRDHFCuts *,Bool_t mc=kFALSE);
a96083b9 61 void StoreCandidates(AliVEvent*, Int_t nCand=0,Bool_t flagFilter=kTRUE);
e0fdfa52 62 TH1D* DrawAgainstRuns(TString candle="candid(filter)",Bool_t drawHist=kTRUE);
63 TH1D* DrawRatio(TString candle1="candid(filter)",TString candle2="triggered");
64 void PrintRubrics();
65 Double_t GetSum(TString candle="triggered");
66 TH2F* GetHist(Bool_t filtercuts=kTRUE,Bool_t spdtracklets=kTRUE,Bool_t drawHist=kFALSE);
1879baec 67 Double_t GetNEventsForNorm();
68 Double_t GetNEventsForNorm(Int_t runnumber);
fc9bad91 69 TH1D* DrawNEventsForNorm(Bool_t drawRatio=kFALSE);
de1b82ff 70
a96083b9 71 private:
72 AliNormalizationCounter(const AliNormalizationCounter &source);
73 AliNormalizationCounter& operator=(const AliNormalizationCounter& source);
e0fdfa52 74 AliCounterCollection fCounters; //internal counter
a96083b9 75 Bool_t fESD; //flag for ESD vs AOD
e0fdfa52 76 TH2F *fHistTrackFilterEvMult; //hist to store no of filter candidates vs no of tracks in the event
77 TH2F *fHistTrackAnaEvMult;//hist to store no of analysis candidates vs no of tracks in the event
78 TH2F *fHistTrackFilterSpdMult; //hist to store no of filter candidates vs SPD multiplicity
79 TH2F *fHistTrackAnaSpdMult;//hist to store no of analysis candidates vs SPD multiplicity
a96083b9 80
1879baec 81 ClassDef(AliNormalizationCounter,4);
a96083b9 82
83};
84#endif