FairRoot/PandaRoot
tutorials/anatask/PndSoftTriggerTask.h
Go to the documentation of this file.
1 #ifndef PndSoftTriggerTask_H
2 #define PndSoftTriggerTask_H 1
3 
4 
5 #include "FairTask.h"
6 #include <map>
7 #include <string>
8 
9 class TClonesArray;
10 class TObjectArray;
11 class TH1F;
12 class TH2F;
13 
15 class PndAnalysis;
16 class RhoCandList;
17 class TStopwatch;
18 class RhoTuple;
19 
20 
21 class PndSoftTriggerTask : public FairTask
22 {
23 
24  public:
25  typedef std::map<Int_t, Float_t> mapper;
26 
29 
30 
33 
34 
36  virtual InitStatus Init();
37 
38 
40  virtual void Exec(Option_t* opt);
41 
42  virtual void Finish();
43  //void CreateStructure();
44 
45  protected:
46 
47  int evcount;
49 
50  // counter for accepted events
51  int cntsel;
52 
53  int cntjpsi;
54  int cntd0;
55  int cntdpm;
56  int cntds;
57  int cntphi;
58  int cntlamc;
59 
60 
61  // **** mass selectors for the resonances/composites
62  //
63 
64  private:
65 
66  void FillMassHisto(TH1F* h, RhoCandList &l);
68  void PrintList(RhoCandList &l, int max=10);
69  int RemoveDoubles(RhoCandList &l, double limit=0.0001);
70  void SelectPid(int type, int pdg, int chrg, RhoCandList &l, RhoCandList &lpid, double cut=0.2);
71  void ConfigureHistos(TH1F *hall, TH1F *htrue, TH1F *hsel);
72 
74  TH1F *h_mom;
75  TH1F *h_momc;
76  TH1F *h_momn;
77  TH1F *h_mult;
78  TH1F *h_multc;
79  TH1F *h_multn;
80  TH1F *h_multrem;
81 
82  // *** J/psi histos
83  TH1F *h_jpsi; // all J/psi combis
84  TH1F *h_jpsit; // J/psi combis w/ truth match
85  TH1F *h_jpsisel; // selected J/psi combis
86 
87  // *** D0 histos
88  TH1F *h_d0;
89  TH1F *h_d0t;
90  TH1F *h_d0sel;
91 
92  TH1F *h_d0_pocx;
93  TH1F *h_d0_pocy;
94  TH1F *h_d0_pocz;
95 
96  TH1F *h_d0_pocxm;
97  TH1F *h_d0_pocym;
98  TH1F *h_d0_poczm;
99 
100  TH1F *h_d0_l;
101  TH1F *h_d0_lm;
102 
103  // *** D+ histos
104  TH1F *h_dpm;
105  TH1F *h_dpmt;
106  TH1F *h_dpmsel;
107 
108  // *** Ds histos
109  TH1F *h_ds;
110  TH1F *h_dst;
111  TH1F *h_dssel;
112 
113  // *** Phi histos
114  TH1F *h_phi;
115  TH1F *h_phit;
116  TH1F *h_phisel;
117 
118  // *** Lambda_c histos
119  TH1F *h_lamc;
120  TH1F *h_lamct;
121  TH1F *h_lamcsel;
122 
123 
124  RhoTuple *ntp;
126 
127 /* TH1F *hjpsimass;
128  TH1F *hpsimass;*/
129 
131  TStopwatch *timer;
132 
134  virtual void SetParContainers();
135 
136 
138 
139 };
140 
141 #endif
std::map< Int_t, Float_t > mapper
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition: P4_F32vec4.h:26
virtual void Exec(Option_t *opt)
double cut[MAX]
Definition: autocutx.C:36
ClassDef(PndSoftTriggerTask, 1)
void ConfigureHistos(TH1F *hall, TH1F *htrue, TH1F *hsel)
void PrintList(RhoCandList &l, int max=10)
void FillMassHisto(TH1F *h, RhoCandList &l)
int RemoveDoubles(RhoCandList &l, double limit=0.0001)
void SelectPid(int type, int pdg, int chrg, RhoCandList &l, RhoCandList &lpid, double cut=0.2)
int SelectPdgCode(RhoCandList &mct, RhoCandList &l)
double limit
Definition: dedx_bands.C:18