]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AliNormalizationCounter.h
Adding Id to PWG3 classes for better tracking of the coverity defect fixes (Ivana)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliNormalizationCounter.h
1 #ifndef ALINORMALIZATIONCOUNTER_H
2 #define ALINORMALIZATIONCOUNTER_H
3
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
19 /* $Id$ */ 
20
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
30 #include <TROOT.h>
31 #include <TSystem.h>
32 #include <TNtuple.h>
33 #include <TH1F.h>
34 #include <TH2F.h>
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"
43 #include "AliAnalysisDataSlot.h"
44 #include "AliAnalysisDataContainer.h"
45 //#include "AliAnalysisVertexingHF.h"
46
47 class AliNormalizationCounter : public TNamed
48 {
49  public:
50
51   AliNormalizationCounter();
52   AliNormalizationCounter(const char *name);
53   virtual ~AliNormalizationCounter();
54   Long64_t Merge(TCollection* list);
55
56   AliCounterCollection* GetCounter(){return &fCounters;}
57   void Add(const AliNormalizationCounter*);
58   void SetESD(Bool_t flag){fESD=flag;}
59   void StoreEvent(AliVEvent*,Bool_t mc=kFALSE);
60   void StoreCandidates(AliVEvent*, Int_t nCand=0,Bool_t flagFilter=kTRUE);
61   TH1D* DrawAgainstRuns(TString candle="candid(filter)",Bool_t drawHist=kTRUE);
62   TH1D* DrawRatio(TString candle1="candid(filter)",TString candle2="triggered");
63   void PrintRubrics();
64   Double_t GetSum(TString candle="triggered");
65   Bool_t GetRejectPileUp(){return fRejectPileUp;}
66   void SetRejectPileUp(Int_t reject=kTRUE){fRejectPileUp=reject;}
67   TH2F* GetHist(Bool_t filtercuts=kTRUE,Bool_t spdtracklets=kTRUE,Bool_t drawHist=kFALSE);
68
69  private:
70   AliNormalizationCounter(const AliNormalizationCounter &source);
71   AliNormalizationCounter& operator=(const AliNormalizationCounter& source);
72   AliCounterCollection fCounters; //internal counter
73   Bool_t fESD; //flag for ESD vs AOD
74   Int_t fRejectPileUp; //flag to reject candles in pile up events
75   TH2F *fHistTrackFilterEvMult; //hist to store no of filter candidates vs no of tracks in the event 
76   TH2F *fHistTrackAnaEvMult;//hist to store no of analysis candidates vs no of tracks in the event 
77   TH2F *fHistTrackFilterSpdMult; //hist to store no of filter candidates vs  SPD multiplicity 
78   TH2F *fHistTrackAnaSpdMult;//hist to store no of analysis candidates vs SPD multiplicity 
79
80   ClassDef(AliNormalizationCounter,3);
81
82 };
83 #endif