]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/FLOW/Base/AliFlowEventStar.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / FLOW / Base / AliFlowEventStar.cxx
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /*****************************************************************
17   AliFlowEventStar: Event container for flow analysis
18
19   origin:   Mikolaj Krzewicki  (mikolaj.krzewicki@cern.ch)
20 *****************************************************************/
21
22 #include "Riostream.h"
23 #include "AliFlowEventSimple.h"
24 #include "AliFlowTrackSimple.h"
25 #include "AliStarTrack.h"
26 #include "AliStarTrackCuts.h"
27 #include "AliStarEvent.h"
28 #include "AliFlowEventStar.h"
29
30 using std::cout;
31 using std::endl;
32 ClassImp(AliFlowEventStar)
33
34 //-----------------------------------------------------------------------
35
36 AliFlowEventStar::AliFlowEventStar():
37   AliFlowEventSimple()
38 {
39   //ctor
40   cout << "AliFlowEventStar: Default constructor to be used only by root for io" << endl;
41 }
42
43 //-----------------------------------------------------------------------
44 AliFlowEventStar::AliFlowEventStar(const AliFlowEventStar& event):
45   AliFlowEventSimple(event)
46 {
47   //cpy ctor
48 }
49
50 //-----------------------------------------------------------------------
51 AliFlowEventStar& AliFlowEventStar::operator=( const AliFlowEventStar& event )
52 {
53   //assignment operator
54   AliFlowEventSimple::operator=(event);
55   return *this;
56 }
57
58 //-----------------------------------------------------------------------
59 AliFlowEventStar::AliFlowEventStar( const AliStarEvent* starevent,
60                                     const AliStarTrackCuts* rpCuts,
61                                     const AliStarTrackCuts* poiCuts ):
62   AliFlowEventSimple(starevent->GetNumberOfTracks())
63 {
64   //construct from a star event
65   SetReferenceMultiplicity(starevent->GetRefMult());
66   for (Int_t i=0; i<starevent->GetNumberOfTracks(); i++)
67   {
68     const AliStarTrack* startrack = starevent->GetTrack(i);
69     if (!startrack) continue;
70     AliFlowTrackSimple* flowtrack = new AliFlowTrackSimple();
71     flowtrack->SetPhi(startrack->GetPhi());
72     flowtrack->SetEta(startrack->GetEta());
73     flowtrack->SetPt(startrack->GetPt());
74     flowtrack->SetCharge(startrack->GetCharge());
75     if (rpCuts)
76     {
77       Bool_t pass = rpCuts->PassesCuts(startrack);
78       flowtrack->TagRP(pass); //tag RPs
79       if (pass) IncrementNumberOfPOIs(0);
80     }
81     if (poiCuts)
82     {
83       flowtrack->TagPOI(poiCuts->PassesCuts(startrack)); //tag POIs
84     }
85     AddTrack(flowtrack);
86   }
87 }